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

Apa perbedaan antara Spring Data MongoDB dan Hibernate OGM untuk MongoDB?

Penafian:Saya memimpin proyek Spring Data, jadi saya akan membahas sebagian besar sisi Spring Data di sini:

Saya pikir perbedaan inti antara kedua proyek adalah bahwa tim OGM Hibernate memilih untuk memusatkan upaya mereka di sekitar JPA sementara tim Spring Data secara eksplisit tidak. Alasannya adalah sebagai berikut:

  • JPA adalah API relasional yang inheren. Dua kalimat pertama dari status spesifikasi, bahwa ini adalah API untuk pemetaan relasional objek. Ini juga diwujudkan dalam tema inti API:ini berbicara tentang tabel, kolom, gabungan, transaksi. Konsep yang belum tentu dapat ditransfer ke dunia NoSQL.
  • Anda biasanya memilih toko NoSQL karena sifatnya yang khusus (mis. kueri geo-spasial di MongoDB, mampu mengeksekusi traversal grafik untuk Neo4j). Tak satu pun dari mereka (dan akan) tersedia di JPA, oleh karena itu Anda tetap harus menyediakan ekstensi kepemilikan.
  • Lebih buruk lagi, JPA menampilkan konsep yang hanya akan memandu pengguna ke arah yang salah jika mereka menganggap mereka bekerja di toko NoSQL seperti yang didefinisikan di JPA:bagaimana seharusnya rollback transaksi diterapkan secara wajar di atas MongoDB?

Jadi dengan Spring Data kami memilih untuk menyediakan model pemrograman yang konsisten untuk toko yang didukung tetapi tidak mencoba memaksakan semuanya menjadi satu API yang terlalu abstrak:Anda mendapatkan implementasi template yang terkenal, Anda mendapatkan abstraksi repositori, yang berfungsi identik untuk semua toko tetapi mari Anda manfaatkan fitur dan konsep khusus toko.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menggunakan operator $slice untuk mendapatkan elemen terakhir dari array

  2. Tidak dapat terhubung ke MongoDB (MongoLabs) melalui klien C#

  3. hitung kemunculan array di semua dokumen dengan mongo

  4. Susunan grup setelah bersantai dan bertanding

  5. Bagaimana cara mengganti string di semua dokumen di Mongo