Saya harus menyediakan layanan IoT untuk pelanggan saya. Komponen MQTT, Kafka dan Rest Services akan digunakan untuk menelan data dari perangkat ke database. Saya perlu melakukan beberapa analitik atas data di backend. Ukuran data akan menjadi 135 byte / perangkat dan 6000 perangkat / detik. Saya telah berbagi arsitektur di sini untuk memahami persyaratan dan komponen.
Saya telah menyelidiki tentang penyimpanan data (MongoDB, Postgresql (TimescaleDB), Redis, Neo4j, Cassandra) dan setiap vendor membuktikan bahwa database mereka cocok untuk kasus penggunaan IoT. Saya bingung tentang menggunakan database IoT yang teruji / paling dapat diandalkan / terukur.
Basis data apa yang paling cocok untuk mencerna data sebanyak ini dan melakukan analisis?
Apakah ada tolok ukur yang terbukti untuk database yang sesuai untuk IOT?
Tolong berikan pemikiran dan saran Anda.
sumber
Jawaban:
Anda terbatas pada basis data NoSQL, karena basis data SQL apa pun tidak akan mengizinkan Anda 6K TPS langsung di server atau Anda dapat menggunakan layanan cloud atau platform SaaS yang sudah terspesialisasi dalam operasi semacam itu - mis. Menerima data telematika melalui MQTT / Kafka, membaginya dan menyimpan untuk 6000 perangkat ini dan menyediakan REST API sederhana untuk mengakses data telemetri. Seperti flespi atau apa pun yang serupa.
sumber
IoT cukup banyak data deret waktu. Ada beberapa TSDB di luar sana: InfluxDB, OpenTSDB, GridDB, dll. Mereka semua memiliki versi komunitas / oss sehingga Anda dapat melihat apakah itu sesuai dengan kebutuhan Anda. InfluxDB adalah yang populer tetapi perhatikan bahwa pengelompokan hanya tersedia untuk versi berbayar. OpenTSD murni oss, dan GridDB menyatakan itu berorientasi pada IoT dan lebih cepat daripada InfluxDB. Tergantung pada kebutuhan Anda, mungkin Anda ingin mencari yang memiliki konsumsi cepat.
sumber
Timescaledb, ekstensi postgres yang dikustomisasi untuk rangkaian waktu berfungsi dengan sangat baik. Dan Anda mendapatkan fitur basis data relasional yang biasa, penggunaan SQL, keandalan, indeks, skalabilitas.
sumber
Pertanyaannya luas dan tidak ada jawaban akurat yang dapat diberikan, tetapi tautan ini dapat membantu:
http://outlyer.com/blog/top10-open-source-time-series-databases/
Tindak lanjuti dengan tolok ukur: http://outlyer.com/blog/time-series-database-benchmarks/
Perbandingan lainnya: https://gist.github.com/sacreman/00a85cf09251147175241d334aafa798
sumber
Selain jawaban sebelumnya, saya juga merekomendasikan untuk melihat Tarantool , ClickHouse dan ScyllaDB . Solusi ini lebih dari cukup untuk sebagian besar kasus.
Kecuali bahwa dalam beberapa situasi, terutama untuk penyematan, MDBX (atau sesuatu seperti itu) mungkin berguna.
sumber