Google使用什么数据库?

时间:2008-12-12 14:48:05

标签: database google-search google-cloud-datastore bigtable

是Oracle还是MySQL还是他们自己构建的东西?

7 个答案:

答案 0 :(得分:565)

答案 1 :(得分:50)

这是他们自己建造的东西 - 它被称为Bigtable。

http://en.wikipedia.org/wiki/BigTable

Google上有一篇关于数据库的文章:

http://research.google.com/archive/bigtable.html

答案 2 :(得分:28)

Spanner是Google全球分布式关系数据库管理系统(RDBMS),是BigTable的继承者。谷歌声称它不是一个纯粹的关系系统,因为每个表都必须有一个主键。

Here是论文的链接。

  

Spanner是Google的可扩展,多版本,全球分布式和   同步复制的数据库。这是第一个系统   在全球范围内分发数据并支持外部一致性   分布式交易。本文描述了Spanner是如何实现的   结构化,其功能集,各种设计的基本原理   决策,以及暴露时钟不确定性的新颖时间API。这个   API及其实现对于支持外部至关重要   一致性和各种强大功能:非阻塞读取   过去,无锁只读事务和原子模式更改,   跨越所有Spanner。

Google发明的另一个数据库是Megastore。这是摘要:

  

Megastore是一种满足要求的存储系统   今天的互动在线服务。 Megastore融合了可扩展性   一个NoSQL数据存储区,具有传统RDBMS的便利性   新颖的方式,并提供强大的一致性保证和高   可用性。我们提供完全可序列化的ACID语义   细粒度的数据分区。这种分区允许我们   通过广域网同步复制每次写入   合理的延迟并支持数据中心之间的无缝故障转移。   本文描述了Megastore的语义和复制算法。   它还描述了我们支持各种Google的经验   用Megastore建立的生产服务。

答案 3 :(得分:19)

正如其他人所提到的,Google使用了一种名为BigTable的本土解决方案,他们发布了一些将其描述为现实世界的论文。

Apache人员对这些论文中提出的想法进行了实施,称为HBase。 HBase是较大的Hadoop项目的一部分,该项目根据其网站“是一个软件平台,可以轻松编写和运行处理大量数据的应用程序。”一些基准测试令人印象深刻。他们的网站位于http://hadoop.apache.org

答案 4 :(得分:13)

虽然Google将BigTable用于所有主要应用程序,但also use MySQL用于其他(可能是次要的)应用程序。

答案 5 :(得分:9)

知道BigTable不是关系型数据库(如MySQL),而是一个具有非常不同特征的巨大(分布式)hash table也许也很方便。您可以在Google AppEngine平台上自己玩(限量版)BigTable。

除了上面提到的Hadoop之外,还有许多其他实现尝试解决与BigTable相同的问题(可伸缩性,可用性)。昨天我看到了一篇很好的博客文章,列出了大多数here

答案 6 :(得分:6)

Google主要使用Bigtable。

Bigtable是一个分布式存储系统,用于管理结构化数据,旨在扩展到非常大的范围。

有关详细信息,请从here下载文档。

Google还为其部分应用程序使用Oracle和MySQL数据库。

您可以添加更多信息,我们非常感谢。

豫ICP备18024241号-1