ฐานข้อมูลส่วนหลังใดที่เหมาะสำหรับการนำไปใช้งานของ IoT


15

ฉันต้องให้บริการ IoT สำหรับลูกค้าของฉัน ส่วนประกอบ MQTT, Kafka และ Rest Services จะถูกใช้เพื่อนำเข้าข้อมูลจากอุปกรณ์ไปยังฐานข้อมูล ฉันต้องทำการวิเคราะห์ข้อมูลในแบ็กเอนด์ ขนาดข้อมูลจะเป็น 135 ไบต์ / อุปกรณ์และ 6,000 อุปกรณ์ / วินาที ฉันได้แบ่งปันสถาปัตยกรรมที่นี่เพื่อทำความเข้าใจข้อกำหนดและส่วนประกอบ

ป้อนคำอธิบายรูปภาพที่นี่

ฉันได้ตรวจสอบเกี่ยวกับแหล่งข้อมูล (MongoDB, Postgresql (TimescaleDB), Redis, Neo4j, Cassandra) และผู้ค้าทุกคนพิสูจน์ว่าฐานข้อมูลของพวกเขาเหมาะสำหรับการใช้งาน IoT ฉันสับสนเกี่ยวกับการใช้ฐานข้อมูลที่พิสูจน์แล้ว / น่าเชื่อถือที่สุด / ปรับขนาดได้สำหรับ IoT

อะไรจะเป็นฐานข้อมูลที่เหมาะสมที่สุดที่จะนำข้อมูลนี้ไปใช้และทำการวิเคราะห์?

มีมาตรฐานที่พิสูจน์แล้วสำหรับฐานข้อมูลที่เหมาะสมสำหรับ IoT หรือไม่?

กรุณาให้ความคิดและข้อเสนอแนะของคุณ


ฉันใช้ ElasticSearch สำหรับกรณีการใช้งานที่คล้ายกันเมื่อเร็ว ๆ นี้ แต่ฉันไม่สามารถบอกได้ว่าทำไมมันถึงดีกว่าคนอื่น แท้จริงฉันใช้คาฟคาเพื่อเชื่อมต่อเซ็นเซอร์กับฐานข้อมูล มีห้องสมุดที่ดีที่สนับสนุนการประมวลผลสตรีมของ Kafka ด้วย
Elasticsearch

2
“ IoT use-case” นั้นกว้างเกินไปที่จะจัดอันดับการใช้งาน แต่ละคนมีจุดแข็งและจุดอ่อน
Gilles 'ดังนั้น - หยุดความชั่วร้าย'

1
ไม่ใช่สาขาของฉัน แต่ฉันจะประหลาดใจถ้ามี db สมัยใหม่จะมีลักษณะไม่เหมาะสมที่นี่ ใช้สิ่งที่คุณคุ้นเคยหรือมีเครื่องมือที่เล็กที่สุด
Sean Houlihane

คำตอบ:


4

คุณถูก จำกัด ไว้ที่ฐานข้อมูล NoSQL อย่างใดอย่างหนึ่งเนื่องจากฐานข้อมูล SQL ใด ๆ จะไม่อนุญาตให้คุณ 6K TPS บนเซิร์ฟเวอร์โดยตรงและคุณอาจใช้บริการ SaaS cloud หรือแพลตฟอร์มที่เชี่ยวชาญในการดำเนินการเช่น - รับข้อมูล telematics ผ่าน MQTT / Kafka แยกและจัดเก็บอุปกรณ์ 6,000 เครื่องเหล่านี้และจัดหา REST API อย่างง่ายเพื่อเข้าถึงข้อมูล telemetry ชอบflespiหรืออะไรก็ตามที่คล้ายกัน


ได้รับคะแนนของคุณและขอบคุณ คุณช่วยบอกฉันได้ไหมว่าฐานข้อมูล NoSQL เหมาะสมที่สุดสำหรับกรณีใช้ของฉัน
Mourish Khan

มันขึ้นอยู่กับประสบการณ์และสภาพแวดล้อมรันไทม์ของคุณ สำหรับ AWS / GoogleCloud จะเป็นทางเลือกหนึ่งสำหรับการติดตั้งในท้องถิ่นฉันอยากจะแนะนำ LevelDB หรือคู่แข่งใด ๆ เพียงแค่ค้นหา levelDB บน ​​google แล้วคุณจะเห็นรายการทั้งหมด คุณจะต้องใช้ API ระดับกลางระหว่างเว็บแอปพลิเคชันและฐานข้อมูลดังนั้นจึงขึ้นอยู่กับแบ็กเอนด์ที่คุณใช้ กรณีของคุณที่อธิบายไว้ในบทความนี้เมื่อคุณกรอกข้อมูลด้วย mqtt และเข้าถึงและประวัติจากเว็บ
shal

1
btw ฉันได้ลองใช้ฐานข้อมูล NoSQL นี้ในช่วง 15 ปีที่ผ่านมา เริ่มต้นจาก Berkeley DB ในวัยเด็ก ในตอนท้ายเมื่อคุณต้องการพลังเต็มเปี่ยมและประสิทธิภาพในแอพพลิเคชั่นของคุณและพยายามที่จะบีบอัดจาก IOPs สูงสุดและปริมาณงานสูงสุดของฐานข้อมูลฉันไม่พบวิธีอื่น แต่เพื่อพัฒนาเครื่องมือฐานข้อมูลของตัวเอง แต่มันเป็นประสบการณ์ของฉัน +)
shal


6.000 ธุรกรรม / วินาที
Shal

4

IoT เป็นข้อมูลอนุกรมเวลาค่อนข้างมาก มี TSDB อยู่สองสามอย่าง: InfluxDB, OpenTSDB, GridDB และอื่น ๆ พวกเขาทั้งหมดมีรุ่น community / oss เพื่อให้คุณสามารถดูว่าเหมาะกับความต้องการของคุณหรือไม่ InfluxDB เป็นรุ่นที่ได้รับความนิยม แต่โปรดทราบว่าการทำคลัสเตอร์นั้นมีให้สำหรับรุ่นที่ต้องชำระเงินเท่านั้น OpenTSD เป็น oss บริสุทธิ์และ GridDB ระบุว่าเป็น IoT-oriented และเร็วกว่า InfluxDB ขึ้นอยู่กับความต้องการของคุณบางทีคุณอาจต้องการมองหาเครื่องที่บริโภคเร็ว


2

Timescaledb ซึ่งเป็นส่วนขยาย postgres ที่ปรับแต่งสำหรับชุดข้อมูลไทม์ซีรีทำงานได้ดีจริงๆ และคุณจะได้รับคุณสมบัติฐานข้อมูลเชิงสัมพันธ์ปกติการใช้ SQL ความน่าเชื่อถือดัชนีความสามารถในการปรับขนาด


1

คำถามกว้างและไม่มีคำตอบที่ถูกต้อง แต่ลิงค์เหล่านี้สามารถช่วย:

http://outlyer.com/blog/top10-open-source-time-series-databases/ ป้อนคำอธิบายรูปภาพที่นี่

ติดตามผลด้วยการวัดประสิทธิภาพ: http://outlyer.com/blog/time-series-database-benchmarks/

การเปรียบเทียบอื่น ๆ : https://gist.github.com/sacreman/00a85cf09251147175241d334aafa798

ฉันตั้งกฎบางอย่างเพื่อพยายาม จำกัด ขอบเขตมิฉะนั้นบล็อกนี้จะไม่สิ้นสุด

มีการเปรียบเทียบฐานข้อมูลอนุกรมเวลาอนุกรมและฟรีเท่านั้นและคุณลักษณะของฐานข้อมูลนั้น ดังนั้นมีคนถามว่า "คุณลอง Kdb + และ Informix แล้วหรือยัง?" คำตอบจะไม่ใช่ พวกเขาอาจจะยอดเยี่ยม

รายการจะรวมเฉพาะฐานข้อมูลที่จัดประเภทตัวเองในสื่อการตลาดของพวกเขาเป็นอนุกรมเวลาหรือเขียนไว้ในบล็อกโดย บริษัท เจ๋ง ๆ เป็นสิ่งที่พวกเขาใช้สำหรับข้อมูลอนุกรมเวลา

สิ่งที่ได้ทำไปแล้วคือการอ่านเอกสารอย่างเป็นทางการอ่าน StackOverflow มองผ่านปัญหา Github และรหัสและโดยทั่วไปการแฮ็คข้อมูลเข้าด้วยกัน เมื่อคำนึงถึงข้อเท็จจริงบางอย่างอาจไม่ถูกต้อง

หากใครพบเห็นสิ่งที่ผิดจริงโปรดแจ้งให้เราทราบและฉันจะอัปเดตบล็อก

การเปรียบเทียบนั้นอ้างอิงจากการอ้างสิทธิ์และการประมาณราคาทางการตลาด ทำไม? เพราะการเปรียบเทียบเป็นงานชิ้นใหญ่และมีแนวโน้มที่จะเกิดข้อผิดพลาด คุณจะได้รับ“ คุณควรปรับการตั้งค่าพิเศษที่ไม่มีเอกสารนี้” ตัวเลขที่แสดงมีความเหมาะสมอย่างยิ่งสำหรับฐานข้อมูลส่วนใหญ่ พวกเขาเป็นตัวเลขที่บล็อกหรืออ้างสิทธิ์ใน Twitter ในบางครั้งในอดีต หากคุณรู้สึกว่าตัวเลขใด ๆ ผิดให้ฉันรู้และฉันจะอัปเดต


0

นอกจากนี้ในการตอบก่อนหน้านี้ผมก็ขอแนะนำให้ไปดูที่ Tarantool , ClickHouseและScyllaDB โซลูชั่นเหล่านี้มีมากเกินพอสำหรับกรณีส่วนใหญ่

ยกเว้นว่าในบางสถานการณ์โดยเฉพาะอย่างยิ่งการฝังMDBX (หรืออะไรทำนองนั้น) อาจมีประโยชน์


3
คุณต้องการที่จะอธิบายอย่างละเอียดว่าทำไมคุณถึงแนะนำสิ่งเหล่านี้?
Helmar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.