عن المشروع
TDengine هي قاعدة بيانات временية للبيانات (TSDB) مفتوحة المصدر، موجّهة لأحمال عمل إنترنت الأشياء، والسيارات المتصلة، وإنترنت الأشياء الصناعي. الهدف المُعلَن هو التضمين الفوري ومعالجة وتحليل أحجام كبيرة من البيانات الناتجة عن أجهزة استشعار واجهزة جمع متعددة، مع دعم نشرات عالية التناسق تغطي عدداً كبيراً من نقاط الجمع.
تشمل خصائص التصميم بنية موزعة وسحابية الطابع مع تجزئة وتمييع، وفصل بين الحوسبة والتخزين، وتكرار قائم على RAFT، ودعم النشر عبر Kubernetes، وتكامل مع أدوات المراقبة. بدلاً من الاعتماد على مكونات منفصلة للذاكرة المؤقتة ومعالجة التدفقات والاشتراكات، يجمع TDengine تلك القدرات داخل قاعدة البيانات نفسها. يُدرج مكوّن الذكاء الاصطناعي المسمى TDgpt للمهام الزمنية مثل التنبؤ واكتشاف الشذوذ واستكمال البيانات والتصنيف، ويمكنه الاتصال بنماذج الأساس للبيانات الزمنية، والنماذج اللغوية الكبيرة، ونماذج التعلم الآلي، والخوارزميات التقليدية.
توجد وثائق المستخدمين وتصميم النظام والبنية على موقع توثيق المشروع، وتشمل خيارات النشر الحاويات، والحزم التثبيتية، وKubernetes، أو خدمة سحابية مستضافة. يُوَجَّه ملف README في المستودع بشكل أساسي للمطوّرين الراغبين في بناء واختبار وإصدار وحزمة TDengine من المصدر.
متطلبات البناء: Linux (Ubuntu 18.04+، CentOS 7+)، وmacOS 10.15+، ودعم محدود لـWindows، على معماريات x86_64 أو ARM64، مع التوصية بنحو 4 غيغابايت ذاكرة وصول عشوائي و2 غيغابايت مساحة قرص فارغة. تحتاج الأدوات toolchain C/C++، وCMake 3.21 أو أحدث، وgit، وبايثون 3 اختيارياً لإطار الاختبار، وGo 1.23+ لمكونات مثل taosAdapter أو taosKeeper، بالإضافة إلى ccache وConan 2.x اختياريين لمكون taos-gen.
يتم البناء خارج الشجرة باستخدام CMake. يجب تمكين -DBUILD_CONTRIB=ON في البناء الأول لجلب external dependencies مثل xxhash وzstd وlz4 وتجميعها ضمن .externals/; تعيد البناءات اللاحقة استخدام تلك المنتجات. تتسلسل العملية النموذجية بإحضار المستودع، وإنشاء دليل debug، وتشغيل cmake، ثم make. يستخدم بناء الإصدار -DCMAKE_BUILD_TYPE=Release و-BUILD_TOOLS=ON.
يسجّل README جدولاً موسّعاً للخيارات مع القيم الافتراضية، بما في ذلك BUILD_TEST وBUILD_TOOLS وBUILD_SANITIZER وBUILD_COVERAGE وBUILD_JEMALLOC وBUILD_WEBSOCKET وBUILD_WITH_UDF وBUILD_GEOS وRUST_BINDINGS، وخيارات محركات التخزين (LevelDB وRocksDB وSQLite وBerkeley DB)، وخيارات الضغط (LZ4 وLZMA2 وTSZ)، وخيارات الكائنات السحابية (S3 وCOS)، وغيرها الكثير. تستقر منتجات البناء في debug/build/bin (على سبيل المثال daemon الخادم taosd، وعميل CLI taos، ومع BUILD_TOOLS=ON أداة المعايرة taosBenchmark وأداة الاستيراد/التصدير taosdump) وdebug/build/lib (على سبيل المثال libtaos.so على Linux).
الاختبار ذو طبقتين: اختبارات وحدة مبنية بـgoogletest وتنفيذها عبر ctest، وإطار اختبار تكامل قائم على بايثون تحت tests/، حيث يُبدأ خادم اختبار بتكوين مولّد ويُشغَّل اختبارات النظام الفردية عبر سكربت. يمكن توليد تقارير التغطية محلياً باستخدام سكريبتات قائمة على lcov، ويربط المشروع بلوحة تغطية عامة.
تتولى عملية التغليف source/taos-community/packaging/pack_community_tar.sh، الذي يُنشئ عربيات مجتمع تحتوي على taosd وtaos وtaosBenchmark وtaosdump وtaosudf وlibtaos.so وlibtaosnative.so والملفات الرأسية وأمثلة C وسكريبتات التثبيت. المكونات الموجودة في مستودعات أخرى أو التي تتطلب تدفقات بناء منفصلة، مثل taoskeeper وtaos-explorer وtaosx والموصلات وtaosinspect، لا تُدرج صراحةً. يقبل السكربت أعلاماً لدليل البناء ورقم الإصدار والإصدار المتوافق واستقرار النشر، ويكتب المخرجات إلى source/taos-community/release/ بأرشيفات خادم وعميل منفصلة.
يمكن التثبيت من عربة تثبيت رسمية عن طريق استخراجها وتشغيل install.sh، أو مباشرة من بناء محلي عبر make install. يعمل التشغيل محلياً في شجرة البناء بتشغيل taosd مع دليل تكوين ثم الاتصال عبر taos CLI في shell آخر؛ بعد التثبيت المغلّف، يُبدأ الخادم عبر systemctl ويُستخدم عميل taos للاتصال.
ينشر المشروع workflow GitHub Actions للتحقق من البناء ويشير بالمساهمين إلى إرشادات المساهمة. يوفر أيضاً قنوات مجتمع على Discord وStack Overflow ومنصات التواصل الاجتماعي، ويربط بعرض سحابي مستضاف. يُرخص TDengine بموجب GNU Affero General Public License 3.0، مع توفر النّوى الأساسية بما في ذلك ميزات العنقودة والوكيل الذكي بموجب تراخيص مفتوحة المصدر.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.