我已经经历了一些关于Bigtable和NOSQL的文章。这是非常有趣的,他们避免JOIN操作。
作为一个基本示例,让我们取Employee和Department表,并假定数据分布在多个表/服务器上。
只是想知道,如果数据分布在多个服务器上,我们如何做JOIN或UNION操作?
当你有非常大的数据,你可能想避免连接。这是因为单个键查找的开销相对较大(服务需要找出要查询的节点,并且并行查询它们并等待响应)。通过开销,我的意思是延迟,而不是吞吐量限制。
这使得联接真的很糟糕,因为你需要做很多外键查找,这将结束了许多,许多不同的节点(在很多情况下)。所以你想避免这种模式。
如果它不经常发生,你可能会得到命中,但如果你想要做很多,可能值得“反规范”的数据。
存储在NoSQL存储中的东西的类型通常是相当“异常”的。在各种不同的地方复制相同的数据,使查找更容易,这是常见的。
此外,大多数nosql(真的)不支持二级索引,这意味着如果你想通过任何其他标准查询,你必须重复的东西。
如果你存储的数据,如员工和部门,你真的最好的传统数据库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。