MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

DB NoSQL apa yang digunakan untuk Seri Waktu yang jarang seperti data?

Saya yakin semua database NoSQL utama akan mendukung persyaratan itu, terutama jika Anda sebenarnya tidak memiliki volume data yang besar (yang menimbulkan pertanyaan, mengapa NoSQL?).

Karena itu, saya baru-baru ini harus mendesain dan bekerja dengan database NoSQL untuk data deret waktu sehingga dapat memberikan beberapa masukan pada desain tersebut, yang kemudian dapat diekstrapolasikan untuk semua yang lain.

Basis data pilihan kami adalah Cassandra , dan desain kami adalah sebagai berikut:

  • Satu keyspace untuk semua 'simbol'
  • Setiap simbol adalah baris baru
  • Setiap kali entri adalah kolom baru untuk baris yang relevan
  • Setiap nilai (bisa lebih dari satu nilai) adalah bagian nilai dari entri waktu

Ini memungkinkan Anda mencapai semua yang Anda minta, terutama membaca data untuk satu simbol, dan menggunakan rentang jika perlu (panggilan rentang kolom). Meskipun Anda mengatakan kinerja tidak kritis, itu bagi kami dan ini juga cukup berkinerja - semua data untuk simbol tunggal apa pun menurut definisi diurutkan (urutan nama kolom) dan selalu disimpan pada simpul yang sama (tidak ada komunikasi lintas simpul untuk kueri sederhana ). Terakhir, desain ini diterjemahkan dengan baik ke database NoSQL lain yang memiliki kolom dinamis.

Selanjutnya, berikut beberapa informasi tentang penggunaan MongoDB (dan koleksi yang dibatasi jika perlu) untuk penyimpanan deret waktu:MongoDB sebagai Basis Data Deret Waktu

Akhirnya, inilah diskusi SQL vs NoSQL untuk deret waktu:https://dba.stackexchange.com/questions/7634/timeseries-sql-or-nosql

Saya dapat menambahkan diskusi itu sebagai berikut:

  • Kurva pembelajaran untuk NoSQL akan lebih tinggi, Anda tidak mendapatkan fleksibilitas dan fungsionalitas tambahan secara gratis dalam hal 'biaya lunak'. Siapa yang akan mendukung database ini secara operasional?
  • Jika Anda mengharapkan fungsionalitas ini berkembang di masa mendatang (baik karena lebih banyak bidang ditambahkan ke setiap entri waktu, atau kapasitas yang jauh lebih besar dalam hal jumlah simbol atau ukuran deret waktu simbol), maka pilihlah NoSQL. Manfaat fleksibilitas sangat besar, dan skalabilitas yang Anda dapatkan (dengan desain di atas) pada basis 'per simbol' dan 'jumlah simbol' hampir tidak terbatas (saya katakan hampir tidak terbatas - kolom maksimum per baris dalam miliaran, maksimum baris per ruang kunci tidak terbatas, saya yakin).


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana menemukan apakah ada titik di mana poligon

  2. Mongo Pertanyaan kueri $gt,$lt

  3. Menggunakan Elektron dengan benar

  4. Tidak dapat mengambil nilai _id menggunakan mgo dengan golang

  5. Skema luwak:'unik' tidak dihormati