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

Apakah ada alat untuk migrasi skema untuk database NoSQL?

Karena database nosql dapat berisi sejumlah besar data, Anda tidak dapat memigrasikannya dalam pengertian rdbms biasa. Sebenarnya Anda tidak dapat melakukannya untuk rdbms serta segera setelah data Anda melewati beberapa ambang ukuran. Tidak praktis untuk menurunkan situs Anda selama sehari untuk menambahkan bidang ke tabel yang ada, dan dengan rdbms Anda akhirnya melakukan tambalan jelek seperti menambahkan tabel baru hanya untuk bidang dan melakukan gabungan untuk mendapatkan data. Di dunia nosql Anda dapat melakukan beberapa hal.

  • Seperti yang disarankan orang lain, Anda dapat menulis kode Anda sehingga akan menangani 'versi' yang berbeda dari skema yang mungkin. ini biasanya lebih sederhana dari yang terlihat. Banyak jenis perubahan skema yang sepele untuk dikodekan. misalnya jika Anda ingin menambahkan bidang baru ke skema, Anda cukup menambahkannya ke semua catatan baru dan itu akan kosong pada semua catatan lama (Anda tidak akan mendapatkan kesalahan "bidang tidak ada" atau apa pun;). jika Anda membutuhkan nilai 'default' untuk bidang dalam catatan lama, itu terlalu sepele dilakukan dalam kode.
  • Opsi lain dan sebenarnya satu-satunya opsi yang masuk akal dengan perubahan skema non-sepele seperti penggantian nama bidang dan perubahan struktural adalah menyimpan schema_version di SETIAP catatan, dan memiliki kode untuk memigrasi data dari versi apa pun ke versi berikutnya di BACA . yaitu jika versi skema Anda saat ini adalah 10 dan Anda membaca catatan dari database dengan versi 7, maka lapisan db Anda harus memanggil migrasi_8, migrasi_9, dan migrasi_10. Dengan cara ini data yang diakses akan dimigrasikan secara bertahap ke versi baru. dan jika tidak diakses, lalu siapa yang peduli versi mana;)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kunci tidak boleh berisi . kesalahan dalam pymongo

  2. JSON membuat serial Mongodb

  3. kerangka kerja agregasi mongodb cocok dengan dokumen bersarang

  4. Menerapkan kondisi ke beberapa dokumen untuk bidang yang sama di MongoDB

  5. mongoid .limit tidak berfungsi di mongoid 3.1.x