इस प्रोजेक्ट के बारे में

TDengine एक ओपन-सोर्स टाइम-सीरीज डेटाबेस (TSDB) है जो इंटरनेट ऑफ थिंग्स, कनेक्टेड-कार और इंडस्ट्रियल IoT वर्कलोड के लिए डिज़ाइन किया गया है। इसका उद्देश्य कई सेंसर और कलेक्टरों द्वारा उत्पन्नLarge मात्रा में डेटा का रियल-टाइम इनजेस्ट, प्रोसेसिंग और विश्लेषण प्रदान करना है; रिपॉजिटरी में हाई-कर्दिनालिटी डिप्लॉयमेंट के समर्थन का उल्लेख है। परियोजना द्वारा सूचीबद्ध डिज़ाइन विशेषताओं में शार्डिंग और पार्टिशनिंग सहित एक डिस्ट्रीब्यूटेड, क्लाउड-नेटिव आर्किटेक्चर, कंप्यूट और स्टोरेज का पृथक्करण, RAFT-आधारित रेप्लीकेशन, Kubernetes डिप्लॉयमेंट समर्थन और ऑब्ज़र्वेबिलिटी इंटीग्रेशन शामिल हैं। TDengine कोशिश करता है कि कैशिंग, स्ट्रीम प्रोसेसिंग और सब्सक्रिप्शन के लिए अलग-अलग घटकों की आवश्यकता न हो; ये क्षमताएं डेटाबेस के भीतर ही समेटे गए हैं। TDgpt नाम का एक AI घटक भविष्यवाणी, एनोमली डिटेक्शन, इम्प्यूटेशन और क्लासिफिकेशन जैसे कामों के लिए शामिल है, जो टाइम-सीरीज फाउंडेशन मॉडल, लार्ज लैंग्वेज मॉडल, मशीन लर्निंग मॉडल और पारंपरिक अल्गोरिदम से जुड़ सकता है। विकर्ताओं के लिए दस्तावेज़ परियोजना की वेबसाइट पर उपलब्ध हैं; डिप्लॉयमेंट विकल्पों में कंटेनर, इंस्टॉलेशन पैकेज, Kubernetes या होस्टेड क्लाउड सेवा शामिल हैं। रिपॉजिटरी README उन डेवलपर्स के लिए है जो सोर्स से TDengine बनाना, परीक्षण करना, जारी करना और पैकेज करना चाहते हैं। Build पूर्व आवश्यकताएँ: Linux (Ubuntu 18.04+, CentOS 7+), macOS 10.15+, और सीमित Windows समर्थन, x86_64 या ARM64 आर्किटेक्चर पर; लगभग 4 GB RAM और 2 GB मुक्त डिस्क जगह की सिफारिश की गई है। टूलिंग के लिए C/C++ टूलचेन, CMake 3.21 या नया, git, वैकल्पिक रूप से Python 3 (टेस्ट फ्रेमवर्क के लिए) और Go 1.23+ (taosAdapter या taosKeeper जैसे घटकों के लिए) चाहिए; taos-gen घटक के लिए ccache और Conan 2.x भी वैकल्पिक हैं। Build CMake के साथ out-of-tree की जाती है। पहली बार build करते समय -DBUILD_CONTRIB=ON सक्रिय करना आवश्यक है ताकि xxhash, zstd और lz4 जैसे एक्सटर्नल निर्भरताएँ .externals/ डाउनलोड और कंपाइल हो सकें; बाद की builds उन आर्टिफैक्ट्स का पुन: उपयोग करती हैं। सामान्य अनुक्रम है: रिपॉजिटरी clone करें, debug directory बनाएं, cmake चलाएं, फिर make चलाएं। Release build के लिए -DCMAKE_BUILD_TYPE=Release और -DBUILD_TOOLS=ON का उपयोग करें। README में एक विस्तृत विकल्प तालिका है जिसमें BUILD_TEST, BUILD_TOOLS, BUILD_SANITIZER, BUILD_COVERAGE, BUILD_JEMALLOC, BUILD_WEBSOCKET, BUILD_WITH_UDF, BUILD_GEOS, RUST_BINDINGS जैसे विकल्प शामिल हैं; storage-engine चुनीं (LevelDB, RocksDB, SQLite, Berkeley DB); compression विकल्प (LZ4, LZMA2, TSZ); और cloud-object विकल्प (S3, COS) आदि। Build आर्टिफैक्टs debug/build/bin (ताosd सर्वर, taos CLI क्लाइंट, BUILD_TOOLS=ON के साथ taosBenchmark और taosdump) और debug/build/lib (libtaos.so आदि) में मिलते हैं। Testing दो स्तरों पर होती है: googletest द्वारा बनाए गए unit tests जिन्हें ctest से चलाया जाता है, और tests/ के अंतर्गत Python-आधारित integration test फ्रेमवर्क। कवरेज रिपोर्टing lcov-आधारित स्क्रिप्ट से की जा सकती है; परियोजना एक सार्वजनिक कवरेज डैशबोर्ड से लिंक करती है। Packaging source/taos-community/packaging/pack_community_tar.sh द्वारा किया जाता है, जो taosd, taos, taosBenchmark, taosdump, taosudf, libtaos.so, libtaosnative.so, हेडर्स, C उदाहरणों और इंस्टॉल स्क्रिप्ट्स युक्त कम्युनिटी टार्बॉल बनाता है। taoskeeper, taos-explorer, taosx, connectors और taosinspect जैसे घटक अन्य रिपॉजिटरी में होते हैं या अलग build फ़्लो की आवश्यकता होती है, इसलिए उन्हें शामिल नहीं किया जाता। स्क्रिप्ट build directory, version number, compatible version और release stability के लिए फ्लैग स्वीकार करती है; आउटपुट source/taos-community/release/ में अलग-अलग सर्वर और क्लाइंट आर्काइव में लिखा जाता है। Installation either official installer tarball से extract करके install.sh चलाने पर, या local source build से make install द्वारा होती है। स्थानीय build tree में चलाने के लिए taosd को configuration directory के साथ शुरू करें और दूसरे शेल में taos CLI से जुड़ें; packaged install के बाद systemctl द्वारा सर्वर शुरू होता है और taos क्लाइंट से कनेक्ट किया जाता है। परियोजना एक build-check GitHub Actions workflow प्रकाशित करती है और योगदानकर्ताओं को contribution guidelines की ओर संकेत करती है। यह Discord, Stack Overflow और social platforms पर कम्युनिटी चैनल्स प्रदान करती है तथा होस्टेड क्लाउड ऑफरिंग की ओर लिंक करती है। TDengine GNU Affero General Public License 3.0 के तहत लाइसेंस प्राप्त है; क्लस्टर फ़ीचर्स और AI एजेंट जैसे कोर मॉड्यूल ओपन-सोर्स लाइसेंस के तहत उपलब्ध हैं।