Сравнение межсистемного кэша и MongoDB - PullRequest
4 голосов
/ 30 марта 2012

хотел понять, как межсистемные базы данных Cache и Mongo отличаются друг от друга.

В паре потоков в самом стековом потоке упоминалось, что между базой данных объектов и базами данных NoSQL нет различий.

В MongoDB данные основаны на документах, к ним обращаются и запрашивают через JSON-подобные форматы. То же самое в Cache DB?

Любые указатели будут полезны.

Ответы [ 4 ]

3 голосов
/ 30 марта 2012

Все, что может делать GlobalsDB, может делать и кэш (GlobalsDB - это лишь часть функциональности кеша) До сих пор я не работал с MongoDB, но обращаюсь к тому, что вы говорите:

В нескольких потоках самого стекового потока было упомянуто, что между базой данных объектов и базами данных NoSQL> различий как таковых нет.

Это не очень точное утверждение, и ИМХО, вы не можете довести это до проверки. Для начала, NoSQL не очень хорошо определен, что для вас NoSQL? Просто база данных, которая не может работать с SQL? Нереляционная БД? Какая база данных объектов для вас? Хотите ли вы иметь представления объектов в базе данных? Это может быть реализовано как с классическим реляционным, так и с «современным» NoSQL. (NoSQL абсолютно ничего современного, это было довольно давно. Например, Cache (из MUMPS) начинался как NoSQL еще в 70-х годах

В MongoDB данные основаны на документах, к ним обращаются и запрашивают через JSON-подобные форматы. Является то же самое в Cache DB?

Вы можете получить доступ к данным в Cache несколькими способами. GlobalsDB предоставляет интерфейс к глобальной структуре (представьте, что это хранилище значений ключей, которое немного более гибкое) Кроме того, вы можете получить доступ к вашим данным как к объектам. Конечно, существуют определенные ограничения по формату, которые необходимо соблюдать, когда вы хотите перейти от значений ключа к реляционному доступу, но суть в том, что вы можете получать доступ к своим данным так, как вы этого хотите / нуждаетесь. Это включает в себя JSON, родной в более новых версиях.

1 голос
/ 30 марта 2012

Проблема вашего вопроса в том, что ни один из терминов не очень хорошо определен (не ваша вина - вы не смогли их определить).

Но что основано на документах? Это должно быть сохранено как текст? Или это просто должно быть выставлено клиенту как документ? Действительно, второй вариант имеет смысл, за исключением того, что в значительной степени подходит любое постоянное хранилище. Вы всегда можете преобразовать строки и столбцы в документ, например.

Что касается запросов через JSON, я написал свою собственную систему для этого с Cache DB до того, как Intersystems выпустила свою версию. И можно поместить оболочку JSON практически в любое постоянное хранилище (это не так сложно, JSON разработан так, чтобы его было легко анализировать).

Для меня ключевой интересной особенностью баз данных NoSQL является то, что они часто предназначены для работы с распределенными данными на большом количестве ненадежных машин - хотя по цене и не способны обеспечить определенную согласованность. В Cache DB этого нет (насколько мне известно), но можно сказать, что он поддерживает упомянутые вами характеристики в той степени, в которой они имеют четкое значение.

Было бы проще ответить на более конкретные вопросы о том, чего вы пытаетесь достичь.

1 голос
/ 30 марта 2012

Существует еще один продукт от InterSystems для очистки NoSQL, это GlobalsDB

запросов в формате JSON, инструменты реализованы с применением адаптера.GlobalsDB поддерживает NodeJS, с ним также поддерживается JSON.NET и Java

0 голосов
/ 01 апреля 2012

Этот документ может помочь:

http://www.mgateway.com/docs/universalNoSQL.pdf

...