MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jaka jest różnica między Spring Data MongoDB a Hibernate OGM dla MongoDB?

Zastrzeżenie:Jestem liderem projektu Spring Data, więc omówię tutaj głównie stronę Spring Data:

Myślę, że podstawową różnicą między tymi dwoma projektami jest to, że zespół Hibernate OGM zdecydował się skoncentrować swoje wysiłki wokół JPA, podczas gdy zespół Spring Data wyraźnie tego nie zrobił. Powody są następujące:

  • JPA jest z natury relacyjnym interfejsem API. Pierwsze dwa zdania specyfikacji określają, że jest to API do mapowania obiektowo-relacyjnego. Jest to również zawarte w głównych motywach API:mówi o tabelach, kolumnach, złączeniach, transakcjach. Koncepcje, które niekoniecznie można przenieść do świata NoSQL.
  • Zazwyczaj wybierasz sklep NoSQL ze względu na jego specjalne cechy (np. zapytania geoprzestrzenne w MongoDB, możliwość wykonywania przechodzenia przez grafy dla Neo4j). Żadne z nich nie jest (i nie będzie) dostępne w JPA, dlatego i tak będziesz musiał dostarczyć zastrzeżone rozszerzenia.
  • Co gorsza, JPA zawiera koncepcje, które po prostu poprowadzą użytkowników w niewłaściwych kierunkach, jeśli założą, że pracują w sklepie NoSQL, tak jak zdefiniowano je w JPA:jak rozsądnie zaimplementować wycofanie transakcji na bazie MongoDB?

Dlatego w przypadku Spring Data postanowiliśmy raczej zapewnić spójny model programowania dla obsługiwanych sklepów, ale nie próbuj wymuszać wszystkiego w jednym, nadmiernie abstrakcyjnym interfejsie API:otrzymujesz dobrze znane implementacje szablonów, otrzymujesz abstrakcję repozytorium, która działa identycznie dla wszystkich sklepów, ale pozwalamy wykorzystać specyficzne dla sklepu funkcje i koncepcje.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wstaw duży rekord do mongodb za pomocą powłoki mongo

  2. Usuń duplikaty podczas używania $unionWith w MongoDB

  3. Czynniki operacyjne do rozważenia podczas modelowania danych MongoDB

  4. jak przekonwertować ciąg na wartości liczbowe w mongodb

  5. Znajdź według identyfikatora z mgo