MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Каква е разликата между Spring Data MongoDB и Hibernate OGM за MongoDB?

Отказ от отговорност:Аз съм ръководител на проекта Spring Data, така че най-вече ще обхващам страната на Spring Data тук:

Мисля, че основната разлика между двата проекта е, че екипът на Hibernate OGM избра да съсредоточи усилията си около JPA, докато екипът на Spring Data изрично не го направи. Причините са следните:

  • JPA е по своята същност релационен API. Първите две изречения от спецификацията посочват, че това е API за обектно-релационно картографиране. Това също е въплътено в основните теми на API:говори се за таблици, колони, присъединявания, транзакции. Концепции, които не са непременно преносими в света на NoSQL.
  • Обикновено избирате NoSQL хранилище поради неговите специални характеристики (напр. геопространствени заявки в MongoDB, възможност за извършване на обхождане на графики за Neo4j). Нито един от тях не е (и ще бъде) наличен в JPA, така че така или иначе ще трябва да предоставите собствени разширения.
  • Още по-лошо, JPA включва концепции, които просто ще насочват потребителите в грешни посоки, ако те приемат, че работят върху NoSQL магазин, както са били дефинирани в JPA:как трябва да се приложи връщане назад на транзакция разумно върху MongoDB?

Така че с Spring Data избрахме по-скоро да предоставим последователен модел на програмиране за поддържаните магазини, но не се опитвайте да принудите всичко в един прекомерно абстрагиращ API:получавате добре познатите реализации на шаблони, получавате абстракцията на хранилището, която работи идентично за всички магазини, но ви позволява да използвате специфични функции и концепции на магазина.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Инсталиране на PHP 7 MongoDB клиент/драйвер?

  2. Търсене на низ със специални символи в документ на MongoDB

  3. Извеждане на основен HTML изглед?

  4. Проверка на уникалността на вграден документ с обхват от неговия родител в mongoose

  5. MongoDB Object.bsonSize()