刘奇-TiDB为HBase插上分布式SQL的翅膀
4星 · 超过85%的资源 需积分: 0 52 浏览量
更新于2015-11-03
收藏 702KB PDF 举报
根据提供的文件信息,以下是详细的知识点:
Apache HBase是一个开源的非关系型分布式数据库(NoSQL),它采用列式存储方式,模仿Google的BigTable,运行在Hadoop文件系统(HDFS)之上,同时为大数据的随机访问和实时读写提供了支持。HBase的主要特性包括线性和模块化扩展性、严格的读写一致性、区域服务器之间的自动故障转移、对实时查询的块缓存和布隆过滤器支持,以及查询谓词推送通过服务器端过滤器实现等。
TiDB是一个开源的分布式SQL数据库,由PingCAP公司开发,并且在文档中介绍了TiDB如何在HBase之上提供分布式SQL的支持。TiDB支持分布式事务的一致性,兼容MySQL协议,允许应用程序几乎不需要代码修改的情况下替换MySQL,极大简化了应用代码并增强了其健壮性。它主要面向在线事务处理(OLTP),与多种OLAP系统如Spark, Presto, Impala等并存。
TiDB的架构可以概括为:
1. 在HBase上建立事务层。
2. 使用Google Percolator模型,它包含BigTable、事务和时间戳三个组件。
3. Percolator worker、BigTable tablet server和GFS chunk server三个部分组成Percolator模型。
4. 提供ACID语义的事务处理。
5. 实现快照隔离,但与传统关系型数据库管理系统(RDBMS)相比可能偏弱,并需要显式维护锁。
文档中还提及了MVCC(多版本并发控制),这是一种用于实现事务的方法,它允许多个版本的数据同时存在,并且每个事务都可以看到一个一致的快照。TiDB通过这种方式来实现严格的一致性和隔离性。
在文档提到的演示中,刘奇讨论了HBase的引入以及TiDB的特性,包括它如何利用Go语言的优势进行快速开发和运行。Go语言(通常称为Golang)是一种静态类型、编译型语言,由Google开发,其设计目标是在保持简洁性的同时,实现开发效率和程序运行效率的平衡。TiDB由Go语言编写,这也使其能够更快地开发,并且在运行时具有高性能。
此外,文档还提到了TiDB对于存储引擎的支持,其中包括支持在单机模式下运行的最流行的存储引擎,如Goleveldb、LevelDB、RocksDB、LMDB和BoltDB等。通过支持多种存储引擎,TiDB为数据库的灵活性和性能提供了更多的选择和优化空间。
在架构方面,TiDB可能采用了一种类似于HBase的三层架构模型:客户端、事务管理器和存储层。这使得TiDB能够构建在HBase之上,并在此基础上实现分布式事务。
文档中提到了对于HBase的热烈讨论,比如“SQL-on-Hadoop没有什么比它更火的了,而现在SQL-on-HBase的热度正在迅速追赶”,这表明了社区对于HBase在处理SQL工作负载方面潜力的兴奋和期待。TiDB的出现,正如同其标题所指出的,为HBase插上了分布式SQL的翅膀,进一步扩展了其作为大数据存储和计算平台的潜力。
csdn_csdn__AI
- 粉丝: 2245
- 资源: 117
最新资源
- 环境监测系统源代码全套技术资料.zip
- 前端分析-2023071100789
- 前端分析-2023071100789
- 基于springboot的调查问卷管理系统源代码全套技术资料.zip
- MATLAB代码:计及碳排放交易及多种需求响应的微网 电厂日前优化调度 关键词:碳排放交易 需求响应 空调负荷 电动汽车 微网 电厂优化调度 参考文档:计及电动汽车和需求响应的多类电力市场下
- 全国高校计算机能力挑战赛往届真题整理
- 小程序毕业设计项目-音乐播放器
- MATLAB代码:考虑多微网电能互补与需求响应的微网双层优化模型 关键词:多微网 电能互补 需求响应 双层优化 动态定价 能量管理 参考文档:《自编文档》 仿真平台:MATLAB+CPLEX 主要
- 智慧校园后勤管理系统源代码全套技术资料.zip
- MATLAB代码:含多种需求响应及电动汽车的微网 电厂日前优化调度 关键词:需求响应 空调负荷 电动汽车 微网优化调度 电厂调度 仿真平台:MATLAB+CPLEX 主要内容:代码主要做的是一