تواجه الشركات الناشئة المتخصصة في فهرسة بيانات البلوكشين الحديثة عدداً من التحديات، من بينها:
ومع انتشار استخدام تقنية البلوكشين، ارتفع حجم البيانات المخزنة على الشبكة نتيجة زيادة المستخدمين، حيث تضيف كل معاملة بيانات جديدة. كما تطورت استخدامات البلوكشين من تطبيقات نقل الأموال البسيطة مثل Bitcoin إلى تطبيقات أكثر تعقيداً تتضمن تنفيذ منطق الأعمال ضمن العقود الذكية، وهذه الأخيرة تولد كميات ضخمة من البيانات، ما زاد من تعقيد وحجم البلوكشين مع مرور الوقت.
في هذا المقال، نستعرض تطور بنية تقنية Footprint Analytics كمثال لدراسة كيفية معالجة منظومة Iceberg-Trino لتحديات بيانات البلوكشين.
قامت Footprint Analytics بفهرسة بيانات 22 بلوكشين عامة، و17 سوق NFT، و1900 مشروع GameFi، وأكثر من 100,000 مجموعة NFT ضمن طبقة تجريد بيانات دلالية، لتقدم بذلك أكثر حلول مستودعات بيانات البلوكشين شمولاً على مستوى العالم.
أما بيانات البلوكشين، التي تتجاوز 20 مليار سجل معاملات مالية وغالباً ما يستعلم عنها محللو البيانات، فهي تختلف عن سجلات الإدخال في مستودعات البيانات التقليدية.
شهدنا ثلاث ترقيات رئيسية خلال الأشهر الماضية لتلبية متطلبات الأعمال المتزايدة:
في بداية Footprint Analytics، اعتمدنا على Google Bigquery كمحرك تخزين واستعلام؛ وهو منتج يتميز بسرعة كبيرة وسهولة الاستخدام ويوفر قوة حسابية ديناميكية وبنية UDF مرنة تساعدنا على إنجاز المهام بسرعة.
لكن Bigquery واجه عدة مشكلات:
لذلك قررنا البحث عن بنى بديلة.
اهتممنا ببعض منتجات OLAP الرائجة، حيث تكمن أبرز ميزاتها في سرعة الاستعلام العالية ودعمها لآلاف الاستعلامات المتزامنة.
اخترنا قاعدة بيانات Doris كأحد أفضل محركات OLAP لتجربتها، وحققت أداءً جيداً، لكننا واجهنا لاحقاً بعض التحديات:
لذا لم نتمكن من استخدام Doris لكامل خط أنابيب البيانات في الإنتاج، بل استخدمناه كمحرك استعلام OLAP لحل جزء من المشكلة، مع توفير استعلامات سريعة وعالية التوازي.
لكن لم نستطع استبدال Bigquery بـDoris، واضطررنا لمزامنة البيانات دورياً من Bigquery إلى Doris، ما أدى إلى تراكم عمليات التحديث عند انشغال محرك OLAP بخدمة استعلامات المستخدمين، وبالتالي تباطأت عمليات الكتابة والمزامنة وأحياناً أصبحت مستحيلة.
أدركنا أن OLAP يحل بعض المشكلات، لكنه لا يمثل الحل الشامل لمنظومة Footprint Analytics، خاصة في خط معالجة البيانات، فمشكلتنا أعمق وأكثر تعقيداً، وOLAP كمحرك استعلام فقط لم يكن كافياً.
مع إطلاق Footprint Analytics 3.0، أعدنا تصميم البنية التحتية بالكامل، وقمنا بفصل التخزين والحوسبة والاستعلام إلى ثلاثة مكونات مستقلة، مستفيدين من دروس البنيتين السابقتين وتجارب مشاريع البيانات الضخمة الناجحة مثل Uber وNetflix وDatabricks.
اتجهنا أولاً نحو بحيرة البيانات، وهي نوع جديد من التخزين يدعم البيانات المهيكلة وغير المهيكلة، وتعد مثالية لبيانات البلوكشين التي تتنوع بين البيانات الخام غير المهيكلة والبيانات المجردة المنظمة التي تشتهر بها Footprint Analytics. توقعنا أن تحل بحيرة البيانات مشكلة التخزين، وأن تدعم محركات الحوسبة الرئيسية مثل Spark وFlink لتسهيل التكامل مع مختلف محركات المعالجة مع تطور Footprint Analytics.
يتكامل Iceberg بكفاءة مع Spark وFlink وTrino وغيرها من محركات الحوسبة، ما يتيح لنا اختيار المحرك الأنسب لكل مؤشر. على سبيل المثال:
بعد حل Iceberg لمشكلات التخزين والحوسبة، كان علينا اختيار محرك الاستعلام الأنسب. لم تكن الخيارات كثيرة، ودرسنا البدائل التالية:
كان الأهم أن يكون محرك الاستعلام متوافقاً مع البنية الحالية لدينا:
بناءً على ذلك اخترنا Trino، الذي يوفر دعماً ممتازاً لـIceberg، كما أن فريق الدعم استجاب بسرعة فائقة حيث تم إصلاح خطأ خلال يوم واحد وإصداره في النسخة الأحدث خلال أسبوع. كان هذا الخيار الأمثل لفريق Footprint الذي يحتاج لاستجابة تنفيذية عالية.
بعد تحديد المسار، أجرينا اختبار أداء لمزيج Trino + Iceberg، وكانت النتائج مذهلة من حيث سرعة الاستعلامات.
وبينما ظل Presto + Hive لسنوات أضعف الخيارات في مجال OLAP، فقد فاق مزيج Trino + Iceberg جميع التوقعات.
وفيما يلي نتائج اختباراتنا:
الحالة 1: دمج مجموعتي بيانات ضخمتين
جدول بحجم 800 GB (table1) يدمج مع جدول آخر بحجم 50 GB (table2) ويجري حسابات أعمال معقدة
الحالة 2: استخدام جدول كبير لاستعلام مميز
اختبار SQL: select distinct(address) from table group by day

مزيج Trino+Iceberg أسرع بثلاثة أضعاف تقريباً من Doris بنفس التكوين.
ميزة إضافية أخرى هي أن Iceberg يدعم صيغ بيانات مثل Parquet وORC، ما يسمح بضغط البيانات وتخزينها بكفاءة، حيث يشغل تخزين الجداول في Iceberg فقط حوالي خمس المساحة المستخدمة في مستودعات البيانات الأخرى. يوضح الجدول التالي حجم التخزين لنفس الجدول في قواعد البيانات الثلاث:

ملاحظة: النتائج أعلاه أمثلة عملية من الإنتاج الفعلي وتُعرض للمرجعية فقط.
・أثر الترقية
منحتنا تقارير الأداء ثقة كافية، واستغرق فريقنا نحو شهرين لإتمام الترحيل، وهذه صورة توضح البنية بعد الترقية.

منذ انطلاقها في أغسطس 2021، أنجز فريق Footprint Analytics ثلاث ترقيات معمارية خلال أقل من عام ونصف، مدفوعاً بالعزيمة لتقديم أفضل تقنيات قواعد البيانات لمستخدمي الكريبتو وتنفيذ بنية تحتية متطورة.
وقد أدت ترقية Footprint Analytics 3.0 إلى تجربة جديدة للمستخدمين، حيث أصبح بإمكانهم من مختلف الخلفيات الوصول إلى رؤى وتحليلات أكثر تنوعاً: