В чем разница между ORM и ODM?
Я пытаюсь выяснить, в чем разница между ORM и ODM, насколько я понимаю концепцию, ORM (Object Relational Mapper) отображает отношения между данными, где ODM (Object Document Mapper) имеет дело с документами. Я прав, предполагая, что mySQL является примером ORM, а MongoDB-примером ODM?
Как я уверен, вы можете видеть, я не слишком знаком с теорией концепции. Может кто-нибудь прояснить различия между ними?
3 ответа:
MySQL является примером реляционной базы данных - вы бы использовали ORM для перевода между вашими объектами в коде и реляционным представлением данных.
примеры ОРМ являются nHibernate,Entity Framework,щеголеватый и многое другое...
MongoDB является примером базы данных документов - вы бы использовали ODM для перевода между вашими объектами в коде и представлением документа данных (если необходимый.)
Mandango является примером ODM для MongoDB.
ORM сопоставляется между объектной моделью и реляционной базой данных. ODM сопоставляется между объектной моделью и базой данных документов. MySQL-это не ORM, это реляционная база данных, точнее, база данных SQL. MongoDB-это не ODM, это база данных документов.
по существу, ORM использует драйвер базы данных SQL, такой как ODBC, JDBC или OLEDB, для перевода нотации объекта в реляционную нотацию, а ODM использует api JSON или JSONB для перевода нотации объекта в нотацию документа.
есть различные виды реализации под капотом.
PS: JSONB-это нотация текстового документа JSON, хранящаяся в двоичном формате, используемом MongoDB.