هناك العديد من التحديات التي قد تواجهها شركة فهرسة بلوكتشين حديثة، بما في ذلك:
في هذه المقالة، نستعرض تطور بنية تقنية Footprint Analytics على مراحل كدراسة حالة لاستكشاف كيفية معالجة مجموعة تكنولوجيا Iceberg-Trino لتحديات البيانات على السلسلة.
قامت Footprint Analytics بفهرسة حوالي 22 من بيانات بلوكتشين عامة، و17 سوقًا للرموز غير القابلة للتبادل، و١٩٠٠ مشروع GameFi، وأكثر من ١٠٠٠٠٠ مجموعة من مجموعات الرموز غير القابلة للتبادل في طبقة بيانات التجريد الدلالي. إنه حل مستودع بيانات blockchain الأكثر شمولاً في العالم.
بغض النظر عن بيانات بلوكتشين، التي تتضمن أكثر من ٢٠ مليار صف من سجلات المعاملات المالية، والتي كثيرًا ما يستفسر عنها محللو البيانات. إنها تختلف عن سجلات الدخول في مستودعات البيانات التقليدية.
لقد شهدنا 3 ترقيات رئيسية في الأشهر العديدة الماضية لتلبية متطلبات الأعمال المتزايدة:
في بداية برنامج Footprint Analytics، استخدمنا Google Bigquery كمحرك للتخزين والاستعلام؛ Bigquery هو منتج رائع. إنه سريع للغاية وسهل الاستخدام ويوفر قوة حسابية ديناميكية وبنية UDF مرنة تساعدنا على إنجاز المهمة بسرعة.
ومع ذلك، يحتوي Bigquery أيضًا على عدد من المشكلات.
كنا مهتمين جدًا ببعض منتجات OLAP التي أصبحت شائعة جدًا. الميزة الأكثر جاذبية لـ OLAP هي وقت استجابة الاستعلام، والذي يستغرق عادةً ثوانٍ فرعية لإرجاع نتائج الاستعلام لكميات هائلة من البيانات، ويمكنه أيضًا دعم آلاف الاستعلامات المتزامنة.
اخترنا واحدة من أفضل قواعد بيانات OLAP، دوريس، لتجربتها. يعمل هذا المحرك بشكل جيد. ومع ذلك، في مرحلة ما، سرعان ما واجهنا بعض المشكلات الأخرى:
لسوء الحظ، لم نتمكن من استبدال Bigquery بـ Doris، لذلك كان علينا مزامنة البيانات بشكل دوري من Bigquery إلى Doris باستخدامها كمحرك استعلام فقط. واجهت عملية المزامنة هذه عددًا من المشكلات، من بينها تراكم عمليات كتابة التحديث بسرعة عندما كان محرك OLAP مشغولاً بتقديم الاستعلامات إلى عملاء الواجهة الأمامية. بعد ذلك، تأثرت سرعة عملية الكتابة، واستغرقت المزامنة وقتًا أطول، وفي بعض الأحيان أصبح من المستحيل الانتهاء منها.
لقد أدركنا أن OLAP يمكن أن يحل العديد من المشكلات التي نواجهها، ولا يمكن أن يصبح الحل الجاهز لـ Footprint Analytics خاصة بالنسبة لخط أنابيب معالجة البيانات. مشكلتنا أكبر وأكثر تعقيدًا، ويمكننا القول أن OLAP كمحرك استعلام وحده لم يكن كافيًا بالنسبة لنا.
مرحبًا بكم في بنية Footprint Analytics 3.0، وهي عبارة عن إصلاح شامل للبنية الأساسية. لقد قمنا بإعادة تصميم البنية بأكملها من الألف إلى الياء، لفصل التخزين والحساب والاستعلام عن البيانات إلى ثلاث أجزاء مختلفة. تعلم الدروس من البنيتين السابقتين لـ Footprint Analytics، والتعلم من تجربة مشاريع البيانات الضخمة الناجحة الأخرى مثل Uber و Netflix و Databricks.
لقد وجهنا انتباهنا أولاً إلى بحيرة البيانات، وهي نوع جديد من تخزين البيانات لكل من البيانات المهيكلة وغير المهيكلة. تعتبر بحيرة البيانات مثالية لتخزين البيانات على السلسلة حيث تتراوح تنسيقات البيانات على السلسلة على نطاق واسع من البيانات الخام غير المهيكلة إلى بيانات التجريد المنظمة التي تشتهر بها Footprint Analytics. توقعنا استخدام بحيرة البيانات لحل مشكلة تخزين البيانات، ومن الناحية المثالية ستدعم أيضًا محركات الحوسبة السائدة مثل Spark و Flink، بحيث لا يكون من الصعب الاندماج مع أنواع مختلفة من محركات المعالجة مع تطور Footprint Analytics.
يتكامل Iceberg جيدًا مع Spark و Flink و Trino والمحركات الحسابية الأخرى، ويمكننا اختيار الحساب الأنسب لكل من مقاييسنا. على سبيل المثال:
مع حل Iceberg لمشاكل التخزين والحساب، كان علينا بعد ذلك التفكير في كيفية اختيار محرك الاستعلام. لا توجد العديد من الخيارات المتاحة، والبدائل التي درسناها كانت
بمجرد أن قررنا اتجاهنا، أجرينا اختبار أداء على مجموعة Trino + Iceberg لمعرفة ما إذا كانت قادرة على تلبية احتياجاتنا ولدهشتنا، كانت الاستفسارات سريعة للغاية.
مع العلم أن Presto + Hive كان أسوأ مُقارن لسنوات في جميع ضجة OLAP، فإن الجمع بين Trino + Iceberg فجر عقولنا تمامًا.
فيما يلي نتائج اختباراتنا.
الحالة 1: الانضمام إلى مجموعة بيانات كبيرة
ينضم جدول بسعة 800 جيجابايت 1 إلى جدول آخر بسعة 50 جيجابايت 2 ويقوم بإجراء حسابات تجارية معقدة
case2: استخدم جدولًا واحدًا كبيرًا لإجراء استعلام مميز
Test sql: حدد (العنوان) المميز من مجموعة الجداول حسب اليوم
تعد تركيبة Trino+Iceberg أسرع بثلاث مرات تقريبًا من Doris في نفس التكوين.
بالإضافة إلى ذلك، هناك مفاجأة أخرى، لأن Iceberg يمكنه استخدام تنسيقات البيانات مثل Parquet و ORC وما إلى ذلك، والتي ستقوم بضغط البيانات وتخزينها. يستغرق تخزين جدول Iceberg حوالي 1/5 فقط من مساحة مستودعات البيانات الأخرى. حجم التخزين لنفس الجدول في قواعد البيانات الثلاث كما يلي:
ملاحظة: الاختبارات المذكورة أعلاه هي أمثلة فردية واجهناها في الإنتاج الفعلي وهي للإشارة فقط.
・تأثير الترقية
أعطتنا تقارير اختبار الأداء أداءً كافيًا لدرجة أن فريقنا استغرق حوالي شهرين لإكمال الترحيل، وهذا رسم تخطيطي لبنيتنا بعد الترقية.
منذ إطلاقه في أغسطس 2021، أكمل فريق Footprint Analytics ثلاث ترقيات معمارية في أقل من عام ونصف، وذلك بفضل رغبته الواسعة وتصميمه على تقديم فوائد أفضل تقنية لقواعد البيانات لمستخدمي العملات المشفرة، والتنفيذ القوي لتنفيذ وتحديث البنية التحتية والبنية الأساسية.
جلبت ترقية بنية Footprint Analytics 3.0 تجربة جديدة لمستخدميها، مما يسمح للمستخدمين من خلفيات مختلفة بالحصول على رؤى حول الاستخدامات والتطبيقات الأكثر تنوعًا:
هناك العديد من التحديات التي قد تواجهها شركة فهرسة بلوكتشين حديثة، بما في ذلك:
في هذه المقالة، نستعرض تطور بنية تقنية Footprint Analytics على مراحل كدراسة حالة لاستكشاف كيفية معالجة مجموعة تكنولوجيا Iceberg-Trino لتحديات البيانات على السلسلة.
قامت Footprint Analytics بفهرسة حوالي 22 من بيانات بلوكتشين عامة، و17 سوقًا للرموز غير القابلة للتبادل، و١٩٠٠ مشروع GameFi، وأكثر من ١٠٠٠٠٠ مجموعة من مجموعات الرموز غير القابلة للتبادل في طبقة بيانات التجريد الدلالي. إنه حل مستودع بيانات blockchain الأكثر شمولاً في العالم.
بغض النظر عن بيانات بلوكتشين، التي تتضمن أكثر من ٢٠ مليار صف من سجلات المعاملات المالية، والتي كثيرًا ما يستفسر عنها محللو البيانات. إنها تختلف عن سجلات الدخول في مستودعات البيانات التقليدية.
لقد شهدنا 3 ترقيات رئيسية في الأشهر العديدة الماضية لتلبية متطلبات الأعمال المتزايدة:
في بداية برنامج Footprint Analytics، استخدمنا Google Bigquery كمحرك للتخزين والاستعلام؛ Bigquery هو منتج رائع. إنه سريع للغاية وسهل الاستخدام ويوفر قوة حسابية ديناميكية وبنية UDF مرنة تساعدنا على إنجاز المهمة بسرعة.
ومع ذلك، يحتوي Bigquery أيضًا على عدد من المشكلات.
كنا مهتمين جدًا ببعض منتجات OLAP التي أصبحت شائعة جدًا. الميزة الأكثر جاذبية لـ OLAP هي وقت استجابة الاستعلام، والذي يستغرق عادةً ثوانٍ فرعية لإرجاع نتائج الاستعلام لكميات هائلة من البيانات، ويمكنه أيضًا دعم آلاف الاستعلامات المتزامنة.
اخترنا واحدة من أفضل قواعد بيانات OLAP، دوريس، لتجربتها. يعمل هذا المحرك بشكل جيد. ومع ذلك، في مرحلة ما، سرعان ما واجهنا بعض المشكلات الأخرى:
لسوء الحظ، لم نتمكن من استبدال Bigquery بـ Doris، لذلك كان علينا مزامنة البيانات بشكل دوري من Bigquery إلى Doris باستخدامها كمحرك استعلام فقط. واجهت عملية المزامنة هذه عددًا من المشكلات، من بينها تراكم عمليات كتابة التحديث بسرعة عندما كان محرك OLAP مشغولاً بتقديم الاستعلامات إلى عملاء الواجهة الأمامية. بعد ذلك، تأثرت سرعة عملية الكتابة، واستغرقت المزامنة وقتًا أطول، وفي بعض الأحيان أصبح من المستحيل الانتهاء منها.
لقد أدركنا أن OLAP يمكن أن يحل العديد من المشكلات التي نواجهها، ولا يمكن أن يصبح الحل الجاهز لـ Footprint Analytics خاصة بالنسبة لخط أنابيب معالجة البيانات. مشكلتنا أكبر وأكثر تعقيدًا، ويمكننا القول أن OLAP كمحرك استعلام وحده لم يكن كافيًا بالنسبة لنا.
مرحبًا بكم في بنية Footprint Analytics 3.0، وهي عبارة عن إصلاح شامل للبنية الأساسية. لقد قمنا بإعادة تصميم البنية بأكملها من الألف إلى الياء، لفصل التخزين والحساب والاستعلام عن البيانات إلى ثلاث أجزاء مختلفة. تعلم الدروس من البنيتين السابقتين لـ Footprint Analytics، والتعلم من تجربة مشاريع البيانات الضخمة الناجحة الأخرى مثل Uber و Netflix و Databricks.
لقد وجهنا انتباهنا أولاً إلى بحيرة البيانات، وهي نوع جديد من تخزين البيانات لكل من البيانات المهيكلة وغير المهيكلة. تعتبر بحيرة البيانات مثالية لتخزين البيانات على السلسلة حيث تتراوح تنسيقات البيانات على السلسلة على نطاق واسع من البيانات الخام غير المهيكلة إلى بيانات التجريد المنظمة التي تشتهر بها Footprint Analytics. توقعنا استخدام بحيرة البيانات لحل مشكلة تخزين البيانات، ومن الناحية المثالية ستدعم أيضًا محركات الحوسبة السائدة مثل Spark و Flink، بحيث لا يكون من الصعب الاندماج مع أنواع مختلفة من محركات المعالجة مع تطور Footprint Analytics.
يتكامل Iceberg جيدًا مع Spark و Flink و Trino والمحركات الحسابية الأخرى، ويمكننا اختيار الحساب الأنسب لكل من مقاييسنا. على سبيل المثال:
مع حل Iceberg لمشاكل التخزين والحساب، كان علينا بعد ذلك التفكير في كيفية اختيار محرك الاستعلام. لا توجد العديد من الخيارات المتاحة، والبدائل التي درسناها كانت
بمجرد أن قررنا اتجاهنا، أجرينا اختبار أداء على مجموعة Trino + Iceberg لمعرفة ما إذا كانت قادرة على تلبية احتياجاتنا ولدهشتنا، كانت الاستفسارات سريعة للغاية.
مع العلم أن Presto + Hive كان أسوأ مُقارن لسنوات في جميع ضجة OLAP، فإن الجمع بين Trino + Iceberg فجر عقولنا تمامًا.
فيما يلي نتائج اختباراتنا.
الحالة 1: الانضمام إلى مجموعة بيانات كبيرة
ينضم جدول بسعة 800 جيجابايت 1 إلى جدول آخر بسعة 50 جيجابايت 2 ويقوم بإجراء حسابات تجارية معقدة
case2: استخدم جدولًا واحدًا كبيرًا لإجراء استعلام مميز
Test sql: حدد (العنوان) المميز من مجموعة الجداول حسب اليوم
تعد تركيبة Trino+Iceberg أسرع بثلاث مرات تقريبًا من Doris في نفس التكوين.
بالإضافة إلى ذلك، هناك مفاجأة أخرى، لأن Iceberg يمكنه استخدام تنسيقات البيانات مثل Parquet و ORC وما إلى ذلك، والتي ستقوم بضغط البيانات وتخزينها. يستغرق تخزين جدول Iceberg حوالي 1/5 فقط من مساحة مستودعات البيانات الأخرى. حجم التخزين لنفس الجدول في قواعد البيانات الثلاث كما يلي:
ملاحظة: الاختبارات المذكورة أعلاه هي أمثلة فردية واجهناها في الإنتاج الفعلي وهي للإشارة فقط.
・تأثير الترقية
أعطتنا تقارير اختبار الأداء أداءً كافيًا لدرجة أن فريقنا استغرق حوالي شهرين لإكمال الترحيل، وهذا رسم تخطيطي لبنيتنا بعد الترقية.
منذ إطلاقه في أغسطس 2021، أكمل فريق Footprint Analytics ثلاث ترقيات معمارية في أقل من عام ونصف، وذلك بفضل رغبته الواسعة وتصميمه على تقديم فوائد أفضل تقنية لقواعد البيانات لمستخدمي العملات المشفرة، والتنفيذ القوي لتنفيذ وتحديث البنية التحتية والبنية الأساسية.
جلبت ترقية بنية Footprint Analytics 3.0 تجربة جديدة لمستخدميها، مما يسمح للمستخدمين من خلفيات مختلفة بالحصول على رؤى حول الاستخدامات والتطبيقات الأكثر تنوعًا: