سرور اينالائيٽڪس سسٽم

هي تجزياتي نظام بابت مضمونن جي هڪ سيريز جو ٻيو حصو آهي (حصو 1 سان ڳنڍيو).

سرور اينالائيٽڪس سسٽم

اڄ ڪو به شڪ ناهي ته محتاط ڊيٽا پروسيسنگ ۽ نتيجن جي تشريح تقريبن ڪنهن به قسم جي ڪاروبار ۾ مدد ڪري سگهي ٿي. انهي سلسلي ۾، تجزياتي نظام تيزيء سان لوڊ ٿي رهيا آهن پيٽرولن سان، ۽ ايپليڪيشنن ۾ ٽارگيٽ ۽ صارف جي واقعن جو تعداد وڌي رهيو آهي.
انهي جي ڪري، ڪمپنيون پنهنجن تجزيه نگارن کي وڌيڪ ۽ وڌيڪ خام معلومات ڏئي رهيا آهن تجزيو ڪرڻ ۽ صحيح فيصلا ڪرڻ ۾. هڪ ڪمپني لاءِ تجزياتي نظام جي اهميت کي گهٽ نه سمجهيو وڃي، ۽ سسٽم پاڻ کي قابل اعتماد ۽ مستحڪم هجڻ گهرجي.

ڪلائنٽ تجزيه نگار

ڪسٽمر اينالائيٽڪس هڪ خدمت آهي جيڪا هڪ ڪمپني پنهنجي ويب سائيٽ يا ايپليڪيشن سان سرڪاري SDK ذريعي ڳنڍي ٿي، ان جي پنهنجي ڪوڊ بيس ۾ ضم ٿي ۽ ايونٽ ٽريگرز چونڊي ٿي. ھن طريقي جي ھڪڙي پڌري خرابي آھي: گڏ ڪيل سڀني ڊيٽا تي عمل نه ٿي سگھي جيئن توھان چاھيو ٿا ڪنھن خدمت جي حدن جي ڪري جيڪو توھان چونڊيو ٿا. مثال طور، هڪ سسٽم تي MapReduce ڪمن کي هلائڻ آسان نه هوندو، ٻئي تي توهان پنهنجي ماڊل کي هلائڻ جي قابل نه هوندا. ٻيو نقصان ٿيندو باقاعده (متاثر ڪندڙ) بل سروسز لاءِ.
مارڪيٽ تي ڪيترائي گراهڪ تجزياتي حل آهن، پر جلدي يا بعد ۾ تجزيه نگارن کي ان حقيقت سان منهن ڏيڻو پوي ٿو ته هر ڪم لاءِ ڪا به هڪ آفاقي خدمت مناسب ناهي (جڏهن ته انهن سڀني خدمتن جي قيمتون هر وقت وڌي رهيون آهن). اهڙي صورتحال ۾، ڪمپنيون اڪثر ڪري سڀني ضروري ڪسٽم سيٽنگون ۽ صلاحيتن سان گڏ پنهنجو اينالائيٽڪس سسٽم ٺاهڻ جو فيصلو ڪن ٿيون.

سرور تجزيه نگار

سرور-سائيڊ اينالائيٽڪس هڪ خدمت آهي جيڪا هڪ ڪمپني جي اندر ان جي پنهنجي سرور تي ۽ (عام طور تي) پنهنجي ڪوششن سان ترتيب ڏئي سگهجي ٿي. هن ماڊل ۾، سڀئي صارف واقعا اندروني سرورز تي ذخيرو ٿيل آهن، ڊولپرز کي مختلف اسٽوريج ڊيٽابيس جي ڪوشش ڪرڻ ۽ سڀ کان وڌيڪ آسان فن تعمير کي چونڊڻ جي اجازت ڏئي ٿو. ۽ جيتوڻيڪ جيڪڏهن توهان اڃا تائين استعمال ڪرڻ چاهيو ٿا ٽئين پارٽي ڪلائنٽ اينالائيٽڪس ڪجهه ڪمن لاءِ، اهو اڃا به ممڪن ٿيندو.
سرور-پاسي اينالائيٽڪس ٻن طريقن سان ترتيب ڏئي سگھجي ٿو. پهريون: ڪجهه اوپن سورس يوٽيلٽيز چونڊيو، انهن کي پنهنجي مشين تي لڳايو ۽ ڪاروباري منطق کي ترقي ڪريو.

Плюсы
Минусы

توهان هر شيء کي ترتيب ڏئي سگهو ٿا جيڪو توهان چاهيو ٿا
اهو اڪثر ڪري تمام ڏکيو آهي ۽ الڳ ڊولپر جي ضرورت آهي

ٻيو: وٺو SaaS خدمتون (Amazon، Google، Azure) بجاء ان کي پاڻ کي ترتيب ڏيڻ جي. اسان ٽئين حصي ۾ وڌيڪ تفصيل سان SaaS بابت ڳالهائينداسين.

Плюсы
Минусы

اهو وچولي مقدار ۾ سستو ٿي سگهي ٿو، پر وڏي ترقي سان اهو اڃا تائين تمام مهانگو ٿي ويندو
اهو ممڪن نه ٿيندو ته سڀني پيٽرولن کي ڪنٽرول ڪرڻ

انتظاميه مڪمل طور تي خدمت فراهم ڪندڙ جي ڪلهن تي منتقل ڪئي وئي آهي
اهو هميشه معلوم ناهي ته خدمت جي اندر ڇا آهي (اهو شايد گهربل نه هجي)

سرور اينالائيٽڪس ڪيئن گڏ ڪجي

جيڪڏهن اسان ڪلائنٽ اينالائيٽڪس استعمال ڪرڻ کان پري وڃڻ چاهيون ٿا ۽ پنهنجو پاڻ ٺاهيو، سڀ کان پهريان اسان کي نئين سسٽم جي فن تعمير جي ذريعي سوچڻ جي ضرورت آهي. هيٺ آئون توهان کي قدم قدم تي ٻڌايان ٿو ته توهان کي غور ڪرڻ جي ضرورت آهي، ڇو هر قدم جي ضرورت آهي ۽ توهان ڪهڙا اوزار استعمال ڪري سگهو ٿا.

1. ڊيٽا حاصل ڪرڻ

جيئن ته ڪسٽمر اينالائيٽڪس جي صورت ۾، سڀ کان پهريان، ڪمپني تجزيه نگار انهن واقعن جي قسمن کي چونڊيو جيڪي اهي مستقبل ۾ مطالعو ڪرڻ چاهيندا آهن ۽ انهن کي هڪ فهرست ۾ گڏ ڪرڻ چاهيندا آهن. عام طور تي، اهي واقعا هڪ خاص ترتيب ۾ ٿين ٿا، جن کي "واقعي نموني" سڏيو ويندو آهي.
اڳيون، تصور ڪريو ته هڪ موبائل ايپليڪيشن (ويب سائيٽ) ۾ باقاعده استعمال ڪندڙ (ڊوائيسز) ۽ ڪيترائي سرور آهن. ڊوائيسز کان سرور تائين واقعن کي محفوظ طور تي منتقل ڪرڻ لاء، هڪ وچولي پرت جي ضرورت آهي. فن تعمير تي مدار رکندي، اتي ٿي سگھي ٿو ڪيترن ئي مختلف واقعن جون قطارون.
ايپيڪي ڪيفيڪا - هي آهي پب / ذيلي قطار، جيڪو واقعن کي گڏ ڪرڻ لاءِ قطار طور استعمال ڪيو ويندو آهي.

جي مطابق Quora تي پوسٽ ڪريو 2014 ۾، Apache Kafka جي خالق، سافٽ ويئر جو نالو فرانز ڪافڪا جي نالي تي رکڻ جو فيصلو ڪيو ڇاڪاڻ ته "اهو هڪ سسٽم آهي جيڪو لکڻ لاءِ بهتر ڪيو ويو آهي" ۽ ڇاڪاڻ ته هو ڪافڪا جي ڪم کي پسند ڪندو هو. - وڪيپيڊيا

اسان جي مثال ۾، ڪيترائي ڊيٽا پيدا ڪندڙ ۽ ڊيٽا استعمال ڪندڙ (ڊوائيسز ۽ سرور) آهن، ۽ ڪافڪا انهن کي هڪ ٻئي سان ڳنڍڻ ۾ مدد ڪري ٿو. صارفين کي هيٺين مرحلن ۾ وڌيڪ تفصيل سان بيان ڪيو ويندو، جتي اهي مکيه مضمون هوندا. هاڻي اسان صرف ڊيٽا پيدا ڪندڙ (واقعات) تي غور ڪنداسين.
ڪافڪا قطار ۽ ورهاڱي جي تصورن کي گڏ ڪري ٿو؛ اهو بهتر آهي ته ان بابت وڌيڪ خاص طور تي ٻين هنڌن تي پڙهو (مثال طور، ۾ دستاويز). تفصيل ۾ وڃڻ جي بغير، اچو ته تصور ڪريون ته هڪ موبائل ايپليڪيشن ٻن مختلف او ايسز لاءِ شروع ڪئي وئي آهي. پوءِ هر ورزن پنهنجو الڳ واقعو وهڪرو ٺاهي ٿو. پروڊيوسر ڪافڪا ڏانهن واقعا موڪليندا آهن، اهي هڪ مناسب قطار ۾ رڪارڊ ڪيا ويندا آهن.
سرور اينالائيٽڪس سسٽم
(تصوير هتي کان)

ساڳئي وقت، ڪافڪا توهان کي ٽڪڙن ۾ پڙهڻ جي اجازت ڏئي ٿو ۽ مني-بيچز ۾ واقعن جي هڪ وهڪرو کي پروسيس ڪري ٿو. ڪافڪا هڪ تمام آسان اوزار آهي جيڪو وڌندڙ ضرورتن سان چڱيءَ طرح ماپيندو آهي (مثال طور، واقعن جي جغرافيائي مقام ذريعي).
عام طور تي هڪ شارڊ ڪافي آهي، پر شيون وڌيڪ پيچيده ٿي وينديون آهن جڏهن اسڪيلنگ (جيئن اهي هميشه ڪندا آهن). ممڪن آهي ته ڪو به پيداوار ۾ صرف هڪ جسماني شارڊ استعمال ڪرڻ نه چاهيندو، ڇاڪاڻ ته فن تعمير کي غلطي برداشت ڪرڻ گهرجي. ڪافڪا جي اضافي ۾، اتي هڪ ٻيو مشهور حل آهي - RabbitMQ. اسان ان کي پيداوار ۾ ايونٽ اينالائيٽڪس جي قطار جي طور تي استعمال نه ڪيو (جيڪڏهن توهان وٽ اهڙو تجربو آهي، اسان کي تبصرن ۾ ان بابت ٻڌايو!). بهرحال، اسان AWS Kinesis استعمال ڪيو.

ايندڙ قدم تي وڃڻ کان اڳ، اسان کي سسٽم جي هڪ وڌيڪ اضافي پرت جو ذڪر ڪرڻو پوندو - خام لاگ اسٽوريج. هي هڪ گهربل پرت ناهي، پر اهو ڪارائتو ٿيندو جيڪڏهن ڪجهه غلط ٿي وڃي ۽ ڪافڪا ۾ واقعن جون قطارون ٻيهر سيٽ ڪيون وڃن. خام لاگز کي محفوظ ڪرڻ لاء هڪ پيچيده ۽ قيمتي حل جي ضرورت ناهي؛ توهان صرف انهن کي صحيح ترتيب ۾ لکي سگهو ٿا (جيتوڻيڪ هارڊ ڊرائيو تي).
سرور اينالائيٽڪس سسٽم

2. پروسيسنگ ايونٽ اسٽريمز

اسان سڀني واقعن کي تيار ڪرڻ ۽ انهن کي مناسب قطار ۾ رکڻ کان پوء، اسان پروسيسنگ جي مرحلي ڏانهن وڃو. هتي آئون توهان کي ٻن عام پروسيسنگ اختيارن بابت ٻڌائيندس.
پهريون اختيار آهي اسپارڪ اسٽريمنگ کي فعال ڪرڻ اپاچي سسٽم ۾. سڀ اپاچي پراڊڪٽس HDFS تي رهن ٿا، هڪ محفوظ فائيل سسٽم فائل ريپليڪس سان. اسپارڪ اسٽريمنگ هڪ استعمال ۾ آسان اوزار آهي جيڪو اسٽريمنگ ڊيٽا کي سنڀالي ٿو ۽ چڱيءَ ريت ماپ ڪري ٿو. بهرحال، اهو برقرار رکڻ ڏکيو ٿي سگهي ٿو.
ٻيو اختيار آهي توهان جو پنهنجو ايونٽ هينڊلر ٺاهڻ. ائين ڪرڻ لاءِ، توھان کي ضرورت آھي، مثال طور، پٿون ايپليڪيشن لکڻ لاءِ، ان کي ڊاڪر ۾ ٺاھيو ۽ ڪافڪا جي قطار ۾ رڪنيت حاصل ڪريو. جڏهن ٽرگرز ڊاکر هينڊلر تي پهچي ويندا، پروسيسنگ شروع ٿيندي. هن طريقي سان، توهان کي هر وقت ايپليڪيشن هلائڻ جي ضرورت آهي.
اچو ته فرض ڪريو ته اسان مٿي بيان ڪيل اختيارن مان ھڪڙو چونڊيو آھي ۽ پاڻ پروسيسنگ ڏانھن وڃو. پروسيسرز کي ڊيٽا جي صحيحيت کي جانچڻ، گندگي کي فلٽر ڪرڻ ۽ "ٽڙيل" واقعن کي شروع ڪرڻ گهرجي. تصديق لاءِ اسان عام طور تي استعمال ڪندا آهيون سائبرگ. ان کان پوء، توهان ڊيٽا ميپنگ ڪري سگهو ٿا: مختلف ذريعن کان ڊيٽا کي عام ۽ معياري ڪيو ويو آهي ته جيئن عام ٽيبل ۾ شامل ڪيو وڃي.
سرور اينالائيٽڪس سسٽم

3. ڊيٽابيس

ٽيون قدم معمول جي واقعن کي برقرار رکڻ آهي. جڏهن تيار ڪيل تجزياتي نظام سان ڪم ڪري رهيا آهيون، اسان کي انهن کي اڪثر رسائي ڪرڻو پوندو، تنهنڪري اهو ضروري آهي ته هڪ آسان ڊيٽابيس چونڊڻ لاء.
جيڪڏهن ڊيٽا هڪ مقرر ڪيل اسڪيم ۾ چڱي طرح ٺهڪي اچي ٿي، توهان چونڊ ڪري سگهو ٿا ڪلڪ هائوس يا ڪجهه ٻيو ڪالمن ڊيٽابيس. هن طريقي سان گڏ ڪرڻ تمام جلدي ڪم ڪندو. منفي طرف اهو آهي ته اسڪيم سختي سان مقرر ڪئي وئي آهي ۽ ان ڪري اهو ممڪن نه ٿيندو ته بغير ڪنهن ترميم جي غير جانبدار شيون شامل ڪرڻ (مثال طور، جڏهن هڪ غير معياري واقعو ٿئي ٿي). پر توهان واقعي تمام جلدي شمار ڪري سگهو ٿا.
غير منظم ڊيٽا لاءِ، توھان وٺي سگھو ٿا NoSQL، مثال طور، ايپليسي ڪاسڌرا. اهو HDFS تي هلندو آهي، چڱي طرح نقل ڪري ٿو، توهان ڪيترن ئي مثالن کي بلند ڪري سگهو ٿا، ۽ غلطي برداشت ڪندڙ آهي.
توھان ڪجھ سادو پڻ وڌائي سگھو ٿا، مثال طور، منڊو ڊي. اهو ڪافي سست آهي ۽ ننڍي مقدار لاء. پر پلس اهو آهي ته اهو تمام سادو آهي ۽ تنهنڪري شروع ڪرڻ لاء مناسب آهي.
سرور اينالائيٽڪس سسٽم

4. مجموعا

سڀني واقعن کي احتياط سان محفوظ ڪرڻ سان، اسان چاهيون ٿا ته بيچ مان تمام اهم معلومات گڏ ڪريون جيڪي پهچي ويا ۽ ڊيٽابيس کي تازه ڪاري ڪريون. عالمي سطح تي، اسان لاڳاپيل ڊيش بورڊ ۽ ميٽرڪ حاصل ڪرڻ چاهيون ٿا. مثال طور، هڪ صارف پروفائل گڏ ڪريو واقعن مان ۽ ڪنهن به طريقي سان رويي کي ماپ ڪريو. واقعا گڏ ڪيا ويا، گڏ ڪيا ويا، ۽ ٻيهر محفوظ ڪيا ويا (يوزر ٽيبل ۾). ساڳئي وقت، توهان هڪ سسٽم ٺاهي سگهو ٿا ته جيئن توهان هڪ فلٽر کي گڏ ڪري سگهو ٿا ايگريگيٽر- ڪوآرڊينيٽر: صرف هڪ خاص قسم جي واقعي مان صارفين کي گڏ ڪريو.
ان کان پوء، جيڪڏهن ٽيم تي ڪنهن کي صرف اعلي سطحي تجزيي جي ضرورت آهي، خارجي تجزياتي سسٽم ڳنڍي سگهجن ٿيون. توهان ٻيهر وٺي سگهو ٿا Mixpanel. پر جيئن ته اهو تمام مهانگو آهي، نه سڀئي صارف واقعا اتي موڪليا ويا آهن، پر صرف جيڪي گهربل آهن. هن کي ڪرڻ لاءِ، اسان کي هڪ ڪوآرڊينيٽر ٺاهڻو پوندو جيڪو ڪجهه خام واقعن يا ڪجهه شين کي منتقل ڪندو جنهن کي اسان پاڻ اڳي ئي خارجي سسٽم، APIs يا اشتهارن جي پليٽ فارمن تي گڏ ڪيو آهي.
سرور اينالائيٽڪس سسٽم

5. سامهون

توهان کي ٺاهيل سسٽم کي فرنٽ اينڊ سان ڳنڍڻ جي ضرورت آهي. هڪ سٺو مثال خدمت آهي ريش ڪرڻ، هڪ ڊيٽابيس GUI آهي جيڪو ڊيش بورڊ ٺاهڻ ۾ مدد ڪري ٿو. ڪئين رابطي جو ڪم:

  1. استعمال ڪندڙ هڪ SQL سوال ڪري ٿو.
  2. جواب ۾ هن کي هڪ نشاني ملي ٿي.
  3. اهو ان لاءِ هڪ 'نئون تصور' ٺاهي ٿو ۽ هڪ خوبصورت گراف حاصل ڪري ٿو جيڪو توهان پنهنجي لاءِ محفوظ ڪري سگهو ٿا.

خدمت ۾ تصويرون خودڪار تازه ڪاري ڪري رهيا آهن، توهان پنهنجي نگراني کي ترتيب ۽ ٽريڪ ڪري سگهو ٿا. Redash مفت آهي جيڪڏهن خود ميزباني ڪئي وئي آهي، پر SaaS جي طور تي اهو خرچ ٿيندو $50 هر مهيني.
سرور اينالائيٽڪس سسٽم

ٿڪل

مٿين سڀني مرحلن کي مڪمل ڪرڻ کان پوء، توهان پنهنجو سرور اينالائيٽڪس ٺاهيندا. مهرباني ڪري نوٽ ڪريو ته اهو آسان ناهي جيترو صرف ڪسٽمر اينالائيٽڪس سان ڳنڍڻ، ڇاڪاڻ ته هر شي کي پنهنجو پاڻ کي ترتيب ڏيڻ جي ضرورت آهي. تنهن ڪري، توهان جو پنهنجو سسٽم ٺاهڻ کان پهريان، اهو ضروري آهي ته هڪ سنگين تجزياتي سسٽم جي ضرورت کي وسيلن سان مقابلو ڪيو وڃي جيڪي توهان ان کي مختص ڪرڻ لاء تيار آهيو.
جيڪڏهن توهان رياضي ڪئي آهي ۽ ڏٺائين ته قيمتون تمام گهڻيون آهن، ايندڙ حصي ۾ آئون ڳالهائيندس سرور-سائڊ اينالائيٽڪس جو سستو نسخو ڪيئن ٺاهيو.

پڙهڻ لاءِ مهرباني! مان تبصرن ۾ سوال پڇڻ ۾ خوش ٿيندس.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو