5

想了解系统间缓存和 Mongo 数据库之间有何不同。

在 stackoverflow 本身的几个线程中,已经提到对象数据库和 NoSQL 数据库之间没有区别。

在 MongoDB 中,数据是基于文档的,通过类似 JSON 的格式进行访问和查询。缓存数据库中的情况也一样吗?

任何指针都会有所帮助。

4

4 回答 4

3

GlobalsDB 可以做的所有事情,Cache 也可以做(GlobalsDB 只是 Cache 功能的一个子集)到目前为止我还没有使用 MongoDB,但是为了解决你所说的:

在 stackoverflow 本身的几个线程中,已经提到对象数据库和 NoSQL 数据库之间没有差异。

这不是一个非常精确的陈述,恕我直言,您无法对其进行审查。对于初学者来说,NoSQL 的定义不是很好,NoSQL 对你来说是什么?只是一个不能使用 SQL 的数据库?非关系数据库?什么是适合您的对象数据库?你想在数据库中有对象表示吗?这可以通过经典的关系以及“现代”NoSQL 来实现。(NoSQL 绝对不是现代的,它已经存在了很长一段时间。例如,缓存(来自 MUMPS)早在 70 年代就以 NoSQL 开始

在 MongoDB 中,数据是基于文档的,通过类似 JSON 的格式进行访问和查询。缓存数据库中的情况也一样吗?

您可以通过多种方式访问​​ Cache 中的数据。GlobalsDB 为全局结构提供了一个接口(将其视为更灵活的键值存储)此外,您可以访问您的数据关系和对象。当然,当您想从键值到关系访问时,需要满足某些格式限制,但最重要的是,您可以按照自己的意愿/需要访问数据。这包括较新版本中的原生 JSON。

于 2012-03-30T07:42:06.423 回答
1

InterSystems 的另一个产品可以清理 NoSQL,即 GlobalsDB

JSON格式的请求,工具通过适配器实现应用。GlobalsDB 支持 NodeJS 和他的 JSON,也支持。网络和 Java

于 2012-03-30T07:15:54.533 回答
1

你的问题的问题是没有一个术语定义得很好(不是你的错 - 你没有定义它们)。

但是什么是基于文档的?它必须存储为文本吗?还是只需要将其作为文档公开给客户?确实,第二个选择是有道理的,除了几乎任何持久存储都符合条件。例如,您始终可以将行和列转换为文档。

至于通过 JSON 进行查询,在 Intersystems 发布他们的版本之前,我编写了自己的系统来使用 Cache DB 来做到这一点。并且可以在几乎任何持久存储周围放置一个 JSON 包装器(这并不难,JSON 被设计为非常容易解析)。

对我来说,NoSQL 数据库的关键有趣特性是,它们通常被设计为在大量不可靠的机器上处理分布式数据——尽管代价是无法实现某些类型的一致性。Cache DB 没有(据我所知),但可以合理地说支持您提到的特征,只要它们具有明确的含义。

回答有关您要完成的工作的更具体的问题会更容易。

于 2012-03-30T18:26:10.807 回答
0

本文档可能会有所帮助:

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

于 2012-04-01T14:35:34.990 回答