【问题标题】:noSql joins, relational data move to noSQL store, and playOrmnoSql 连接,关系数据移动到 noSQL 存储,以及 playOrm
【发布时间】:2012-09-12 21:04:16
【问题描述】:

我们看到大量关于将关系数据放入 noSQL 并需要对其进行非规范化的帖子。这真的是因为工具不存在吗? playOrm 的 S-SQL 似乎可以很好地扩展。如果您不使用分区,它将无法扩展,您只需将 DBMS 数据移动到仍然无法扩展的 noSQL 存储中,但是一旦移动到分区,它就可以很好地扩展。

所以我的问题是我们真的有工具问题吗?我们会看到越来越多的工具,比如 playOrm,它们可以加入并可以处理 noSQL 存储中的关系数据,就像我们在 DBMS 中处理关系数据一样?

谢谢, 院长

【问题讨论】:

    标签: nosql


    【解决方案1】:

    在传统的 OldSQL 数据库中,您可以进行非规范化以提高读取性能, 通过消除连接的需要,以更复杂的更新为代价。 在 NoSQL 数据库中,由于缺乏对连接的支持,您可能需要进行非规范化。 它仍然对读取性能有好处,但会使更新复杂化,尤其是在 NoSQL 的情况下 数据库不支持事务。在数据库顶部的工具中添加对连接的支持 添加另一层肯定会降低性能,甚至比底层 数据库将支持连接。

    如果某些东西可以很好地水平扩展(几乎是线性),则可以通过以下方式轻松实现性能 添加更多节点。仅当对数据进行分区时,连接才能很好地水平扩展,以便每个连接 可以在一个数据库节点中本地执行两行/帖子之间的操作。这可能实现 对于一些预定义的连接,但我认为通常大多数 NoSQL 数据库都会有性能 支持涉及连接的复杂即席查询的问题。

    看看另一种选择,我们的 NewSQL 数据库 Starcounter 确实支持连接查询 并提供出色的性能。

    【讨论】:

    • 实际上,在 1,000,000 行上使用 playOrm 跨节点的连接超时为 60 毫秒以返回 100 行,因此我倾向于不同意在分区 nosql 情况下的连接性能不佳 ;)。为您的想法+1。此外,playOrm 最终将使用前瞻连接来获得更好的性能。
    猜你喜欢
    • 2016-02-17
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2011-05-08
    • 2013-06-13
    • 2019-01-17
    • 2019-04-18
    • 1970-01-01
    相关资源
    最近更新 更多