重复项
- 为什么应该使用基于文档的数据库而不是关系数据库? https://stackoverflow.com/questions/441441/why-should-i-use-document-based-database-instead-of-relational-database
- 基于文档的数据库与关系数据库的优缺点 https://stackoverflow.com/questions/337344/pros-cons-of-document-based-database-vs-relational-database
我对 Google 的 Bigtable 不太了解,但我想知道 Google 的 Bigtable 和 MySQL 等关系数据库之间有什么区别。两者都有什么局限性?
Bigtable 是 Google 的发明,旨在处理该公司经常处理的大量信息。Bigtable 数据集可以增长到巨大的规模(许多 PB),存储分布在大量服务器上。使用 Bigtable 的系统包括 Google 的网络索引和 Google Earth 等项目。
根据谷歌白皮书 http://research.google.com/archive/bigtable.html就此主题而言:
Bigtable 是一个稀疏的、分布式的、持久的多维排序映射。该映射通过行键、列键和时间戳进行索引;映射中的每个值都是未解释的字节数组。
Bigtable 与 MySQL 等的内部机制非常不同,因此很难进行比较,而且预期目标也没有太多重叠。但你可以把 Bigtable 想象成有点像单表数据库。例如,想象一下,如果您尝试使用 MySQL 数据库实现 Google 的整个网络搜索系统,您会遇到什么困难——Bigtable 就是为了解决这些问题而构建的。
Bigtable 数据集可以使用一种名为 GQL(“gee-kwal”)的语言从 AppEngine 等服务中查询,该语言基于 SQL 的子集。 GQL 中明显缺少的是任何类型的JOIN
命令。由于 Bigtable 数据库的分布式特性,在两个表之间执行联接的效率非常低。相反,程序员必须在他的应用程序中实现这样的逻辑,或者设计他的应用程序以便不需要它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)