【发布时间】:2012-07-26 03:44:39
【问题描述】:
我正在考虑/评估将 RavenDB 用于我们公司计划构建的企业应用程序,我对这个数据库系统的了解不是很广。所以我想知道是否有人可以在以下方面帮助我,
RavenDB 能否以合理的查询时间处理几个相互关联(连接)的表中的几百万条记录?
系统每天将创建几千个条目,条目几个表,应该有一种方法可以将这些表中的旧记录批量移动到备份表(最好可以使用另一个数据文件),以便有一个限制这些关键表上的行数。那么这个db支持批量数据移动操作吗?
此数据库是否能够利用多处理器服务器?
它提供了什么样的数据恢复选项(是否可以进行热备份)?
如果出现问题,是否有一种方法可以切换到另一个数据库系统,而无需从头开始编写整个数据层(例如,如果我们使用 MySQL,我们可以将其切换到 oracle,而不用使用 NHibernate)?
【问题讨论】:
-
RavenDB 是一个文档数据库,没有表,没有连接。与将所有 Order 记录放在一个位置,并将所有 OrderLines 放在一个完全不同的位置不同,使用文档数据库,Order 和 OrderLines 将一起存储在一个 Order 文档中。因此,要获得带有行的订单,您不需要 加入,因为它们都已经在同一个文档中。这是使用文档数据库的主要优势之一。
-
实际上我应该重新评价这个问题以适应上下文,这就像有数百万个订单,每个订单都有很多订单行。而且我应该能够获取符合某些条件的 OrderLines 集。主要用于报告。