Impala vs Hive و Spark SQL: اختيار محرك SQL الصحيح للعمل بشكل صحيح في Cloudera Data Warehouse



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

سأقدم مثالاً للحياة لكي تفهم ما أقصده بشكل أفضل. منذ حوالي عامين ، أنقذت البيانات حياة ابنة صديقي. عندما ولدت تم تشخيص أنها مصابة بسبع عيوب في القلب. بفضل التقنيات الجديدة ، مثل الرسومات ثلاثية الأبعاد التفاعلية ، والنمذجة الافتراضية ، وتحليل ECG الأكثر ذكاءً ، والحلول الحديثة لمراقبة المرضى الذين يخضعون لراحة في الفراش ، وبفضل الإجراءات الطبية المتقدمة الأخرى المستندة إلى البيانات ، تمكنت من النجاة من عمليتي قلب مفتوحتين وتعيش الآن حياة صحية . البيانات أنقذت حياتها. هذا ما يدفعني يوميًا للبحث عن حلول جديدة مبتكرة وطرق لنقل البيانات بشكل أسرع إلى من يحتاجون إليها أكثر من غيرهم.

أنا فخور بأن أكون جزءًا من فريق Cloudera Data Warehouse (CDW) ، المدعوم من Cloudera Data Platform (CDP). تم إنشاء CDP من البداية كسحابة بيانات مؤسسة أو Enterprise Data Cloud (EDC). EDC هي أداة متعددة الوظائف لتنفيذ العديد من المهام على منصة واحدة. بفضل استخدام الأنظمة المختلطة والسحابية المتعددة ، يمكن لـ CDP العمل في أي مكان - سواء على نظام أساسي بدون نظام تشغيل ، وفي سحابة خاصة وعامة. نظرًا لأن المزيد من الحلول السحابية يتم تقديمها كجزء من خطة التطوير الرقمي الخاصة بنا ، نرى أن الحلول الهجينة والمتعددة السحابية أصبحت هي المعيار الجديد. ومع ذلك ، فإن هذه الحلول المدمجة تخلق مشاكل في إدارتها ، الأمر الذي يخلق بدوره مخاطر أمنية جديدة ، واحتمال المراقبة من قبل المستخدم ، وبالتالي انتهاكًا للقانون. لحل هذه المشكلات ، يتمتع CDP بقدرات أمنية وتحكمية متقدمة تجعل الوصول إلى البيانات مفتوحًا دون المخاطرة بانتهاك سياسة أمان أي شخص أو حتى القانون.

CDW on CDP هي خدمة جديدة تتيح لك إنشاء مستودع بيانات خدمة ذاتية لفرق تحليلات BI. يمكنك إنشاء مستودعات بيانات جديدة بسرعة واستخدامها بنفسك ، أو منحهم حق الوصول إلى مجموعة من الأشخاص واستخدام قاعدة بيانات واحدة معهم. هل تتذكر الأوقات التي تمكنت فيها من إدارة مستودع بياناتك بمفردك؟ إدارة ذلك دون مشاركة المنصات والبنية التحتية اللازمة لتشغيلها؟ هذا لم يحدث من قبل. جعل CDW هذا ممكن.

بفضل CDW ، أصبحت العديد من محركات SQL متاحة ، لكن الارتباك يأتي بخيارات رائعة. دعونا نلقي نظرة على محركات SQL المتوفرة في CDW على CDP ، ومناقشة خيار SQL الأكثر ملاءمة لمهمة محددة.

هذا خيار كبير! إمبالا؟ خلية LLAP؟ شرارة؟ ماذا تستخدم ومتى؟ دعونا معرفة ذلك.

محرك إمبالا مزود


Impala هو محرك MPP مفتوح المصدر مشهور بمجموعة واسعة من الميزات في Cloudera Distribution Hadoop (CDH) و CDP. اكتسبت إمبالا ثقة السوق من خلال استفسارات SQL التفاعلية عالية الاستتار. إمكانات إمبالا واسعة للغاية ، لا يدعم إمبالا فقط نظام الملفات الموزعة Hadoop (HDFS - نظام الملفات الموزعة Hadoop) مع الباركيه ، عمودي الصف الأمثل (ORC - عقدة التخزين المحسّنة) ، تدوين كائنات JavaScript (JSON) ، Avro ، وتنسيقات النص ، ولكن أيضًا يتضمن دعمًا مدمجًا لـ Kudu و Microsoft Azure Data Lake Storage (ADLS) و Amazon Simple Storage Service (S3). تتمتع إمبالا بمستوى عالٍ من الأمان باستخدام إما الحارس أو حارس ، وكما تعلم ، يمكن أن تدعم الآلاف من المستخدمين بمجموعات من مئات العقد على مجموعات بيانات متعددة بيتابايت. دعونا ننظر إلى العمارة إمبالا الشاملة.



يستخدم إمبالا StateStore للتحقق من صحة الكتلة. في حالة عدم اتصال عقدة Impala دون اتصال ، سترسل StateStore رسالة حول هذا الموضوع إلى جميع العقد وتتخطى العقدة التي يتعذر الوصول إليها. تدير خدمة دليل Impala بيانات التعريف لكافة عبارات SQL لكافة العقد في الكتلة. يتبادل StateStore وخدمة الدليل البيانات مع Hive MetaStore لتخزين الكتل والملفات ، ثم نقل البيانات التعريفية إلى عقد العمل. عند وصول الطلب ، يتم تمريره إلى واحد من العديد من البرامج المطابقة حيث يتم تنفيذ التجميع وبدء التخطيط. يتم إرجاع أجزاء من الخطة ، وينظم برنامج التنسيق تنفيذها. يتم تمرير النتائج الوسيطة بين خدمات Impala ثم يتم إرجاعها.

تعتبر هذه البنية مثالية للحالات التي نحتاج فيها إلى علامات بيانات لذكاء الأعمال لتلقي إجابات على الاستعلامات ذات الكمون المنخفض ، كما هو الحال عادةً مع أنواع ad-hoc و service self and discovery. في هذا السيناريو ، لدينا عملاء يخبروننا بإجابات عن الاستعلامات المعقدة من أقل من ثانية واحدة إلى خمس ثوان.

بالنسبة لبيانات إنترنت الأشياء (IoT) والسيناريوهات ذات الصلة ، يمكن لـ Impala ، إلى جانب حلول التدفق مثل NiFi أو Kafka أو Spark Streaming ، ومستودعات البيانات ذات الصلة مثل Kudu ، توفير خطوط أنابيب مستمرة مع تأخير زمني أقل من عشر ثوانٍ . بفضل إمكانات القراءة / الكتابة المضمنة على S3 و ADLS و HDFS و Hive و HBase وأكثر من ذلك ، تعد Impala محرك SQL ممتازًا لاستخدامه عند بدء تشغيل مجموعة تصل إلى 1000 عقدة وأكثر من 100 تريليون صف في الجداول أو مجموعات البيانات من 50BP أو أكثر.

خلية LLAP


Live Long And Process ، أو Long Delay Analytics Processing ، المعروف أيضًا باسم LLAP ، هو محرك تنفيذ قائم على خلية Hive يدعم العمليات الطويلة الأمد باستخدام نفس موارد التخزين المؤقت والمعالجة. تعطينا آلية المعالجة هذه استجابة من SQL مع زمن استجابة منخفض للغاية ، حيث لا يوجد لدينا وقت لبدء الموارد المطلوبة.



بالإضافة إلى ذلك ، توفر LLAP وتؤسس تحكمًا في تنفيذ سياسات الأمان ، بحيث تكون جميع LLAP تعمل للمستخدم شفافة ، مما يساعد Hive على التنافس من حيث أداء عبء العمل حتى مع وسائط التخزين الأكثر شيوعًا والمستخدمة بشكل تقليدي اليوم.

تقدم خلية LLAP محرك SQL الأكثر تقدمًا في النظام البيئي للبيانات الضخمة. تم إنشاء HLL LLAP لكمية هائلة من البيانات ، مما يوفر للمستخدمين إمكانيات واسعة من Enterprise Data Warehouse (EDW) ، والذي يدعم تحويل كميات كبيرة من البيانات ، وتنفيذ استعلامات طويلة أو استعلامات SQL ثقيلة بمئات الصلات. يدعم Hive طرق العرض الملموسة ومفاتيح بديلة وقيود مختلفة مشابهة لأنظمة إدارة قواعد البيانات العلائقية التقليدية ، بما في ذلك التخزين المؤقت المدمج للاستعلام عن النتائج والاستعلام عن البيانات. يمكن لخلية LLAP تقليل عبء الطلبات المتكررة عن طريق تقليل وقت الاستجابة إلى جزء من الثانية. يمكن لـ Hive LLAP دعم الطلبات الموحدة لـ HDFS (نظام الملفات الموزعة Hadoop) ومخازن الكائنات ، بالإضافة إلى البث في الوقت الفعلي ، مع Kafka و Druid.

وبالتالي ، تعد HL LLAP مناسبة بشكل مثالي كحل لمستودع بيانات المؤسسة (EDW) ، حيث سنواجه عددًا كبيرًا من الاستعلامات الطويلة التي تتطلب تحويلات كبيرة أو روابط متعددة بين الجداول ومجموعات البيانات الكبيرة. بفضل تقنية التخزين المؤقت المضمنة في Hive LLAP ، لدينا الآن عملاء يمكنهم الانضمام إلى 330 مليار سجل مع 92 مليار سجل آخر مع أو بدون مفتاح قسم والحصول على نتائج في ثوان.

شرارة مربع



يعد Spark محركًا عالي الأداء وعاليًا لمعالجة البيانات يدعم معالجة البيانات وتوزيعها ولديه مجموعة واسعة من التطبيقات. هناك العديد من مكتبات بيانات Spark لعلم البيانات وخبراء التعلم الآلي الذين يدعمون نموذج البرمجة عالي المستوى من أجل التطوير السريع. بشكل بارز أعلى Spark هي Spark SQL و MLlib و Spark Streaming و GrapX.



Spark SQL هي وحدة نمطية لمعالجة البيانات المنظمة ، ومتوافقة مع مصادر البيانات المختلفة ، مع دعم Hive و Avro و Parquet و ORC و JSON و JDBC. Spark SQL فعال في مجموعات البيانات شبه الهيكلية ويتكامل مع مستودعات Hive MetaStore و NoSQL مثل HBase. غالبًا ما يستخدم Spark مع العديد من واجهات برمجة التطبيقات البرمجية بلغات البرمجة المفضلة لدينا مثل Java و Python و R و Scala.

يمكن أن يكون Spark مفيدًا للغاية إذا كنت بحاجة إلى تضمين استعلامات SQL مع برامج Spark إذا كانت تعمل بكميات كبيرة من البيانات وتحميل كبير. تساعد Spark العديد من مستخدمينا الذين يعملون في شركات Global 100 على تقليل معالجة تدفق البيانات. عند الجمع بين هذا وبين MLlib ، نرى عدد العملاء الذين يستجيبون بشكل إيجابي لـ Spark ، كنظام ممتاز قادر على تعلم الآلة عند العمل مع تطبيقات مستودع البيانات. مع الأداء العالي ، والكمون المنخفض والتكامل الممتاز لأدوات الطرف الثالث ، توفر Spark SQL أفضل الظروف للتبديل بين البرمجة و SQL.

لذلك أي محرك SQL للاستخدام؟



نظرًا لأنه يمكنك دمج نفس البيانات في CDW إلى CDP ، يمكنك اختيار المحرك المناسب لكل نوع من عبء العمل ، مثل هندسة البيانات ، EDW التقليدية ، التحليلات المخصصة ، لوحات معلومات BI ، المعالجة التحليلية عبر الإنترنت (OLAP) أو عبر الإنترنت معالجة المعاملات (OLTP). يوضح الرسم البياني أدناه بعض المبادئ التي تهدف إلى تبسيط عملية الاختيار ، والتي بموجبها تكون المحركات وآلياتها مناسبة تمامًا لكل هدف من الأهداف المذكورة.



استنتاج


إذا كنت تستخدم EDW التي تدعم لوحات معلومات BI ، فستقدم لك Hive LLAP أفضل النتائج. عندما تحتاج إلى تخزين بيانات مخصص ، وخدمة ذاتية ، والبحث ، فاغض النظر عن فوائد Impala. إذا نظرت إلى هندسة البيانات باستخدام استعلامات طويلة الأمد وبدون التزامن العالي ، فإن Spark SQL يعد خيارًا رائعًا. إذا كنت بحاجة إلى دعم التزامن العالي ، يمكنك إلقاء نظرة على Hive على Tez. ابحث عن دعم OLAP مع بيانات السلاسل الزمنية ، أضف Druid ، وإذا كنت تبحث عن OLTP مع زمن استجابة منخفض وتزامن عالٍ ، فربما يجب عليك إضافة Phoenix.

المجموع - هناك العديد من محركات SQL في CDW إلى CDP ، ويتم ذلك عن قصد. يعد اتخاذ الخيارات قبل اتخاذ القرار هو أفضل طريقة لتحسين العمليات للتطبيقات عالية الأداء من خلال المعالجة متعددة الخيوط في مستودعات البيانات الضخمة. يوفر CDW في CDP مشاركة البيانات ومشاركتها في ظل نظام واحد للأمان والإدارة وتتبع البيانات والبيانات الوصفية ، مما يسمح لك بدمج مكونات SQL في مستودعات تخزين محسنة. وبالتالي ، فإن هذا يمنح المستخدم حرية اختيار أفضل محرك SQL اعتمادا على أعباء العمل.

Source: https://habr.com/ru/post/ar486124/


All Articles