Object-Relational-Mappers были созданы, чтобы помочь приложениям (которые мыслят в терминах объектов) работать с хранимыми данными более удобным для приложений способом, как любой другой класс / объект.
Однако , Я никогда не видел OKM (Object-Key / Value-Mapper) для систем хранения NoSQL "ключ / значение". Это кажется странным, потому что потребность должна быть намного больше, учитывая тот факт, что в приложение придется жестко запрограммировать больше отношений значений, чем обычный объект строки таблицы SQL.
four requests:
user:id
user:id:name
user:id:email
user:id:created
vs one request:
user = [id => ..., name => ..., email => ...]
Кроме того, вы должны отслеживать «списки» (публиковать комментарии has_many), поскольку у вас нет has_many через таблицы или внешние ключи.
INSERT INTO user_groups (user_id, group_id) VALUES (23, 54)
vs
usergroups:user_id = {54,108,32,..}
groupsuser:group_id = {23,12,645,..}
И есть еще много примеров добавленной логики, которая потребуется приложению для репликации некоторых основных функций, которые используются в обычных реляционных базах данных. По всем этим причинам идея OKM звучит как преувеличение.
Есть ли какие-нибудь? Есть ли причины, по которым их нет?