tidb基于什么开源数据库

不及物动词 其他 80

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    TiDB是基于开源数据库的,主要基于Google的Spanner和F1、MIT的H-Store、以及Facebook的MyRocks等技术。这些开源数据库技术提供了分布式存储、分布式事务、强一致性和高可用性等特性,为TiDB的设计和实现提供了重要的参考和借鉴。

    1. Google的Spanner:TiDB借鉴了Spanner的分布式存储和分布式事务的思想。Spanner是Google自研的分布式数据库系统,具有强一致性和可扩展性的特点。TiDB采用了类似的分布式存储和分布式事务的设计,使得TiDB能够在分布式环境下实现数据的一致性和可靠性。

    2. Google的F1:TiDB还借鉴了Google的F1数据库的思想。F1是Google用于支持AdWords广告系统的分布式数据库,具有高可用性和高性能的特点。TiDB采用了类似的分布式架构和水平扩展的设计,使得TiDB能够处理大规模的数据和高并发的访问。

    3. MIT的H-Store:TiDB还受到了MIT的H-Store数据库的启发。H-Store是一个用于云计算环境的分布式数据库系统,具有高性能和强一致性的特点。TiDB借鉴了H-Store的分布式事务和分布式查询的设计,使得TiDB能够在分布式环境下实现高效的事务处理和查询操作。

    4. Facebook的MyRocks:TiDB还参考了Facebook的MyRocks存储引擎的设计。MyRocks是Facebook自研的一种高性能的存储引擎,用于替代InnoDB存储引擎。TiDB采用了类似的存储引擎的设计,使得TiDB能够提供高性能和高可靠性的数据存储和查询。

    5. 其他开源数据库技术:除了以上几个主要的开源数据库技术,TiDB还借鉴了其他一些开源数据库技术的设计和实现,如MySQL、CockroachDB、VoltDB等。这些开源数据库技术提供了分布式存储、分布式事务、强一致性和高可用性等特性,为TiDB的设计和实现提供了重要的参考和借鉴。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    TiDB基于开源数据库TiKV和PD(Placement Driver)构建。TiKV是一个分布式事务键值存储引擎,而PD是一个分布式元数据管理组件。TiKV和PD是由PingCAP开发的,它们都是基于开源项目RocksDB和etcd构建的。

    RocksDB是一个嵌入式键值存储引擎,它是由Facebook开发的。RocksDB的设计目标是提供高性能的存储引擎,同时具备持久化数据、高并发读写和低延迟的特点。TiKV使用RocksDB作为底层存储引擎,通过将数据划分为多个Region并分布在不同的TiKV节点上,实现了数据的分布式存储和负载均衡。

    etcd是一个分布式键值存储系统,它由CoreOS开发并开源。etcd提供了一种分布式的一致性算法,可以用于管理分布式系统的元数据。PD作为TiDB的元数据管理组件,使用etcd存储和管理集群的元数据信息,包括Region的分布情况、Leader的位置等。

    除了基于TiKV和PD构建的核心组件外,TiDB还集成了其他开源数据库技术,如MySQL协议和SQL解析引擎。通过MySQL协议,用户可以使用标准的MySQL客户端连接和操作TiDB数据库。而SQL解析引擎则负责解析和优化SQL语句,将其转化为适合TiKV存储引擎执行的计划。

    总之,TiDB基于开源数据库TiKV和PD构建,通过集成其他开源技术实现了高性能、分布式的分布式数据库系统。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    TiDB是基于开源数据库技术的分布式NewSQL数据库,它主要使用了三个开源数据库项目作为基础组件,分别是:

    1. MySQL:MySQL是一个开源的关系型数据库管理系统,被广泛应用于互联网和企业级应用中。TiDB使用了MySQL的协议和语法,使得应用程序可以无缝地迁移到TiDB上。

    2. TiKV:TiKV是一个分布式事务键值存储引擎,也是TiDB的核心组件之一。它基于Google的Percolator论文和Google Spanner的设计思想,实现了分布式事务和强一致性的键值存储。

    3. PD(Placement Driver):PD是TiDB集群的元数据管理组件,负责存储和维护集群的拓扑结构、数据分布信息和副本管理等。它使用了Raft一致性算法来保证元数据的一致性和可靠性。

    通过将这三个开源组件进行整合和优化,TiDB实现了分布式的、强一致性的、高可用的关系型数据库。它具有水平扩展性、自动负载均衡、故障自动恢复等特点,可以满足大规模数据存储和高并发访问的需求。同时,TiDB还提供了分布式事务、分布式查询和分布式索引等功能,使得应用程序可以在分布式环境中进行复杂的数据操作和查询。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部