2

我很好奇是否有人对 NoSQL 数据库与 Oracle 中的数据访问进行了基准测试(特别是我在谈论 Oracle RAC)?该项目需要至少1000万+条记录,在其中搜索(但不一定要实时),读取速度很重要,保证HA和可靠性也很重要(不能丢失记录!!!)我可以亲眼看到 Cassandra/MongoDB 可能更适合的说法(因为当您处理超过 1000 万条记录时,键值存储将提供比 SQL 更快的读取),但我发现很难很好地表达所有这些。有链接吗?建议?要点?谢谢!

4

2 回答 2

5

1000 万条记录。假设每条记录 250 字节。这大约是 2.5 Gb 的数据,这完全在基本台式机/笔记本电脑的容量范围内。数据量是微不足道的(除非每条记录的大小以 Mb 为单位,例如图片或音频)。

您需要谈论的是事务量(分为读取和写入)以及您认为的 HA。相对于“读写 HA”,只读 HA 更容易。将只读数据集复制到不同地理位置的多个服务器并在它们上分配查询工作负载可能很简单。

扩展更新繁重的工作量要困难得多,这就是为什么您经常听到在发布大型音乐会的门票时系统会崩溃的原因。很简单,座位数量是固定的,你不可能有十个重复的系统,每个系统都销售他们认为可用的东西。必须有一个单一的事实来源,这意味着一个瓶颈(并且可能是一个单点故障)。

在 HA 方面,RAC 是一种共享存储技术,这通常意味着您的 RAC 节点非常接近。这可能使他们容易受到局部事件的影响,例如建筑物火灾或电信故障。Data Guard 是与异地复制和故障转移相关的 Oracle 技术。

于 2011-02-10T00:18:54.300 回答
0

大多数情况下,当您比较 NoSQL 与 SQL 时,您必须了解它们之间非常重要的区别。NoSQL 中的数据在实现 HA 的成本顺序上可能不一致

我说的不一致是什么意思?这取决于,但通常在3-5 秒左右在节点周围传播数据。NoSQL 数据库提供了管理和消除这种情况的机制,但是如果您希望所有数据实时保持一致,那么您只需使用经典 SQL,例如 Oracle RAC。

回到速度比较:根本无法比较哪个更快,因为它依赖于网络基础设施、计算能力和数据库模型等因素。但重要的是,在某些时候你可能会遇到 SQL 在经济上维护效率低下的时刻你必须切换到 NoSQL。

于 2013-02-18T12:01:55.497 回答