סערווער אַנאַליטיקס סיסטעמען

דאס איז דער צווייטער טייל פון א סעריע ארטיקלען וועגן אנאליטישע סיסטעמען (לינק צו טייל 1).

סערווער אַנאַליטיקס סיסטעמען

הייַנט עס איז ניט מער קיין צווייפל אַז אָפּגעהיט דאַטן פּראַסעסינג און ינטערפּריטיישאַן פון רעזולטאַטן קענען העלפֿן כּמעט קיין טיפּ פון געשעפט. אין דעם אַכטונג, אַנאַליסיס סיסטעמען ווערן ינקריסינגלי לאָודיד מיט פּאַראַמעטערס, און די נומער פון טריגערז און באַניצער געשעענישן אין אַפּלאַקיישאַנז איז גראָוינג.
ווייַל פון דעם, קאָמפּאַניעס געבן זייער אַנאַליס מער און מער רוי אינפֿאָרמאַציע צו אַנאַלייז און ווענדן אין געזונט דיסיזשאַנז. די וויכטיקייט פון אַן אַנאַליסיס סיסטעם פֿאַר אַ פירמע זאָל נישט זיין אַנדערעסטאַמייטיד, און די סיסטעם זיך מוזן זיין פאַרלאָזלעך און סטאַביל.

קליענט אַנאַליס

קונה אַנאַליטיקס איז אַ סערוויס וואָס אַ פירמע קאַנעקץ צו זיין וועבזייטל אָדער אַפּלאַקיישאַן דורך דער באַאַמטער SDK, ינטאַגרייץ אין זיין אייגענע קאָדבאַסע און סאַלעקץ געשעעניש טריגערז. עס איז אַ קלאָר ווי דער טאָג דאַונסייד צו דעם צוגאַנג: אַלע די געזאמלט דאַטן קען נישט זיין פּראַסעסט פּונקט ווי איר וואָלט ווי רעכט צו די לימיטיישאַנז פון קיין סערוויס איר קלייַבן. פֿאַר בייַשפּיל, אויף איין סיסטעם עס וועט נישט זיין גרינג צו לויפן MapReduce טאַסקס, אויף אנדערן איר וועט נישט קענען צו לויפן דיין מאָדעל. אן אנדער כיסאָרן איז די רעגולער (ימפּרעסיוו) רעכענונג פֿאַר סערוויסעס.
עס זענען פילע קונה אַנאַליטיקס סאַלושאַנז אויף די מאַרק, אָבער גיכער אָדער שפּעטער אַנאַליס זענען פייסט מיט די פאַקט אַז עס איז קיין איין וניווערסאַל דינסט פּאַסיק פֿאַר יעדער אַרבעט (בשעת די פּרייסאַז פֿאַר אַלע די באַדינונגס זענען רייזינג אַלע די צייַט). אין אַזאַ אַ סיטואַציע, קאָמפּאַניעס אָפט באַשליסן צו שאַפֿן זייער אייגענע אַנאַליטיקס סיסטעם מיט אַלע די נייטיק קאַסטאַמייזד סעטטינגס און קייפּאַבילאַטיז.

סערווירער אַנאַליס

סערווער-זייַט אַנאַליטיקס איז אַ סערוויס וואָס קענען זיין דיפּלויד אין אַ פירמע אויף זיין אייגענע סערווערס און (יוזשאַוואַלי) מיט זיין אייגענע השתדלות. אין דעם מאָדעל, אַלע באַניצער געשעענישן זענען סטאָרד אויף ינערלעך סערווערס, אַלאַוינג דעוועלאָפּערס צו פּרובירן פאַרשידענע סטאָרידזש דאַטאַבייסיז און קלייַבן די מערסט באַקוועם אַרקאַטעקטשער. און אפילו אויב איר נאָך ווילן צו נוצן דריט-פּאַרטיי קליענט אַנאַליטיקס פֿאַר עטלעכע טאַסקס, עס וועט נאָך זיין מעגלעך.
סערווער-זייַט אַנאַליטיקס קענען זיין דיפּלויד אין צוויי וועגן. ערשטער: קלייַבן עטלעכע אָפֿן מקור יוטילאַטיז, צעוויקלען זיי אויף דיין מאשינען און אַנטוויקלען געשעפט לאָגיק.

פּראָס
קאָנס

איר קענען קאַסטאַמייז אַלץ איר ווילט
דאָס איז אָפט זייער שווער און ריקווייערז באַזונדער דעוועלאָפּערס

רגע: נעמען סאַאַס באַדינונגס (אַמאַזאָן, Google, Azure) אַנשטאָט פון דיפּלויינג עס זיך. מיר וועלן רעדן וועגן SaaS אין מער דעטאַל אין די דריט טייל.

פּראָס
קאָנס

עס קען זיין טשיפּער אין מיטל וואַליומז, אָבער מיט גרויס וווּקס עס וועט נאָך ווערן צו טייַער
עס וועט ניט זיין מעגלעך צו קאָנטראָלירן אַלע פּאַראַמעטערס

אַדמיניסטראַציע איז לעגאַמרע טראַנספערד צו די פּלייצעס פון די סערוויס שפּייַזער
עס איז ניט שטענדיק באַוווסט וואָס איז ין דער דינסט (עס קען נישט זיין דארף)

ווי צו זאַמלען סערווער אַנאַליטיקס

אויב מיר ווילן צו מאַך אַוועק פון ניצן קליענט אַנאַליטיקס און בויען אונדזער אייגענע, ערשטער פון אַלע, מיר דאַרפֿן צו טראַכטן דורך די אַרקאַטעקטשער פון די נייַע סיסטעם. ונטער איך וועט זאָגן איר שריט דורך שריט וואָס איר דאַרפֿן צו באַטראַכטן, וואָס יעדער שריט איז דארף און וואָס מכשירים איר קענען נוצן.

1. ריסיווינג דאַטן

פּונקט ווי אין דעם פאַל פון קונה אַנאַליטיקס, ערשטער פון אַלע, פירמע אַנאַליס אויסקלייַבן די טייפּס פון געשעענישן וואָס זיי ווילן צו לערנען אין דער צוקונפֿט און קלייַבן זיי אין אַ רשימה. טיפּיקאַללי, די געשעענישן פאַלן אין אַ ספּעציפיש סדר, גערופן אַ "געשעעניש מוסטער."
ווייַטער, ימאַדזשאַן אַז אַ רירעוודיק אַפּלאַקיישאַן (וועבזייטל) האט רעגולער ניצערס (דיווייסיז) און פילע סערווערס. צו סיקיורלי אַריבערפירן געשעענישן פון דעוויסעס צו סערווערס, אַ ינטערמידייט שיכטע איז דארף. דעפּענדינג אויף די אַרקאַטעקטשער, עס קען זיין עטלעכע פאַרשידענע געשעעניש קיוז.
אַפּאַטשי קאַפקאַ - איז שענק / סאַב ריי, וואָס איז געניצט ווי אַ ריי פֿאַר קאַלעקטינג געשעענישן.

לויט פּאָסטן אויף Quora אין 2014, דער באשעפער פון Apache Kafka באַשלאָסן צו נאָמען די ווייכווארג נאָך Franz Kafka ווייַל "עס איז אַ סיסטעם אָפּטימיזעד פֿאַר שרייבן" און ווייַל ער ליב געהאט Kafka ס ווערק. — וויקיפּעדיע

אין אונדזער בייַשפּיל, עס זענען פילע דאַטן פּראָדוסערס און דאַטן קאָנסומערס (דיווייסיז און סערווערס), און קאַפקאַ העלפּס צו פאַרבינדן זיי צו יעדער אנדערער. קאָנסומערס וועט זיין דיסקרייבד אין מער דעטאַל אין די פאלגענדע סטעפּס, ווו זיי וועלן זיין די הויפּט סאַבדזשעקץ. איצט מיר וועלן באַטראַכטן בלויז דאַטן פּראָדוסערס (געשעענישן).
קאַפקאַ ענקאַפּסאַלייץ די קאַנסעפּס פון ריי און צעטיילונג; עס איז בעסער צו לייענען מער ספּאַסיפיקלי וועגן דעם אנדערש (למשל, אין דאַקיומענטיישאַן). אָן גיין אין דעטאַילס, לאָזן אונדז ימאַדזשאַן אַז אַ רירעוודיק אַפּלאַקיישאַן איז לאָנטשט פֿאַר צוויי פאַרשידענע אָסעס. דערנאָך יעדער ווערסיע קריייץ זיין אייגענע באַזונדער געשעעניש טייַך. פּראָדוסערס שיקן געשעענישן צו קאַפקאַ, זיי זענען רעקאָרדעד אין אַ פּאַסיק ריי.
סערווער אַנאַליטיקס סיסטעמען
(בילד פונ דאַנעט)

אין דער זעלביקער צייט, Kafka אַלאַוז איר צו לייענען אין טשאַנגקס און פּראָצעס אַ טייַך פון געשעענישן אין מיני-באַטשאַז. Kafka איז אַ זייער באַקוועם געצייַג וואָס וואָג געזונט מיט גראָוינג באדערפענישן (למשל דורך געאָלאָקאַטיאָן פון געשעענישן).
יוזשאַוואַלי איין שאַרד איז גענוג, אָבער די זאכן ווערן מער קאָמפּליצירט ווען סקיילינג (ווי זיי שטענדיק טאָן). מיסטאָמע קיין איינער וועט וועלן צו נוצן בלויז איין פיזיש שאַרד אין פּראָדוקציע, ווייַל די אַרקאַטעקטשער מוזן זיין שולד-טאָלעראַנט. אין אַדישאַן צו קאַפקאַ, עס איז אן אנדער באַוווסט לייזונג - RabbitMQ. מיר האָבן נישט נוצן עס אין פּראָדוקציע ווי אַ ריי פֿאַר געשעעניש אַנאַליטיקס (אויב איר האָט אַזאַ דערפאַרונג, דערציילן אונדז וועגן אים אין די באַמערקונגען!). אָבער, מיר געוויינט AWS Kinesis.

איידער איר מאַך אויף צו דער ווייַטער שריט, מיר דאַרפֿן צו דערמאָנען נאָך אַ נאָך שיכטע פון ​​די סיסטעם - רוי קלאָץ סטאָרידזש. דאָס איז נישט אַ פארלאנגט שיכטע, אָבער עס וועט זיין נוציק אויב עפּעס גייט פאַלש און די געשעעניש קיוז אין Kafka זענען באַשטעטיק. סטאָרינג רוי לאָגס טוט נישט דאַרפן אַ קאָמפּלעקס און טייַער לייזונג; איר קענען פשוט שרייַבן זיי ערגעץ אין די ריכטיק סדר (אפילו אויף אַ שווער פאָר).
סערווער אַנאַליטיקס סיסטעמען

2. פּראַסעסינג געשעעניש סטרימז

נאָך מיר האָבן צוגעגרייט אַלע די געשעענישן און שטעלן זיי אין די צונעמען קיוז, מיר מאַך אויף צו די פּראַסעסינג שריט. דאָ איך וועט זאָגן איר וועגן די צוויי מערסט פּראָסט פּראַסעסינג אָפּציעס.
דער ערשטער אָפּציע איז צו געבן Spark Streaming אין די אַפּאַטשי סיסטעם. כל אַפּאַטשי פּראָדוקטן לעבן אויף HDFS, אַ זיכער טעקע סיסטעם מיט טעקע רעפּלאַקאַז. Spark Streaming איז אַן גרינג-צו-נוצן געצייַג וואָס כאַנדאַלז סטרימינג דאַטן און וואָג געזונט. אָבער, עס קען זיין שווער צו טייַנען.
אן אנדער אָפּציע איז צו בויען דיין אייגענע געשעעניש האַנדלער. צו טאָן דאָס, איר דאַרפֿן, למשל, צו שרייַבן אַ פּיטהאָן אַפּלאַקיישאַן, בויען עס אין דאָקקער און אַבאָנירן צו די קאַפקאַ ריי. ווען טריגערז אָנקומען צו די דאָקקער האַנדלערס, פּראַסעסינג וועט אָנהייבן. מיט דעם אופֿן, איר דאַרפֿן צו האַלטן אַפּלאַקיישאַנז פליסנדיק אין אַלע צייט.
זאל ס יבערנעמען אַז מיר האָבן אויסדערוויילט איינער פון די אָפּציעס דיסקרייבד אויבן און מאַך אויף צו די פּראַסעסינג זיך. פּראַסעסערז זאָל אָנהייבן דורך קאָנטראָלירן די גילטיקייַט פון די דאַטן, פילטערינג מיסט און "צעבראכן" געשעענישן. פֿאַר וואַלאַדיישאַן מיר יוזשאַוואַלי נוצן סערבערוס. נאָך דעם, איר קענען מאַכן דאַטן מאַפּינג: דאַטן פון פאַרשידענע קוואלן זענען נאָרמאַלייזד און סטאַנדערדייזד צו זיין מוסיף צו אַ פּראָסט טיש.
סערווער אַנאַליטיקס סיסטעמען

3. דאַטאַבאַסע

די דריט שריט איז צו האַלטן נאָרמאַליזעד געשעענישן. ווען ארבעטן מיט אַ פאַרטיק אַנאַליסיס סיסטעם, מיר וועלן האָבן צו אַקסעס זיי אָפט, אַזוי עס איז וויכטיק צו קלייַבן אַ באַקוועם דאַטאַבייס.
אויב די דאַטן פיץ געזונט אין אַ פאַרפעסטיקט סכעמע, איר קענען קלייַבן קליקכאָוסע אָדער עטלעכע אנדערע קאָלומנער דאַטאַבייס. דעם וועג די אַגגרעגאַטיאָנס וועט אַרבעטן זייער געשווינד. די דאַונסייד איז אַז די סכעמע איז שטרענג פאַרפעסטיקט און דעריבער עס וועט ניט זיין מעגלעך צו לייגן אַרביטראַריש אַבדזשעקץ אָן מאָדיפיקאַטיאָן (למשל, ווען אַ ניט-נאָרמאַל געשעעניש אַקערז). אבער איר קענען ציילן טאַקע זייער געשווינד.
פֿאַר אַנסטראַקטשערד דאַטן, איר קענען נעמען NoSQL, למשל, אַפּאַטשי קאַסאַנדראַ. עס לויפט אויף HDFS, רעפּליקייץ געזונט, איר קענען כאַפּן פילע ינסטאַנסיז און איז שולד-טאָלעראַנט.
איר קענען אויך כאַפּן עפּעס סימפּלער, למשל, מאָנגאָדב. עס איז גאַנץ פּאַמעלעך און פֿאַר קליין וואַליומז. אבער די פּלוס איז אַז עס איז זייער פּשוט און דעריבער פּאַסיק פֿאַר סטאַרטינג.
סערווער אַנאַליטיקס סיסטעמען

4. אַגגרעגאַטיאָנס

ווייל קערפאַלי געראטעוועט אַלע די געשעענישן, מיר וועלן צו זאַמלען אַלע די וויכטיק אינפֿאָרמאַציע פון ​​די פּעקל וואָס איז אנגעקומען און דערהייַנטיקן די דאַטאַבייס. גלאָובאַלי, מיר ווילן צו באַקומען באַטייַטיק דאַשבאָרדז און מעטריקס. פֿאַר בייַשפּיל, קלייַבן אַ באַניצער פּראָפיל פון געשעענישן און עפעס מעסטן נאַטור. געשעענישן זענען געזאמלט, געזאמלט און געראטעוועט ווידער (אין באַניצער טישן). אין דער זעלביקער צייט, איר קענען בויען אַ סיסטעם אַזוי אַז איר קענען אויך פאַרבינדן אַ פילטער צו די אַגגרעגאַטאָר קאָאָרדינאַטאָר: קלייַבן ניצערס בלויז פֿון אַ זיכער טיפּ פון געשעעניש.
נאָך דעם, אויב עמעצער אין די מאַנשאַפֿט נאָר דאַרף הויך-מדרגה אַנאַליטיקס, פונדרויסנדיק אַנאַליטיקס סיסטעמען קענען זיין קאָננעקטעד. איר קענען נעמען Mixpanel ווידער. אָבער זינט עס איז גאַנץ טייַער, ניט אַלע באַניצער געשעענישן זענען געשיקט דאָרט, אָבער בלויז וואָס איז דארף. צו טאָן דאָס, מיר דאַרפֿן צו שאַפֿן אַ קאָאָרדינאַטאָר וואָס וועט אַריבערפירן עטלעכע רוי געשעענישן אָדער עפּעס וואָס מיר זיך אַגראַגייטאַד פריער צו פונדרויסנדיק סיסטעמען, אַפּיס אָדער גאַנצע פּלאַטפאָרמס.
סערווער אַנאַליטיקס סיסטעמען

5. פראָנטענד

איר דאַרפֿן צו פאַרבינדן די פראָנטענד צו די באשאפן סיסטעם. א גוט בייַשפּיל איז דינסט רעדאַש, איז אַ דייטאַבייס GUI וואָס העלפּס בויען דאַשבאָרדז. ווי די ינטעראַקשאַן אַרבעט:

  1. דער באַניצער מאכט אַ SQL אָנפֿרעג.
  2. אין ענטפער ער באקומט אַ צייכן.
  3. עס קריייץ אַ 'נייַ וויזשוואַלאַזיישאַן' פֿאַר עס און באַקומען אַ שיין גראַפיק אַז איר קענען ראַטעווען פֿאַר זיך.

וויסואַליזאַטיאָנס אין די סערוויס זענען אָטאַמאַטיק אַפּדייטינג, איר קענען קאַסטאַמייז און שפּור דיין מאָניטאָרינג. רעדאַש איז פריי אויב זיך-כאָוסטיד, אָבער ווי סאַאַס עס וועט קאָסטן $ 50 פּער חודש.
סערווער אַנאַליטיקס סיסטעמען

סאָף

נאָך קאַמפּליטינג אַלע די סטעפּס אויבן, איר וועט מאַכן דיין סערווער אַנאַליטיקס. ביטע טאָן אַז דאָס איז נישט אַזוי פּשוט ווי נאָר קאַנעקטינג קונה אַנאַליטיקס, ווייַל אַלץ דאַרף זיין קאַנפיגיערד זיך. דעריבער, איידער איר שאַפֿן דיין אייגענע סיסטעם, עס איז ווערט צו פאַרגלייַכן די נויט פֿאַר אַ ערנסט אַנאַליטיקס סיסטעם מיט די רעסורסן וואָס איר זענט גרייט צו אַלאַקייט צו עס.
אויב איר האָט דורכגעקאָכט די מאַט און געפֿונען אַז די קאָס זענען צו הויך, אין דער ווייַטער טייל איך וועט רעדן וועגן ווי צו מאַכן אַ טשיפּער ווערסיע פון ​​​​די סערווער זייַט אַנאַליטיקס.

דאַנקען פֿאַר לייענען! איך וועל זיין צופרידן צו פרעגן שאלות אין די באַמערקונגען.

מקור: www.habr.com

לייגן אַ באַמערקונג