回顾:RethinkDB重新考虑实时Web应用程序

RethinkDB的NoSQL文档存储为响应能力超强的应用程序提供高速更改通知

思想库

与MongoDB或Couchbase一样,RethinkDB是一个集群的、面向文档的数据库,它提供了灵活的模式、简单的开发和高可伸缩性等优点。与其他文档数据库不同,RethinkDB支持“实时”应用程序,能够将更新的查询结果持续推送到订阅更改的应用程序。

编辑的选择

在这种情况下,“实时”应用程序必须支持更改数据库状态的大量客户机请求流,并让所有客户机都知道这些更改。实时应用程序的一个常见示例是多人游戏:成百上千的用户在按按钮,这些按钮的按下改变了游戏状态,所有用户必须实时看到所有的变化。

RethinkDB花费了大量的精力来确保在整个集群中快速分配数据更改事件。它提供了这种高速事件处理机制,同时提供了对数据库一致性和持久性的大量控制。

然而,即使RethinkDB工程师也承认,如果您对数据库的主要考虑是ACID遵从性,RethinkDB可能不应该是您的首选。主要原因:RethinkDB不支持跨多个文档的事务。但是,在单个文档中,RethinkDB是完全符合ACID的。

尽管如此,RethinkDB的“实时推送”技术(下面将会解释)作为客户端保持对数据库更改的通知的手段,这使得它对于支持必须向客户端提供数据库状态最新视图的应用程序非常理想。此外,RethinkDB的易于掌握的查询语言(嵌入在许多流行的编程语言中)和它的开箱即用的管理和监视GUI,为学习如何在此类应用程序中使用RethinkDB提供了一个顺利的入门。

继续阅读这篇文章,现在注册

工资调查:结果在