Presto، أو قاعدة بيانات Presto (PrestoDB)، هو محرك استعلام SQL مفتوح المصدر وموزع يمكنه البحث في مجموعات بيانات ضخمة من مصادر بيانات مختلفة، ما يتيح للمؤسسات حل مشكلات البيانات على نطاق واسع.
يمنح محرك Presto المؤسسات بمختلف أحجامها طريقة سريعة وفعالة لتحليل البيانات الكبيرة من مصادر مختلفة بما في ذلك الأنظمة المحلية والسحابة. كما أنه يساعد الشركات على الاستعلام عن بيتابايت من البيانات باستخدام إمكانات SQL المتوفرة حاليًا لديها، من دون الحاجة إلى تعلم لغة جديدة.
يُستخدم Presto اليوم بشكل شائع للاستعلام على Hadoop وغيره من مقدمي خدمات تخزين البيانات الشائعين، ما يتيح للمستخدمين إدارة لغات استعلام وواجهات متعددة لقواعد البيانات والتخزين.
في العصر الرقمي، تحولت تحليلات البيانات الكبيرة سريعًا لتصبح كفاءة أساسية للمؤسسات بغض النظر عن الحجم أو المجال. تُعد القدرة على جمع وتخزين وتحليل كميات كبيرة من البيانات المتعلقة بعمليات الأعمال وتفضيلات العملاء واتجاهات السوق ذات قيمة كبيرة. تتمثل أهمية Presto الأساسية في تحليلات البيانات في قدرته على تحليل البيانات بغض النظر عن مكان تخزينها، ومن دون الاضطرار إلى نقلها إلى نظام أكثر تنظيمًا أولاً، مثل مستودع البيانات أو بحيرة البيانات.
لقد أصبح Presto أداة شهيرة بين علماء البيانات والمهندسين الذين يتعاملون مع لغات استعلام متعددة، وقواعد بيانات منعزلة، وأنواع مختلفة من التخزين. تتيح الإمكانات فائقة الأداء للمستخدمين الاستعلام عن كميات كبيرة من البيانات في الوقت الفعلي، بغض النظر عن مكان وجود البيانات، باستخدام واجهة ANSI SQL بسيطة. إن سرعة Presto وأداءه في تنفيذ الاستعلامات على كميات كبيرة من البيانات جعلت منه أداة لا غنى عنها بالنسبة إلى بعض كبرى الشركات في العالم بما في ذلك Facebook وAirbnb وNetflix وMicrosoft وApple (iOS) وAWS (Athena وAmazon s3).
تُعد بنية Presto فريدة من نوعها من حيث إنها مصممة للاستعلام عن البيانات بغض النظر عن مكان تخزينها، ما يجعله أكثر قابلية للتوسع وأكثر كفاءة من الحلول الأخرى المماثلة. تسمح استعلامات Presto للمهندسين باستخدام البيانات من دون الحاجة إلى نقلها فعليًا من موقع إلى آخر. وهذه من الإمكانات المهمة التي يجب توفيرها حيث تتعامل المؤسسات مع كمية متزايدة باستمرار من البيانات التي ينبغي تخزينها وتحليلها.
Presto مصمم لتمكين عالم البيانات والمهندسين من الاستعلام التفاعلي عن كميات هائلة من البيانات بغض النظر عن مصدر التخزين أو نوعه. ونظرًا إلى أن Presto لا يخزن البيانات، بل يتصل بقاعدة بيانات منفصلة لإجراء استعلاماته، فهو أكثر مرونة من منافسيه ويمكنه توسيع نطاق الاستعلامات أو تضييقه بسرعة بناءً على الاحتياجات المتغيرة للمؤسسة. وفقًا للمستند الفني الذي أعدته IBM، يمكن أن يساعد Presto، المُحسّن لدعم أحمال تشغيل ذكاء الأعمال، المؤسسات على تحسين تسعير مستودعات البيانات لديها وخفض التكاليف بنسبة تصل إلى 50 بالمائة.
فيما يلي بعض المزايا الرئيسية لاستخدام سير عمل Presto:
خفض التكاليف: مع ازدياد حجم مستودعات البيانات وعدد المستخدمين الذين يجرون الاستعلامات، فمن الطبيعي أن تشهد الشركات زيادة سريعة في تكاليفها. ومع ذلك، جرى تحسين Presto لإجراء كميات كبيرة من الاستعلامات الصغيرة، ما يسهل الاستعلام عن أي كمية من البيانات مع الحفاظ على انخفاض التكاليف في الوقت نفسه. وكذلك، نظرًا إلى أن Presto مفتوح المصدر، لا توجد رسوم مرتبطة بنشره، ما قد يؤدي إلى وفورات كبيرة للمؤسسات التي تتطلع إلى معالجة كميات كبيرة من البيانات.
تعزيز قابلية التوسع: من الشائع أن يدمج المهندسون محركات ولغات متعددة في نظام تخزين بحيرة بيانات واحد، ما يجعل من الضروري إعادة تطوير المنصة في المستقبل والحد من قابلية توسع حلولهم. بفضل Presto، تُجرى جميع الاستعلامات باستخدام لغة وواجهة ANSI SQL العالمية، ما يجعل إعادة تطوير المنصة أمرًا غير ضروري. بالإضافة إلى ذلك، يمكن استخدام Presto لكميات صغيرة وكبيرة من البيانات ويمكن توسيع نطاقه بسهولة من مستخدم واحد أو اثنين إلى آلاف المستخدمين. ينشر Presto محركات حسابية متعددة بصيغ SQL وواجهات برمجة التطبيقات الفريدة، ما يجعله أداة مثالية لتوسيع نطاق أحمال التشغيل التي قد تكون معقدة للغاية وتستغرق وقتًا طويلاً من فرق المهندسين وعلماء البيانات لتنفيذها.
تحسين الأداء: في حين أن العديد من محركات الاستعلامات التي تستخدم SQL على Hadoop مقيدة في أدائها الحسابي لأنها مصممة بحيث تكتب النتائج على القرص، فإن نموذج Presto الموزع في الذاكرة يمكّنها من إجراء كميات كبيرة من الاستعلامات التفاعلية في وقت واحد على مجموعات بيانات كبيرة. باستخدام تصميم كلاسيكي للمعالجة المتوازية المكثفة (MPP)، يجدول Presto أكبر عدد ممكن من الاستعلامات على عقدة عاملة واحدة ويستخدم نظام خلط التدفق في الذاكرة لزيادة سرعات المعالجة بشكل أكبر. تنفيذ المهام في الذاكرة يجعل الكتابة والقراءة من القرص بين المراحل غير ضرورية ويقلل من الوقت اللازم لإجراء كل استعلام، ما يجعل Presto خيارًا ذا زمن انتقال أقصر من منافسيه.
تعزيز المرونة: يستخدم Presto نموذج التوصيل والتشغيل لجميع مصادر بياناته بما في ذلك Cassandra وKafka وMySQL ونظام الملفات الموزع Hadoop (HDFS) وPostgreSQL وغيرها، ما يجعل الاستعلام عنها أسرع وأسهل من الأدوات الأخرى المماثلة التي تفتقر إلى هذه الوظيفة. بالإضافة إلى ذلك، تعني بنية Presto المرنة أنها لا تقتصر على مورد واحد فحسب، بل تعمل على معظم توزيعات Hadoop، ما يجعله واحدًا من أكثر الأدوات المحمولة المتاحة.
على الرغم من أن Presto لا يُعد خيار SQL-on-Hadoop الوحيد المتاح للمطورين ومهندسي البيانات، فإن بنيته الفريدة التي تفصل بين وظائف الاستعلام ووحدات تخزين البيانات تجعله واحدًا من أكثر الخيارات مرونة. على عكس الأدوات الأخرى، يفصل Presto بين محركات الاستعلام ووحدات تخزين البيانات ويستخدم الموصلات للربط بينها. تمنح هذه الوظيفة الإضافية المهندسين مرونة أكبر من الأدوات الأخرى في كيفية تطوير الحلول باستخدام Presto.
يستخدم Presto نظام إدارة قواعد البيانات للمعالجة المتوازية المكثفة مع عقدة منسق واحدة تعمل جنبًا إلى جنب مع العُقد الأخرى. يتكون نظام Presto البنائي من ثلاثة أنواع من الخوادم، خادم منسق وخادم عامل وخادم مدير الموارد.
المنسق: يُعد المنسق هو "العقل المدبر" في عملية تثبيت Presto. وهو مسؤول عن بعض المهام الأكثر حساسية بما في ذلك تحليل الأوامر وتخطيط الاستعلامات وإدارة العُقد العاملة في Presto. وأخيرًا، يكون مسؤولاً عن استرداد البيانات من عُقد العامل وتسليم النتائج إلى العميل.
العامل: العامل مسؤول عن جمع البيانات من عُقد العامل وضمان التبادل السلس للبيانات بينه وبين الموصلات.
مدير الموارد: يجمع مدير الموارد البيانات من جميع عُقد المنسق والعامل ويُنشئ عرضًا عالميًا، أو "مجموعة Presto".
عندما يستقبل خادم SQL المنسق في Presto استعلام SQL من المستخدم، فإن أول ما يفعله هو إجراء استعلام مخصص لتحليل الخطة الموزعة وتخطيطها وجدولتها عبر العُقد الأخرى. تُستخدم واجهة برمجة التطبيقات REST في Presto لإرسال أوامر الاستعلام بهدف تنفيذها على الخادم واسترداد النتائج وتقديمها إلى العميل. يدعم Presto دلالات ANSI SQL القياسية، بما في ذلك الروابط والاستعلامات والاستعلامات الفرعية والتجميعات. بمجرد الانتهاء من الاستعلام، يحلل Presto الطلب إلى مراحل مختلفة بين عُقد العامل.
نظرًا إلى أن Presto قائم على مفهوم تجريد البيانات، فهو قابل للتوسعة ليشمل أي مصدر بيانات ويمكنه الاستعلام بسهولة عن مصادر البيانات مثل بحيرات البيانات ومستودعات البيانات وقواعد البيانات العلائقية. تجريد البيانات هو عملية برمجة تسمح بتخزين البيانات ومعالجتها بكفاءة أكبر من خلال فصل تمثيلها عن التخزين الفعلي. يسمح هذا التجريد لمحرك الاستعلام بالتركيز فقط على جوانب البيانات ذات الصلة باستعلامه. باستخدام عملية تجريد البيانات، يُجرى الاستعلام عن البيانات في مكان تخزينها أينما كان بدلاً من نقلها إلى نظام تحليلات آخر.
جرى تطوير Presto في البداية في Facebook لإجراء الاستعلامات التفاعلية على مستودع بيانات Apache Hadoop الضخم، وقد رأى مطورو Presto دائمًا أنه برنامج مفتوح المصدر وسعوا إلى جعله مجانيًا للاستخدام التجاري حتى يتمكن أي شخص من استخدامه في تحليلات البيانات وإدارة البيانات. في عام 2013، أُصدر كبرنامج مفتوح المصدر على GitHub وكان بإمكان أي شخص تنزيله بموجب ترخيص Apache Software. في عام 2019، غادر ثلاثة من الأعضاء الأصليين في فريق تطوير Presto المشروع وأسسوا "مجموعة منفصلة" من Presto تعرف باسم مؤسسة Presto Software Foundation، أو كما هو شائع أكثر، باسم prestosql.
تقدم مؤسسة Linux وغيرها من مجتمعات المصدر المفتوح ندوات عبر الإنترنت وتدريبًا حول Presto باللغة الإنجليزية ولغات أخرى للمهندسين والمطورين الذين يتطلعون إلى الحصول على شهادة. تُعد هذه المنتديات أيضًا مكانًا جيدًا للتعرف على تطورات Presto.
يُمكِّن Presto المؤسسات من الاستعلام عن مستودعات البيانات واسعة النطاق وقواعد بيانات NoSQL بسرعة وكفاءة، وذلك لمجموعة متنوعة من أغراض العمل. وفيما يلي بعض حالات استخدامه الأكثر شيوعًا:
يتيح Presto استكشاف البيانات بسرعة وإعداد التقارير مباشرة، وذلك لمجموعة متنوعة من أغراض العمل. باستخدام موصلات Presto الشائعة، مثل Hive أو MongoDB أو Cassandra، يمكن للمستخدمين الاستعلام عن البيانات التي تهمهم والحصول على النتائج في ثوانٍ. وبفضل سرعته ومرونته، يُمكّن Presto المستخدمين من تحسين مجموعات البيانات واستكشافها بشكل أكبر، بغض النظر عن مكان وجودها.
فيما يلي بعض مستودعات البيانات الأكثر استخدامًا والتي يمكن أن يتصل بها Presto:
وفقًا لتقييم الأداء لعام 2021 الذي أجرته شركة RedHat، فإن استخدام الشركات المتزايد للبيئات السحابية الهجينة يشكل ضغطًا متزايدًا على التخزين السحابي، والذي يُعد Presto، "أسرع محرك استعلام موزع متاح اليوم" مثاليًا له. 1 إن نقل أحمال التشغيل من بيئة محلية إلى بنية تحتية سحابية أو سحابية هجينة له العديد من المزايا، بما في ذلك تعزيز الأداء وقابلية التوسع. إن بنية Presto تجعله خيارًا ممتازًا لعمليات النشر هذه لأنه يمكن تشغيله في بضع دقائق من دون الحاجة إلى توفير موارد أو إجراء تكوين أو ضبط إضافي.
يساعد Presto المهندسين على تجهيز البيانات وتصميم المزايا واستخراجها بطريقة فعالة للغاية تضمن جاهزيتها للتعلم الآلي (ML). كما أن عدد الوصلات ومحرك SQL وإمكانات الاستعلام تجعله مثاليًا للمهندسين الذين يتطلعون إلى وصول سريع وسهل إلى كميات كبيرة من البيانات. بالإضافة إلى ذلك، يحتوي Presto على أدوات مصممة خصوصًا لوظائف التعلم الآلي (ML) مثل التجميع، والتي تسمح لعلماء البيانات بتدريب مصنفات ومُنقِّحات آلة المتجهات الداعمة (SVM) لمعالجة مشكلات التعلم الموجّه.
يسمح Presto بالاستعلام عن البيانات من مصادر متعددة لإنشاء تقرير واحد أو لوحة معلومات يمكن الوصول إليها بسهولة، وذلك لأغراض ذكاء الأعمال. Presto بسيط وسهل الاستخدام بحيث يمكن للمحللين إجراء الاستعلامات وإنشاء التقارير من دون الحاجة إلى مساعدة المهندسين.
يُمكِّن Presto المحللين من إجراء استعلامات عن البيانات المنظمة والبيانات غير المنظمة في بحيرة البيانات مباشرةً من دون الحاجة إلى إجراء عملية تحويل البيانات.
قد تكون عملية جمع البيانات وتجهيزها مكلفة وغير فعالة. يمكن أن يقضي علماء البيانات ساعات كل يوم في جمع البيانات وتجهيزها قبل تحليلها. يعمل Presto على أتمتة هذه العملية بسرعة ودقة حتى يتمكن علماء البيانات والمهندسون من تخصيص وقت أكثر للمهام ذات القيمة الأعلى.
استخدم حلول قاعدة بيانات IBM لتلبية احتياجات أحمال التشغيل المتنوعة عبر السحابة الهجينة.
اكتشف، IBM Db2، وهي قاعدة بيانات علائقية توفر مستوى عالٍ من الأداء وقابلية التوسع والموثوقية لتخزين وإدارة البيانات المنظمة. وتتوفر كنظام SaaS على IBM Cloud أو للاستضافة الذاتية.
استفِد من قيمة بيانات المؤسسة مع IBM Consulting لبناء مؤسسة تعتمد على الرؤى لتحقيق ميزة تنافسية في الأعمال.
1 توصيف الأداء الخارجي لقواعد البيانات والتحليلات، Red Hat، ١٨ يناير ٢٠٢١