EventQL عبارة عن قاعدة بيانات موزعة ومصممة لتجميع البيانات واسعة النطاق لجمع البيانات والتحليلات. يمكنه التعامل مع حجم كبير من الدفق ويقوم بتشغيل استعلامات SQL و MapReduce.
مزيد من المعلومات: الوثائق ، التنزيل ، الهندسة المعمارية ، البدء
هذا هو المدى السريع للميزات الرئيسية لـ EventQL لجعلك متحمسًا. لمزيد من المعلومات التفصيلية حول هذه المواضيع وتحذيراتها ، تفضل بإشارة إلى الوثائق.
التقسيم التلقائي. يتم تقسيم الجداول بشفافية إلى أقسام باستخدام مفتاح أساسي وتوزيعه بين العديد من الآلات. ليس لديك لتكوين عدد الشظايا مقدمًا. فقط أدخل البيانات الخاصة بك و eventQl مع معالجة الباقي.
يكتب Idempotent. يدعم العمليات الإدراج الأساسي والراحة والحذف. يمكنك استخدام التشغيل النهائي لابتلاع السهل بالضبط من مصادر البث.
تخزين عمودي مضغوط. يتيح محرك التخزين العمومي EventQL تقليل بصمة الإدخال/الإخراج بشكل كبير وتنفيذ أوامر الاستعلامات التحليلية ذات الحجم بشكل أسرع من الأنظمة الموجهة نحو الصف.
دعم SQL القياسي. (تقريبا) أكمل دعم SQL 2009. (إنها تنضم!) يتم موازنة الاستعلامات تلقائيًا وتنفيذها على العديد من الآلات بالتوازي
موازين إلى petabytes. EventQl يوزع جميع أقسام الجدول والاستعلامات بين عدد من الخوادم المميزة على قدم المساواة. بالنظر إلى ما يكفي من الآلات ، يمكنك تخزين الآلاف والاستعلام عنها إذا كانت terrabytes من البيانات في جدول واحد.
البث ، العمليات منخفضة الانتشار. ليس عليك أن تضطر إلى زيادة البيانات في EventQL - يمكنها التعامل مع كميات كبيرة من عمليات إدراج وتحديث عمليات التحديث. جميع الطفرات مرئية على الفور وأقل كموسته في الاستعلام SQL هو ~ 0.1ms.
مرور الوقت والبيانات العلائقية. يدعم التقسيم التلقائي بيانات الوقت بالإضافة إلى بيانات القيمة العلائقية والمفتاحية ، طالما أن هناك مفتاحًا أساسيًا جيدًا. يدعم محرك التخزين أيضًا أنواعًا متكررة وتسجيلات بحيث يمكن إدراج كائنات JSON التعسفية في صفوف.
HTTP API. يتيح لك API HTTP استخدام نتائج الاستعلام في أي تطبيق وإرسال البيانات بسهولة من أي تطبيق أو جهاز. يدعم EventQL أيضًا بروتوكولًا محليًا يستند إلى TCP.
فحوصات النطاق السريع. يتم طلب أقسام الجدول في eventQL ولها مفتاح محدد ، بحيث يمكنك إجراء عمليات مسح فعالة على أجزاء من مساحة المفاتيح.
الأجهزة كفاءة . يتم تنفيذ EventQL في C ++ الحديثة ويحاول تحقيق أقصى أداء على أجهزة السلع الأساسية باستخدام تعليمات التنفيذ المتجهية وإرشادات SSE.
متاح للغاية . الهندسة المعمارية المشتركة لـ EventQL تتسامح مع الأخطاء للغاية. تتكون المجموعة من العديد من العقد المميزة على قدم المساواة وليس لها أي نقطة فشل واحدة.
قائمة بذاتها. يمكنك إعداد مجموعة جديدة في دقائق. يشحن خادم EventQL باعتباره ثنائيًا واحدًا وليس له تبعيات خارجية باستثناء Zookeeper أو خدمة تنسيق مماثلة.
فيما يلي بعض سيناريوهات المثال المناسبة بشكل خاص لتصميم EventQL:
لاحظ أن EventQL مبني على خيارات تصميم محددة تجعلها مناسبة ممتازة لمهام معالجة تحليلات البيانات في الوقت الفعلي (OLAP) ، ولكنها تعني أيضًا أنها ليست مناسبة تمامًا لمعظم أعباء عمل المعاملات (OLTP).
قبل أن نتمكن من البدء ، نحتاج إلى تثبيت بعض تبعيات البناء. تحتاج حاليًا إلى مترجم C ++ الحديث ، Libz ، Autotools و Python (لـ Spidermonkey/MozBuild)
# Ubuntu
$ apt-get install clang make automake autoconf libtool zlib1g-dev
# OSX
$ brew install automake autoconf libtool
لبناء EventQL من Tarball توزيع:
$ ./configure
$ make
$ sudo make install
لبناء eventQl من الخروج من git:
$ git clone [email protected]:eventql/eventql.git
$ cd eventql
$ ./autogen.sh
$ ./configure
$ make V=1
$ src/evql -h
لتشغيل جناح الاختبار الكامل (العالمي):
$ make test
لتشغيل جناح الاختبار السريع (الدخان):
$ make smoketest