कौन सा बैकएंड डेटाबेस IoT कार्यान्वयन के लिए उपयुक्त है


15

मुझे अपने ग्राहक के लिए IoT सेवा प्रदान करनी है। MQTT, Kafka और Rest Services घटकों का उपयोग उपकरणों से डेटाबेस में डेटा को निगाने के लिए किया जाएगा। मुझे बैकएंड में डेटा पर कुछ एनालिटिक्स करने की आवश्यकता है। डेटा का आकार 135 बाइट्स / डिवाइस और 6000 डिवाइस / सेकंड होगा। आवश्यकता और घटकों को समझने के लिए मैंने यहाँ वास्तुकला को साझा किया है।

यहाँ छवि विवरण दर्ज करें

मैंने डेटा स्टोर (MongoDB, Postgresql (TimescaleDB), Redis, Neo4j, Cassandra) के बारे में जांच की है और प्रत्येक विक्रेताओं ने साबित किया कि उनका डेटाबेस IoT उपयोग-केस के लिए उपयुक्त है। मैं IoT के लिए सिद्ध / सबसे विश्वसनीय / स्केलेबल डेटाबेस का उपयोग करने के बारे में उलझन में हूं।

डेटा का इतना हिस्सा निगलना और एनालिटिक्स करने के लिए सबसे अच्छा उपयुक्त डेटाबेस क्या हो सकता है?

क्या IoT के लिए उपयुक्त डेटाबेस के लिए कोई सिद्ध बेंचमार्क है?

कृपया अपने विचार और सुझाव दें।


मैंने हाल ही में इसी तरह के उपयोग के मामले के लिए ElasticSearch का उपयोग किया था। लेकिन मैं यह नहीं कह सकता कि यह दूसरों की तुलना में बेहतर क्यों है, यह हिस्सा ज्यादातर राय आधारित है। मैंने सचमुच सेंसर को डीबी से जोड़ने के लिए काफ्का का उपयोग किया। वहाँ अच्छी लाइब्रेरी है जो
इलास्टिक्स खोज के

2
"IoT उपयोग-केस" रैंक कार्यान्वयन के लिए बहुत व्यापक है। हर एक की अपनी ताकत और कमजोरियां हैं।
गिल्स एसओ- बुराई को रोकना '

1
मेरा क्षेत्र नहीं है, लेकिन मुझे आश्चर्य होगा कि यदि कोई आधुनिक डीबी यहां खराब फिट की तरह दिखाई देगा। उस चीज़ का उपयोग करें जिससे आप परिचित हैं, या जिसके पास शिनीस्ट टूलींग है।
शॉन हुलिएन

जवाबों:


4

आप या तो NoSQL डेटाबेस तक सीमित हैं, क्योंकि कोई भी SQL डेटाबेस आपको सीधे सर्वर पर 6K TPS की अनुमति नहीं देगा और न ही आप इस तरह के संचालन में पहले से ही इस्तेमाल किए गए किसी SaaS क्लाउड सेवा या प्लेटफ़ॉर्म का उपयोग कर सकते हैं - जैसे MQTT / Tafka के माध्यम से टेलीमैटिक्स डेटा प्राप्त करें, इसे विभाजित करें और इन 6000 उपकरणों के लिए स्टोर करें और टेलीमेट्री डेटा तक पहुंचने के लिए सरल रीस्ट एपीआई प्रदान करें। जैसे फलेस्पी या जो भी समान हो।


आपकी बात और धन्यवाद मिला। क्या आप बता सकते हैं कि NoSQL डेटाबेस मेरे उपयोग-मामले के लिए सबसे उपयुक्त है?
मॉरिस खान

यह वास्तव में आपके अनुभव और रनटाइम वातावरण पर निर्भर करता है। AWS / GoogleCloud के लिए यह एक विकल्प होगा, स्थानीय स्थापना के लिए मैं LevelDB या इसके किसी भी प्रतियोगी को सलाह दूंगा, बस google पर levelDB खोजें और आप उनकी पूरी सूची देखेंगे। किसी भी संस्करण में आपको वेब एप्लिकेशन और डेटाबेस के बीच मध्यवर्ती एपीआई को लागू करने की आवश्यकता होगी, इसलिए यह इस बात पर भी निर्भर करता है कि आप इसके लिए किस तरह के बैकेंड का उपयोग कर रहे हैं। इस लेख में वर्णित आपका मामला सही है , जब आप डेटा को mqtt के साथ भरते हैं और वेब से इसे और इतिहास तक पहुँचते हैं।
शाल

1
btw, मैंने पिछले 15 वर्षों में इस NoSQL डेटाबेस के कई प्रयास किए। शुरुआती उम्र में बर्कले डीबी से शुरू हुआ। अंत में, जब आपको अपने अनुप्रयोगों में पूर्ण शक्ति और प्रदर्शन की आवश्यकता होती है और डेटाबेस से अधिकतम IOP और थ्रूपुट से निचोड़ने की कोशिश की जाती है, तो मुझे कोई दूसरा रास्ता नहीं मिलता है, लेकिन खुद के डेटाबेस इंजन को विकसित करने के लिए, विशेष रूप से टेलीमैटिक्स (IoT) का उपयोग केस और आवश्यकताओं के लिए लक्षित होता है। लेकिन यह मेरा अनुभव +) था
Shal


6.000 लेन-देन / दूसरा
shal

4

IoT बहुत अधिक समय-श्रृंखला डेटा है। वहाँ से बाहर कुछ TSDB हैं: InfluxDB, OpenTSDB, GridDB, आदि। वे सभी समुदाय / oss संस्करण है, तो आप देख सकते हैं कि यह आपकी जरूरत के अनुरूप है। InfluxDB एक लोकप्रिय है लेकिन ध्यान दें कि क्लस्टरिंग केवल भुगतान किए गए संस्करण के लिए उपलब्ध है। OpenTSD शुद्ध oss है, और GridDB बताता है कि यह IoT- उन्मुख है और InfluxDB से तेज है। अपनी आवश्यकताओं के आधार पर, हो सकता है कि आप तेजी से निगलना चाहते हैं।


2

Timescaledb, समयसीमा डेटासेट के लिए अनुकूलित पोस्टग्रेज एक्सटेंशन वास्तव में अच्छी तरह से काम करता है। और आपको सामान्य रिलेशनल डेटाबेस फीचर्स मिलते हैं, एसक्यूएल, विश्वसनीयता, इंडेक्स, स्केलेबिलिटी का उपयोग।


1

प्रश्न व्यापक है और कोई सटीक उत्तर नहीं दिया जा सकता है, लेकिन ये लिंक मदद कर सकते हैं:

http://outlyer.com/blog/top10-open-source-time-series-databases/ यहाँ छवि विवरण दर्ज करें

फॉलोअप बेंचमार्क के साथ: http://outlyer.com/blog/time-series-database-benchmark/

अन्य तुलना: https://gist.github.com/sacreman/00a85cf09251147175241d334aafa798

मैंने गुंजाइश को सीमित करने के प्रयास के लिए कुछ नियम निर्धारित किए अन्यथा यह ब्लॉग कभी समाप्त नहीं होता।

केवल निशुल्क और ओपन सोर्स टाइम सीरीज़ डेटाबेस और उनकी विशेषताओं की तुलना की गई है। इसलिए कोई पूछता है "क्या आपने केडीबी + और इनफिक्सिक्स की कोशिश की है?" जवाब नहीं होगा। वे हालांकि भयानक हैं।

सूची में केवल वे डेटाबेस शामिल होंगे जो या तो समय श्रृंखला के रूप में अपनी मार्केटिंग सामग्री में खुद को वर्गीकृत करते हैं, या एक शांत कंपनी द्वारा एक ब्लॉग के बारे में लिखा गया है क्योंकि वे समय श्रृंखला डेटा के लिए उपयोग कर रहे हैं।

जो किया गया है वह आधिकारिक डॉक्स पढ़ रहा है, स्टैकऑवरफ्लो को पढ़ रहा है, गितुब मुद्दों और कोड को देख रहा है और आम तौर पर एक साथ जानकारी हैक कर रहा है। इसे ध्यान में रखते हुए कुछ तथ्य गलत हो सकते हैं।

अगर किसी को कुछ भी गलत लगता है तो कृपया मुझे बताएं और मैं ब्लॉग अपडेट कर दूंगा।

बेंचमार्किंग मार्केटिंग दावों और अनुमान पर आधारित है। क्यों? क्योंकि बेंचमार्किंग काम का एक बड़ा हिस्सा है और त्रुटि की संभावना है। आपको हमेशा "आपको इस विशेष अनिर्धारित सेटिंग को ट्यून करना चाहिए"। सूचीबद्ध संख्याएँ अधिकांश डेटाबेस के लिए अत्यधिक अनुकूल हैं। वे या तो अतीत में किसी समय ट्विटर पर ब्लॉग किए गए या दावा किए गए नंबर हैं। अगर आपको लगता है कि कोई भी संख्या गलत है तो मुझे बताएं और मैं उन्हें अपडेट कर दूंगा।


0

पिछले उत्तरों के अलावा, मैं टारनटूल , क्लिकहाउस और स्काइबीडीबी को भी देखने की सलाह देता हूं । ये समाधान अधिकांश मामलों के लिए पर्याप्त से अधिक हैं।

सिवाय इसके कि कुछ स्थितियों में, विशेष रूप से एम्बेड करने के लिए, एमडीबीएक्स (या ऐसा कुछ) उपयोगी हो सकता है।


3
क्या आप विस्तृत करना चाहेंगे कि आप इनकी सिफारिश क्यों करते हैं?
Helmar
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.