کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

میرا مشورہ ہے کہ آپ Igor Stryhar کی 2017 کی رپورٹ کا ٹرانسکرپٹ پڑھیں "ClickHouse - Tabix میں بصری طور پر تیز اور واضح ڈیٹا تجزیہ۔"

Tabix پروجیکٹ میں ClickHouse کے لیے ویب انٹرفیس۔
اہم خصوصیات:

  • براؤزر سے براہ راست ClickHouse کے ساتھ کام کرتا ہے، اضافی سافٹ ویئر انسٹال کرنے کی ضرورت کے بغیر؛
  • نحو کو نمایاں کرنے کے ساتھ سوال ایڈیٹر؛
  • احکامات کی خودکار تکمیل؛
  • استفسار پر عمل درآمد کے گرافیکل تجزیہ کے لیے ٹولز؛
  • منتخب کرنے کے لیے رنگ سکیمیں۔
    کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار


کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

میں SMI2 کا تکنیکی ڈائریکٹر ہوں۔ ہم نیوز ایکسچینج نیوز ایگریگیٹر ہیں۔ ہم اپنے شراکت داروں سے موصول ہونے والا بہت سا ڈیٹا ذخیرہ کرتے ہیں اور اسے ClickHouse میں رجسٹر کرتے ہیں - تقریباً 30 درخواستیں فی سیکنڈ۔

یہ ڈیٹا ہے جیسے:

  • خبروں پر کلک کرتا ہے۔
  • خبریں ایگریگیٹر میں دکھائی دیتی ہیں۔
  • بینر ہمارے نیٹ ورک پر دکھاتا ہے۔
  • اور ہم واقعات کو اپنے ہی کاؤنٹر سے رجسٹر کرتے ہیں، جو Yandex.Metrica سے ملتا جلتا ہے۔ یہ ہماری اپنی مائیکرو اینالیٹکس ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

کلک ہاؤس سے پہلے ہماری بہت مصروف زندگی تھی۔ ہم نے بہت نقصان اٹھایا، اس ڈیٹا کو کہیں ذخیرہ کرنے اور کسی نہ کسی طرح اس کا تجزیہ کرنے کی کوشش کی۔

ClickHouse سے پہلے کی زندگی - infiniDB

ہمارے پاس پہلی چیز infiniDB تھی۔ وہ ہمارے ساتھ 4 سال رہی۔ ہم نے اسے مشکل سے شروع کیا۔

  • یہ کلسٹرنگ یا شارڈنگ کی حمایت نہیں کرتا ہے۔ ڈیفالٹ کے طور پر کوئی ایسی سمارٹ چیزیں باکس سے باہر نہیں آئیں۔
  • اسے ڈیٹا لوڈ کرنے میں دشواری ہوتی ہے۔ صرف ایک مخصوص کنسول یوٹیلیٹی جو صرف CSV فائلوں کو لوڈ کر سکتی ہے اور صرف کچھ انتہائی غیر واضح طریقے سے۔
  • ڈیٹا بیس سنگل تھریڈڈ ہے۔ آپ یا تو لکھ سکتے ہیں یا پڑھ سکتے ہیں۔ لیکن اس نے ڈیٹا کی ایک بڑی مقدار پر کارروائی کرنا ممکن بنایا۔
  • اور اس کے پاس ایک دلچسپ بیساکھی بھی تھی۔ ہر رات سرور کو ریبوٹ کرنا پڑتا تھا، ورنہ یہ کام نہیں کرتا۔

اس نے 2016 کے آخر تک ہمارے لیے کام کیا، جب ہم مکمل طور پر ClickHouse پر چلے گئے۔

کلک ہاؤس سے پہلے کی زندگی - کیسینڈرا۔

چونکہ infiniDB سنگل تھریڈڈ تھا، ہم نے فیصلہ کیا کہ ہمیں کسی قسم کے ملٹی تھریڈڈ ڈیٹا بیس کی ضرورت ہے جس میں ہم بیک وقت کئی تھریڈز لکھ سکیں۔

ہم نے بہت سی دلچسپ چیزوں کی کوشش کی۔ پھر ہم نے کیسینڈرا کو آزمانے کا فیصلہ کیا۔ کیسینڈرا کے ساتھ سب کچھ بہت اچھا تھا۔ فی سیکنڈ فی بولی 10 درخواستیں۔ کہیں پڑھنے کے لیے 000 درخواستیں۔

لیکن اس کے اپنے مفادات بھی تھے۔ مہینے میں ایک بار یا ہر دو مہینے میں ایک بار اس نے ڈیٹا بیس کی مطابقت پذیری کا تجربہ کیا۔ اور مجھے جاگ کر کیسینڈرا کو ٹھیک کرنے کے لیے بھاگنا پڑا۔ سرورز ایک ایک کرکے دوبارہ شروع کیے گئے۔ اور سب کچھ ہموار اور خوبصورت ہو گیا۔

کلک ہاؤس سے پہلے کی زندگی - ڈروڈ

پھر ہم نے محسوس کیا کہ ہمیں مزید ڈیٹا لکھنے کی ضرورت ہے۔ 2016 میں ہم نے ڈروڈ دیکھنا شروع کیا۔

ڈروڈ ایک اوپن سورس سافٹ ویئر ہے جو جاوا میں لکھا گیا ہے۔ بہت مخصوص۔ اور یہ کلک اسٹریم کے لیے موزوں تھا، جب ہمیں کسی قسم کے واقعات کو ذخیرہ کرنے اور پھر ان پر جمع کرنے یا تجزیاتی رپورٹس بنانے کی ضرورت ہوتی ہے۔

ڈروڈ کا ورژن 0.9.X تھا۔

ڈیٹا بیس خود تعینات کرنا بہت مشکل ہے۔ یہ بنیادی ڈھانچے کی پیچیدگی ہے۔ اسے لگانے کے لیے بہت زیادہ لوہا لگانا ضروری تھا۔ اور ہارڈ ویئر کا ہر ٹکڑا اپنے الگ کردار کے لیے ذمہ دار تھا۔

اس میں ڈیٹا لوڈ کرنے کے لیے کسی قسم کی شمنزم کا استعمال کرنا ضروری تھا۔ ایک OpenSource پروجیکٹ ہے - Tranquility، جو ایک سلسلہ میں ہم سے ڈیٹا کھو رہا تھا۔ جب ہم نے اس میں ڈیٹا لوڈ کیا تو اس نے اسے کھو دیا۔

لیکن کسی نہ کسی طرح ہم نے اسے نافذ کرنا شروع کر دیا۔ ہم، ہیج ہاگس کی طرح جنہوں نے منشیات لی لیکن کیکٹس کھاتے رہے، اسے متعارف کرانا شروع کیا۔ اس کے لیے تمام انفراسٹرکچر تیار کرنے میں ہمیں تقریباً ایک مہینہ لگا۔ یعنی سرورز کو ترتیب دیں، کرداروں کو ترتیب دیں، اور مکمل طور پر خودکار تعیناتی کریں۔ یعنی کلسٹر فیل ہونے کی صورت میں دوسرا کلسٹر خود بخود تعینات ہو جائے گا۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

لیکن پھر ایک معجزہ ہوا۔ میں چھٹی پر تھا اور میرے ساتھیوں نے مجھے ایک لنک بھیجا تھا۔ habr، جو کہتا ہے کہ Yandex نے ClickHouse کھولنے کا فیصلہ کیا۔ میں کہتا ہوں چلو آزماتے ہیں۔

اور لفظی طور پر 2 دنوں میں ہم نے کلک ہاؤس ٹیسٹ کلسٹر تعینات کیا۔ ہم نے اس میں ڈیٹا لوڈ کرنا شروع کر دیا۔ infiniDB کے مقابلے میں، یہ ابتدائی ہے؛ Druid کے مقابلے میں، یہ ابتدائی ہے۔ کیسینڈرا کے مقابلے میں، یہ بھی ابتدائی ہے۔ کیونکہ اگر آپ پی ایچ پی سے ڈیٹا کو کیسینڈرا میں لوڈ کرتے ہیں، تو یہ ابتدائی نہیں ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

ہمیں کیا ملا؟ رفتار میں کارکردگی۔ ڈیٹا اسٹوریج میں کارکردگی۔ یعنی بہت کم ڈسک کی جگہ استعمال ہوتی ہے۔ کلک ہاؤس تیز ہے، یہ دیگر مصنوعات کے مقابلے میں بہت تیز ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

لانچ کے وقت، جب Yandex نے OpenSource میں ClickHouse شائع کیا، وہاں صرف ایک کنسول کلائنٹ تھا۔ ہم نے اپنی کمپنی SMI2 میں ویب کے لیے مقامی کلائنٹ بنانے کی کوشش کرنے کا فیصلہ کیا، تاکہ ہم براؤزر سے ایک صفحہ کھول سکیں، درخواست لکھ سکیں اور نتیجہ حاصل کر سکیں، کیونکہ ہم نے بہت سی درخواستیں لکھنا شروع کر دیں۔ کنسول میں لکھنا مشکل ہے۔ اور ہم نے اپنا پہلا ورژن بنایا۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اور کہیں پچھلے سال کے موسم سرما کے قریب، ClickHouse کے ساتھ کام کرنے کے لیے تھرڈ پارٹی ٹولز ظاہر ہونے لگے۔ یہ ایسے اوزار ہیں جیسے:

میں ان میں سے کچھ ٹولز کو دیکھوں گا، یعنی وہ جن کے ساتھ میں نے کام کیا ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

ایک اچھا ٹول، لیکن ڈروڈ کے لیے۔ جب ڈروڈ کو لاگو کیا جا رہا تھا، میں سپر سیٹ کی جانچ کر رہا تھا۔ میں نے اسے پسند کیا۔ ڈروڈ کے لیے یہ بہت تیز ہے۔

یہ ClickHouse کے لیے موزوں نہیں ہے۔ یعنی، یہ فٹ بیٹھتا ہے، یہ شروع ہوتا ہے، لیکن صرف ابتدائی سوالات پر کارروائی کرنے کے لیے تیار ہے جیسے: SELECT ایونٹ، GROUP BY ایونٹ۔ یہ زیادہ پیچیدہ کلک ہاؤس نحو کی حمایت نہیں کرتا ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلا ٹول Apache Zeppelin ہے۔ یہ ایک اچھی اور دلچسپ بات ہے۔ کام کرتا ہے۔ یہ نوٹ بک، ڈیش بورڈز، اور متغیرات کو سپورٹ کرتا ہے۔ میں جانتا ہوں کہ ClickHouse کمیونٹی میں کوئی اسے استعمال کرتا ہے۔

لیکن کلک ہاؤس نحو کے لیے کوئی سپورٹ نہیں ہے، یعنی آپ کو کنسول میں یا کہیں اور سوالات لکھنے ہوں گے۔ اگلا، چیک کریں کہ یہ سب کام کرتا ہے. یہ صرف تکلیف دہ ہے۔ لیکن اس میں اچھی ڈیش بورڈ سپورٹ ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلا ٹول Redash.IO ہے۔ Redash انٹرنیٹ پر ہوسٹ کیا گیا ہے۔ یعنی پچھلے ٹولز کے برعکس اسے انسٹال کرنے کی ضرورت نہیں ہے۔ اور یہ ایک ڈیش بورڈ ہے جس میں مختلف ڈیٹا سورسز سے ڈیٹا اکٹھا کرنے کی صلاحیت ہے۔ یعنی آپ ClickHouse سے، MySQL سے، PostgreSQL سے اور دوسرے ڈیٹا بیس سے ڈاؤن لوڈ کر سکتے ہیں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

صرف ایک ماہ قبل (مارچ 2017)، گرافانا میں سپورٹ نمودار ہوئی۔ جب آپ گرافانا میں رپورٹس بناتے ہیں، مثال کے طور پر، اپنے ہارڈ ویئر کی حالت یا کچھ میٹرکس پر، اب آپ کلک ہاؤس سے براہ راست ڈیٹا سے وہی گراف یا کسی قسم کا پینل بنا سکتے ہیں۔ یہ بہت آسان ہے، اور ہم اسے خود استعمال کرتے ہیں۔ یہ آپ کو بے ضابطگیوں کو تلاش کرنے کی اجازت دیتا ہے۔ یعنی، اگر کچھ ہوتا ہے اور کچھ ہارڈ ویئر گر جاتا ہے یا تنگ ہو جاتا ہے، تو آپ اس کی وجہ دیکھ سکتے ہیں کہ آیا یہ ڈیٹا ClickHouse میں داخل ہونے میں کامیاب ہو گیا۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

مجھے ان ٹولز یا کنسول میں لکھنا بہت عجیب لگا۔ اور میں نے اپنے پہلے انٹرفیس کو بہتر بنانے کا فیصلہ کیا۔ اور مجھے ایونٹ ایس کیو ایل، سیپر سیٹ، زیپلین سے آئیڈیا ملا۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

تم کیا چاہتے تھے؟ میں گرافکس حاصل کرنا چاہتا تھا، ایک بہتر ایڈیٹر، اور اشارے کی لغات کے لیے تعاون کو نافذ کرنا چاہتا تھا۔ کیونکہ کلک ہاؤس میں ایک بہت بڑی خصوصیت ہے - لغات۔ لیکن لغات کے ساتھ کام کرنا مشکل ہے، کیونکہ آپ کو ذخیرہ شدہ اقدار کی شکل کو یاد رکھنے کی ضرورت ہے، یعنی یہ نمبر ہے یا سٹرنگ وغیرہ۔ اور چونکہ ہم اکثر لغات کو ان کے مختلف تغیرات میں استعمال کرتے ہیں، اس لیے سوالات لکھنا کافی مشکل تھا۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

ہمارے پہلے ورژن کی ریلیز کو 3 ماہ گزر چکے ہیں۔ میں نے ایک پرائیویٹ برانچ میں تقریباً 330 وعدے کیے اور یہ ٹیبکس نکلا۔

پچھلے ورژن کے برعکس، جسے ClickHouse-Frontend کہا جاتا تھا، میں نے اس کا نام بدل کر ایک سادہ نام رکھنے کا فیصلہ کیا۔ اور یہ Tabix نکلا.

کیا ظاہر ہوا؟

گراف کھینچتا ہے۔ کلک ہاؤس ایس کیو ایل نحو کی حمایت کرتا ہے۔ افعال کے بارے میں مشورہ دیتا ہے اور بہت سی دلچسپ چیزیں کر سکتا ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

عام Tabix اسکیم کی طرح نظر آتی ہے۔ بائیں طرف ایک درخت ہے۔ مرکز میں سوال ایڈیٹر ہے۔ اور ذیل میں اس درخواست کا نتیجہ ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلا میں آپ کو دکھاؤں گا کہ استفسار ایڈیٹر کیسے کام کرتا ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

یہاں خودکار تکمیل خود کار طریقے سے میز پر کام کرتا ہے اور اشارہ کرتا ہے، اس کے مطابق، فیلڈز کے لیے خودکار تکمیل۔ اور افعال پر اشارے۔ اگر آپ ctrl enter دبائیں گے تو درخواست پر عمل ہو جائے گا یا غلطی کے ساتھ ناکام ہو جائے گی۔ سب سے آسان درخواست Tabix کو بھیجی جاتی ہے اور نتیجہ مل جاتا ہے، یعنی آپ ClickHouse کے ساتھ جلدی سے کام کر سکتے ہیں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

لغتیں، جیسا کہ میں نے پہلے ہی کہا ہے، ایک بہت ہی دلچسپ چیز ہے جس کے ساتھ ہم بہت کام کرتے ہیں۔ اور جس نے ہمیں بہت سے کام کرنے کی اجازت دی۔ ہم کہتے ہیں کہ ہم تمام شہروں کو لغات میں محفوظ کرتے ہیں۔ ہم شہر کا شناخت کنندہ اور شہر کا نام، اس کے عرض البلد اور عرض البلد کو محفوظ کرتے ہیں۔ اور ڈیٹا بیس میں ہم صرف شہر کا شناخت کنندہ ذخیرہ کرتے ہیں۔ اس کے مطابق، ہم ڈیٹا کو بہت مضبوطی سے کمپریس کرتے ہیں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

بظاہر یہ ایک سادہ سی چیز ہے، لیکن یہ ClickHouse میں بہت دلچسپ انداز میں مدد کرتا ہے۔ اس حقیقت کی وجہ سے کہ ClickHouse صرف نیسٹڈ جوائنز کو سپورٹ کرتا ہے، استفسار نیچے کی طرف اور کافی وسیع ہوتا ہے۔ اور جب بریکٹ کھلتا ہے اور کچھ لمبا اظہار آتا ہے، تو سوال کو ختم کرنے جیسا آسان چیز خود ہی استفسار کے ساتھ کام کرنا آسان بنا دیتی ہے۔ کیونکہ جب استفسار 200-300 لائنوں طویل اور چوڑائی میں بہت بڑا ہے، تو استفسار کو سمیٹنا اور پھر کوئی جگہ تلاش کرنا یا کسی طرح اسے مقامی بنانا بہت مددگار ہے۔

آبجیکٹ ٹری، ملٹی کوریز اور ٹیبز (ویڈیو 13:46 https://youtu.be/w1-XsL3nbRg?t=826)

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلا میں آپ کو درخت اور ٹیبز کے بارے میں دکھاؤں گا۔ بائیں طرف ایک درخت ہے؛ اوپر آپ کئی ٹیبز بنا سکتے ہیں۔ ٹیبز ورک اسپیس کی طرح ہیں۔ آپ کئی ٹیبز بنا سکتے ہیں اور ہر ایک کو مختلف نام دے سکتے ہیں۔ یہ رپورٹ بنانے کے لیے ایک منی سسٹم کی طرح ہے۔

ٹیبز خود بخود محفوظ ہو جاتی ہیں۔ اگر آپ اپنا براؤزر دوبارہ شروع کریں یا Tabix کو بند کریں یا کھولیں تو یہ سب محفوظ ہوجائے گا۔

ہاٹکی - آسان (ویڈیو 14:39 https://youtu.be/w1-XsL3nbRg?t=879)

ہاٹکیز ہیں اور ان میں سے کافی تعداد میں ہیں۔ میں نے ان میں سے کچھ کو بطور مثال یہاں نکالا ہے۔ یہ ٹیبز کو تبدیل کرنا، ایک درخواست پر عمل کرنا یا متعدد درخواستوں پر عمل کرنا ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

میں آپ کو دکھاؤں گا کہ نتیجہ کے ساتھ کیسے کام کرنا ہے۔ ہم ایک درخواست بھیجتے ہیں۔ یہاں میں sin، cos اور tg ڈرائنگ کر رہا ہوں۔ آپ نتیجہ کو نمایاں کر سکتے ہیں، یعنی کالم کے لیے ایک عام نقشہ کھینچیں۔ آپ مثبت یا منفی اقدار کو نمایاں کر سکتے ہیں۔ یا صرف ایک مخصوص ٹیبل عنصر کو رنگ دیں۔ یہ اس وقت آسان ہے جب میز بہت بڑا ہو اور آپ کو کچھ بے ضابطگی تلاش کرنے کی ضرورت ہو۔ جب میں بے ضابطگیوں کو تلاش کر رہا تھا، میں نے کچھ سطروں کو نمایاں کیا، کچھ عناصر سبز یا سرخ میں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

وہاں بہت ساری دلچسپ چیزیں ہیں۔ مثال کے طور پر، Redmine Markdown میں کاپی کرنے کا طریقہ۔ اگر آپ کو کہیں رزلٹ کاپی کرنا ہو تو یہ بہت آسان ہے۔ آپ آسانی سے ایک علاقہ منتخب کر سکتے ہیں، "Copy to Redmine" کہہ سکتے ہیں اور یہ Redmine Markdown میں کاپی ہو جائے گا یا جہاں ایک سوال پیدا کرے گا۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلا استفسار کی اصلاح ہے۔ میں ایک بار "تاریخ" فیلڈ کی وضاحت کرنا بھول گیا تھا۔ اور ClickHouse میں میری درخواست پر بہت، بہت جلد، بلکہ تیزی سے، یعنی ایک سیکنڈ سے بھی کم وقت میں کارروائی نہیں کی گئی۔ جب میں نے دیکھا کہ وہ کتنی لائنوں سے گزرتا ہے تو میں خوفزدہ ہو گیا۔ ہم ایک دن میں اس ٹیبل پر اتنی قطاریں نہیں لکھتے ہیں۔ میں نے درخواست کا تجزیہ کرنا شروع کیا تو دیکھا کہ ایک جگہ میری تاریخ چھوٹ گئی تھی۔ یعنی، میں یہ بتانا بھول گیا کہ مجھے پورے ٹیبل کے لیے ڈیٹا کی ضرورت نہیں ہے، بلکہ ایک مخصوص مدت کے لیے۔

Tabix میں "اعداد و شمار" کا ٹیب ہے، جو بھیجی گئی درخواستوں کی پوری تاریخ کو محفوظ کرتا ہے، یعنی وہاں آپ دیکھ سکتے ہیں کہ اس درخواست کی کتنی لائنیں پڑھی گئیں اور اس پر عمل درآمد میں کتنا وقت لگا۔ یہ اصلاح کی اجازت دیتا ہے۔

آپ استفسار کے نتیجے پر ایک پیوٹ ٹیبل بنا سکتے ہیں۔ آپ نے کلک ہاؤس کو ایک درخواست بھیجی اور کچھ ڈیٹا موصول کیا۔ اور پھر آپ اس ڈیٹا کو اپنے ماؤس سے منتقل کر سکتے ہیں اور کسی قسم کی پیوٹ ٹیبل بنا سکتے ہیں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلی دلچسپ چیز سازش ہے۔ ہم کہتے ہیں کہ ہمارے پاس درج ذیل درخواست ہے: گناہ کے لیے، cos 0 سے 299 تک۔ اور اسے کھینچنے کے لیے، آپ کو "ڈرا" ٹیب کو منتخب کرنا ہوگا اور آپ کو اپنے گناہ اور cos کے ساتھ ایک گراف ملے گا۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

آپ اسے مختلف محوروں میں تقسیم کر سکتے ہیں، یعنی آپ ایک ساتھ دو گراف ایک ساتھ کھینچ سکتے ہیں۔ ایک کمانڈ اور دوسرا کمانڈ لکھیں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

آپ ہسٹگرام کھینچ سکتے ہیں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

آپ اسے گراف کے میٹرکس میں توڑ سکتے ہیں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

آپ گرمی کا نقشہ بنا سکتے ہیں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

آپ تھرمل کیلنڈر بنا سکتے ہیں۔ ویسے، یہ ایک بہت آسان چیز ہے جب آپ کو ایک سال کے دوران بے ضابطگیوں کا تجزیہ کرنے کی ضرورت ہوتی ہے، یعنی، اسپائکس یا ڈراپس تلاش کریں۔ اس ڈیٹا ویژولائزیشن نے اس میں میری مدد کی۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلا Treemap ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

سانکیز ایک دلچسپ چارٹ ہے۔ وہ یا تو Streamgrahps یا River ہے۔ لیکن میں اسے دریا کہتا ہوں۔ یہ آپ کو کسی بھی بے ضابطگیوں کو تلاش کرنے کی بھی اجازت دیتا ہے۔ یہ بہت آرام دہ ہے۔ میں اسے تلاش کرنے کے لیے استعمال کرنے کی تجویز کرتا ہوں۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلی دلچسپ چیز ایک متحرک نقشہ تیار کرنا ہے۔ اگر آپ اپنے ڈیٹا بیس میں عرض البلد، طول البلد کو ذخیرہ کرتے ہیں اور، کہیں، ایک منزل کو ذخیرہ کرتے ہیں، اگر آپ، مثال کے طور پر، ٹرک یا ہوائی جہاز اڑ رہے ہیں، تو آپ منزل کے راستے کھینچ سکتے ہیں۔ اس کے علاوہ وہاں آپ ان اشیاء کی رفتار اور سائز مقرر کر سکتے ہیں جس میں وہ پرواز کرتے ہیں۔

لیکن اس نقشے کا مسئلہ یہ ہے کہ یہ صرف دنیا کا نقشہ کھینچتا ہے، کوئی تفصیل نہیں ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

بعد میں میں نے گوگل میپ شامل کیا۔ اگر آپ عرض البلد، عرض البلد کو ذخیرہ کرتے ہیں، تو آپ گوگل میپ پر نتیجہ نکال سکتے ہیں، لیکن ہوائی جہاز کی مدد کے بغیر۔

ہم نے Tabix میں نتائج اور سوالات کے ساتھ کام کرنے کے اہم کاموں پر تبادلہ خیال کیا ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلا آپ کے کلک ہاؤس سرور کا تجزیہ ہے۔ ایک علیحدہ "میٹرکس" ٹیب ہے، جہاں آپ ہر کالم کے لیے ذخیرہ شدہ ڈیٹا کا سائز دیکھ سکتے ہیں۔ اسکرین شاٹ سے پتہ چلتا ہے کہ یہ "ریفرر" فیلڈ تقریباً 730 جی بی لیتا ہے۔ اگر ہم اس فیلڈ کو ترک کر دیتے ہیں، تو ہم 700 GB کے تین شارڈز کی بچت کریں گے، یعنی تقریباً 2 TB جس کی ہمیں ضرورت نہیں ہے۔

ہمارے پاس ایک "request_id" فیلڈ بھی ہے جسے ہم سٹرنگ میں اسٹور کرتے ہیں۔ لیکن اگر ہم اسے عددی شکل میں ذخیرہ کرنا شروع کر دیں تو یہ فیلڈ بہت زیادہ سکڑ جائے گی۔

یہ آپ کے کلسٹر میں سرور کنفیگریشن اور نوڈس کی فہرست بھی دکھاتا ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلا ٹیب میٹرکس ہے۔ وہ ClickHouse کے ساتھ ریئل ٹائم میں آتے ہیں اور آپ کو سرور کی حالت کا تجزیہ کرنے اور یہ سمجھنے کی اجازت دیتے ہیں کہ اس کے ساتھ کیا ہو رہا ہے۔ یہ مکمل گرافانا کا متبادل نہیں ہے۔ یہ فوری تجزیہ کے لیے ضروری ہے۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

اگلا ٹیب عمل ہے۔ ان سے آپ سمجھ سکتے ہیں کہ سرور پر کیا ہو رہا ہے۔ سمجھیں کہ وہاں کیا ہو رہا ہے۔ میرے پاس ایک درخواست تھی جو ہر بار پڑھنے میں 200 جی بی استعمال کرتی تھی۔ میں نے اسے اس انٹرفیس کی بدولت دیکھا۔ میں نے اسے پکڑ کر درست کیا۔ اور یہ تقریباً 30 جی بی نکلا، یعنی بعض اوقات کارکردگی۔

کلک ہاؤس - ٹیبکس میں بصری طور پر تیز اور بدیہی ڈیٹا تجزیہ۔ ایگور اسٹریہار

شکریہ! اور یہ اوپن سورس میں ہے۔

میں ختم. اور ویسے، یہ اوپن سورس ہے، یہ مفت ہے اور آپ کو اسے ڈاؤن لوڈ کرنے کی بھی ضرورت نہیں ہے۔ اسے براؤزر میں کھولیں اور سب کچھ کام کرے گا۔

آپ کے سوالات

اگور، آگے کیا ہے؟ آپ اس آلے کو کہاں تیار کریں گے؟

اس کے بعد، ڈیش بورڈز ظاہر ہوں گے، یعنی شاید ڈیش بورڈز ظاہر ہوں گے۔ دوسرے ڈیٹا بیس کے ساتھ انضمام۔ میں نے یہ کیا، لیکن ابھی تک اسے اوپن سورس میں شائع نہیں کیا ہے۔ یہ MySQL اور ممکنہ طور پر PostgreSQL ہے۔ یعنی Tabix سے نہ صرف ClickHouse بلکہ دوسرے ٹولز کو بھی درخواستیں بھیجنا ممکن ہوگا۔

یہ واضح ہے کہ بہت زیادہ کام کیا گیا ہے. یہ کافی حد تک مکمل خیال نکلا۔ یہ براؤزر میں کیا گیا تھا، بظاہر، تمام قسم کے محوروں پر بیساکھیوں کو ختم کرنے اور تیزی سے پوری چیز کو ایک ساتھ پھینکنے کے لیے۔ میں نے سنا ہے کہ آپ پر ہیں۔ پی ایچ پی کام کریں، اس لیے سب سے آسان طریقہ یہ ہے کہ اسے براؤزر میں ٹائپ کریں اور یہ ہر جگہ کام کرے گا۔ اس بارے میں کوئی سوال نہیں ہے۔ سوال یہ ہے۔ وہاں واقعی بہت کچھ کیا گیا ہے۔ کتنے لوگوں نے اس پر کام کیا؟ اور اس سب میں کتنا وقت لگا؟ کیونکہ حسب ضرورت ٹولز میں عام طور پر اتنی فعالیت نہیں ہوتی ہے۔

ہماری ٹیم میں سے ایک شخص نے گرمیوں سے خزاں تک کام کیا۔ یہ پہلا ورژن تھا۔ پھر میں نے اکیلے ہی 330 کمٹ کئے۔ جو تم دیکھتے ہو، میرے ساتھی اور میں نے آدھے حصے میں کیا۔ 3 مہینوں میں، پہلے ورژن سے لے کر آخری تک، میں نے زیادہ تر یہ اکیلے ہی کیا۔ لیکن میں جاوا اسکرپٹ کو اچھی طرح سے نہیں جانتا ہوں۔ یہ میرا واحد اور، مجھے امید ہے، میرا آخری جاوا اسکرپٹ پروجیکٹ تھا جس کے ساتھ میں نے کام کیا تھا۔ مجھے مل گیا، میں نے دیکھا - اوہ، خوفناک. لیکن میں واقعی پروڈکٹ کو ختم کرنا چاہتا تھا اور ایسا ہی ہوا۔

رپورٹ کے لیے آپ کا بہت بہت شکریہ! یہ ایک زبردست ٹول ہے۔ کے ساتھ جھانکی کیا آپ نے موازنہ کیا ہے؟

شکریہ اس لیے میں نے اس کا نام Tabix رکھا، کیونکہ پہلے حروف ایک جیسے ہیں۔

کیونکہ آپ مقابلہ کرتے ہیں؟

بہت زیادہ سرمایہ کاری ہوگی، ہم مقابلہ کریں گے۔

آپ اندرونی تجزیہ کاروں کو فروخت کرنے کی پیشکش کیسے کر سکتے ہیں کہ یہ ٹول مکمل طور پر بدل دے گا۔ *ٹیبلو*? دلائل کیا ہوں گے؟

کلک ہاؤس کے ساتھ مقامی طور پر کام کرتا ہے۔ میں نے ٹیبلو کی کوشش کی، لیکن آپ وہاں لغات اور اس طرح کی معاونت نہیں لکھ سکتے۔ میں جانتا ہوں کہ لوگ Tabix کے ساتھ کیسے کام کرتے ہیں۔ وہ ایک سوال لکھتے ہیں، اسے CSV پر اپ لوڈ کرتے ہیں اور اسے BI پر اپ لوڈ کرتے ہیں۔ اور وہ پہلے ہی وہاں کچھ کر رہے ہیں۔ لیکن مجھے یہ تصور کرنے میں مشکل پیش آتی ہے کہ وہ یہ کیسے کرتے ہیں، کیونکہ یہ ایک گرافیکل ٹول ہے۔ یہ 5 قطاریں، زیادہ سے زیادہ 000 قطاریں اتار سکتا ہے، لیکن مزید نہیں، ورنہ براؤزر اس کا مقابلہ نہیں کرے گا۔

یعنی، ڈیٹا کی مقدار پر کچھ سنگین حدود ہیں، ٹھیک ہے؟

جی ہاں. میں سوچ بھی نہیں سکتا کہ آپ اپنے ٹیبل میں 10 قطاریں اپنی براؤزر اسکرین پر اپ لوڈ کرنا چاہیں گے۔ کس لیے؟

کیا اس کا مطلب یہ ہے کہ یہ ڈیٹا کو تیزی سے دیکھنے کے لیے ایک انٹرفیس ہے؟ اسے تھوڑا موڑ دیں، اسے موڑ دیں۔

ہاں، جلدی سے دیکھیں کہ یہ کیسے کام کرتا ہے اور صرف ایک خلاصہ گراف بنائیں۔ اور پھر کہیں دے دیں۔ ہمارا اپنا رپورٹنگ سسٹم ہے، جہاں سے میں صرف یہ درخواست لیتا ہوں۔ میں Tabix میں ڈرا کر اپنی رپورٹنگ کو بھیجتا ہوں۔

اور ایک اور سوال۔ کوہورٹ تجزیہ؟

اگر کوئی درخواستیں ہیں تو ہم اسے شامل کریں گے۔

آپ نے اسے کب استعمال کرنا شروع کیا؟ کلک ہاؤس، عمل درآمد میں کتنا وقت لگا؟ کلک ہاؤس اور لانے پیداوار کی حالت؟

جیسا کہ میں نے کہا، ہم نے بہت کم وقت میں ایک ٹیسٹ کلسٹر نافذ کیا۔ ہم نے اسے دو دن میں تعینات کر دیا۔ اور ہم نے اسے مزید چند ہفتوں تک آزمایا۔ اور ہم 3 مہینوں میں پروڈکشن تک پہنچ گئے۔ لیکن ہمارے پاس اپنا ETL تھا، یعنی ڈیٹا ریکارڈ کرنے کا ایک ٹول۔ اور اس نے اپنی ہر ممکن بات میں لکھا۔ وہ MongoDB، Cassandra، MySQL میں لکھ سکتا ہے۔ اسے کلک ہاؤس میں لکھنا سکھانا آسان تھا۔ ہمارے پاس تیزی سے عمل درآمد کے لیے ایک ریڈی میڈ انفراسٹرکچر تھا۔ 3 ماہ کے اندر ہم نے پہلا جزو باہر پھینکنا شروع کر دیا۔ 6 ماہ میں ہم نے باقی سب کچھ چھوڑ دیا۔ ہمارے پاس صرف ایک کلک ہاؤس باقی ہے۔

ایگور، رپورٹ کے لیے آپ کا بہت شکریہ۔ مجھے نقشوں کا استعمال کرتے ہوئے راستے بنانے کی فعالیت بہت پسند آئی۔ کیا Yandex.Maps اور خاص طور پر اپنی مرضی کے مطابق Yandex.Maps کے ساتھ انضمام کا کوئی منصوبہ ہے؟

میں نے گوگل میپ کے بجائے ضم کرنے کی کوشش کی، لیکن مجھے Yandex.Maps پر کوئی گہرا تھیم نہیں ملا۔ میں نے آپ کو ایک ٹکڑا نہیں بتایا۔ میں شامل کرنے کے لیے ریوائنڈ کروں گا۔

سلائیڈ - گوگل میپ۔ وہاں ایک کمانڈ "DRAW_GMAPS" ہے، جو نقشہ کھینچتی ہے۔ ایک کمانڈ ہے "DRAW_YMAPS"، یعنی یہ Yandex.Map تیار کر سکتا ہے۔ لیکن درحقیقت اس کمانڈ کے تحت جاوا اسکرپٹ موجود ہے، یعنی کلک ہاؤس سے جو ڈیٹا آپ کو ملتا ہے اسے جاوا اسکرپٹ میں منتقل کیا جا سکتا ہے، جسے آپ یہاں لکھتے ہیں۔ اور آپ کے پاس ایک آؤٹ پٹ ایریا ہے جہاں اسے کھینچنا چاہئے۔ آپ کوئی بھی گراف کھینچ سکتے ہیں، یعنی کوئی بھی گراف، نقشہ، آپ اپنا جزو خود کھینچ سکتے ہیں۔ اس سے پہلے، میرے پاس خود گراف بنانے کے لیے ایک اور لائبریری تھی۔

یعنی، کیا ڈسپلے کی فعالیت کو حسب ضرورت بنانے کا کوئی ٹول ہے؟

کوئی بھی۔ آپ ان نقطوں کو لے سکتے ہیں اور دوبارہ رنگ کر سکتے ہیں، انہیں سرخ نہیں، بلکہ نیلے، سبز بنا سکتے ہیں۔

رپورٹ کے لیے شکریہ! آپ کے پاس ایک سلائیڈ تھی جس نے استفسار کے متبادل ٹولز پیش کیے تھے۔ کلک ہاؤس ڈیش بورڈز اور تجزیاتی رپورٹس بنانے کے لیے۔ میں اس وقت سمجھتا ہوں جب آپ نے کام کرنا شروع کیا تھا۔ ClickHouse، ان ٹولز کے لیے کوئی اڈاپٹر نہیں لکھا گیا ہے۔ اور میں حیران ہوں کہ آپ نے کچھ ریڈی میڈ ٹول کے لیے اڈاپٹر لکھنے کے بجائے اپنا ٹول بنانے کا فیصلہ کیوں کیا؟ مجھے لگتا ہے کہ ٹیسٹ ایڈیٹر کو ٹویٹ کرنا جلدی ہے۔ آپ نے اتنا کام کرنے کا فیصلہ کیوں کیا؟

یہاں ایک دلچسپ بات ہے - حقیقت یہ ہے کہ میں ایک ٹیکنیکل ڈائریکٹر ہوں، ڈیٹا سائنسدان نہیں۔ جب ہم نے Druid کو لاگو کرنا شروع کیا، میرے روڈ میپ میں تقریباً 50% کام تھے - آئیے اس کا حساب لگائیں، یا اس کا حساب لگائیں، یا اس کا تجزیہ کریں۔ اور یہ پتہ چلا کہ ہم نے ClickHouse کو نافذ کیا۔ اور اس نے تیزی سے سب کچھ بنانا شروع کر دیا، گننا شروع کر دیا اور جلدی سے اپنا روڈ میپ بند کر دیا۔ اور اس وقت تک میں نے محسوس کیا کہ میرے پاس ڈیٹا سائنس اور ڈیٹا ویژولائزیشن میں علم کی کمی ہے۔ Tabix ڈیٹا ویژولائزیشن سیکھنے کے لیے میرے ہوم ورک کی طرح ہے۔ میں یہ دیکھ رہا تھا کہ Zeppelin کی تکمیل کیسے کی جائے۔ مجھے اس کی پروگرامنگ سے تھوڑی سی نفرت ہے۔ Redash میں نے اسے شامل کرنے کا طریقہ دیکھا، لیکن میرے لیے ایک عام ایڈیٹر کافی تھا۔ اور سپر سیٹ بھی ایسی زبان میں لکھا گیا ہے جو مجھے واقعی پسند نہیں ہے۔ اور اس لیے میں نے سائیکل چلانے کا فیصلہ کیا، اور ایسا ہی ہوا۔

اگور، کیا آپ پل کی درخواستیں قبول کرتے ہیں؟

جی ہاں.

رپورٹ کے لیے آپ کا بہت بہت شکریہ! اور دو سوال۔ سب سے پہلے، آپ کے بارے میں بہت چاپلوسی سے بات نہیں کرتے جاوا اسکرپٹ۔ کیا آپ نے ننگی جاوا اسکرپٹ میں لکھا ہے یا یہ کسی قسم کا فریم ورک ہے؟*

ننگی جاوا اسکرپٹ میں بہتر ہے۔

تو کیا فریم ورک؟

کونیی

یہ بات واضح ہے. اور دوسرا سوال۔ آپ نے غور کیا؟ R и *چمکدار**?*

اس پر غور کیا۔ کھیلا.

آپ صرف ایک اڈاپٹر بھی لکھ سکتے ہیں۔

وہ ہے. ایسا لگتا ہے کہ کمیونٹی نے اسے بنایا ہے، لیکن، جیسا کہ میں نے پچھلے سوال کا جواب دیا تھا، میں خود اسے آزمانا چاہتا تھا۔

*نہیں، تصور کے حوالے سے، یہ وہاں بھی ہے۔

آپ کہتے ہیں کہ فلاں چیز ہے اور یہ آپ کا گراف کھینچے گی۔ میں نے ڈیٹا ویژولائزیشن پر ایک کتاب کھولی۔ اور میں نے سوچا: "مجھے اس ڈیٹا کو دیکھنے کی کوشش کرنے دو۔ میں اسے لکھوں گا تاکہ وہ ڈیٹا کو دوبارہ بنا سکے۔ اور میں ڈیٹا فیڈ ٹیکنالوجی کو بہتر طور پر سمجھنے لگا۔ اور اگر میں نے کوئی ریڈی میڈ جزو لیا ہوتا، تو میں ذاتی طور پر اس کو استعمال کرنے کا طریقہ، یعنی ویژولائزیشن کا طریقہ سیکھتا۔ لیکن ہاں، مجھے R پسند آیا، لیکن میں نے ابھی تک "R for Dummies" کتاب نہیں پڑھی۔

آپ کا شکریہ!

سادہ سا سوال۔ کیا فوری طور پر نشانی یا شیڈول اپ لوڈ کرنے کے کوئی طریقے ہیں؟

CSV یا Excel پر اپ لوڈ کیا جا سکتا ہے۔

ڈیٹا نہیں، لیکن ایک ریڈی میڈ پلیٹ، ایک ریڈی میڈ گراف؟ مثلاً باس کو دکھانے کے لیے۔

ایک بٹن ہے "اپ لوڈ" اور ایک بٹن ہے "اپ لوڈ گراف in png, in jpg"۔

آپ کا شکریہ!

ٹیبکس انسٹال کرنے کے لیے PS منی ہدایات

  • ڈاؤن لوڈ، اتارنا تازہ ترین ریلیز
  • پیک کھولیں، ڈائریکٹری کاپی کریں۔ build nginx root_path میں
  • nginx کو ترتیب دیں۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں