新闻、帮助、产品更新动态

最新的业界新闻,产品系统更新开发动态,帮助教程和活动发布

[学习笔记] TiDB学习笔记(一)

发布日:2022-01-05 14:06       阅读数:

一 数据库发展历史
1. 发展简史
模型提出:上世纪70年代,关系型数据库模型被提出
 
商业起步阶段:上世纪80年代,关系数据库逐步完成了工程与产品实现,代表性产品有Oracle, DB2, Sql Server,Sybase
 
开源数据库萌芽阶段:90年代中后期,开源数据库开始萌芽,代表性产品有 MySql,PostgreSql
 
互联网时代来临:上世纪末到本世纪初,开启了互联网时代,数据量爆发式增长
 
谷歌3架马车:2006年,GFS/BigTable/Mapreduce, Nosql大数据生态开始出现: Hadoop/Redis/MangoDb
 
移动互联网时代: 2010,4G网络开启了移动互联网时代。集成了分布式技术与关系模型的newsql数据库开始涌现,代表产品有Spanner,TiDB; 云原生数据库出现,Dbaas(Database-as-a-service)产品涌现
 
HTAP是强需求 
 
HTAP(混合事务/ 分析处理,Hybrid Transactional/Analytical Processing)
 
2.数据技术发展的驱动力
1.业务发展: 数据容量的爆发式增长,包括数据存储量,吞吐量
 
2.产品创新: 对数据的交互效率与数据模型的多样性,查询语言/计算模型/数据模型/读写延时要求
 
3.硬件与云计算的发展:数据架构的变迁,计算与存储分离,一体机,云原生
 
3.数据容量催生数据架构演进
早期,数据量只有几百GB,单节点本地磁盘是最高效的数据架构,单机关系型数据库是主流
 
随着数据量增大,开始纵向扩展(Scale up),加入更多的cpu/ 内存/ 硬盘(升级硬盘),Share Disk 成为了代表性架构
 
但是硬件升级有上限,当数据增长速度超过了硬件升级速度,scale up失效,只能通过分布式的share nothing架构来应对(即横向扩展,scale out)
 
4.数据模型和交互效率的演进
存储结构/事务需求
 
Sql
关系型数据库
 
结构化数据结构
 
Nosql数据库
在很多场景下,很多非结构化的数据需求突出,出现了Nosql数据
 
无法支持事务(OLTP,在线业务)
 
NewSql
原生分布式关系型数据库
 
分布式+SQL+事务
 
newSQL 提供了与 noSQL 相同的可扩展性,而且仍基于关系模型,还保留了极其成熟的 SQL 作为查询语言,保证了ACID事务特性。
 
5.数据技术栈和数据产品的本质
应对不同的业务场景,基于这些相对固定的基础数据技术要素,进行各种数据技术与架构的trade off
 
二 分布式存储系统
1.分布式系统发展的原因
内因:分布式系统是数据爆发增长的刚需
 
经济原因:用廉价的机器,可以获得很好的cpu性能,并且具有很好的弹性
 
2008年后,出现了很多分布式系统产品。
 
2.分布式系统概念
概念看wiki,本质上就是计算与存储的分治
 
分布式是海量数据与计算的代名词
 
高可用性:数据副本冗余(对比集中式系统,这就是分布式系统需要多做的事情)
 
3.分布式的主要挑战
1.如何最大程度实现分治与协助
 
2.如何实现全局一致性(全局序列化/全局时钟)
 
3.如何实现故障与部分失效的容错
 
4.如何应对不可靠的网络并进行网络分区
 
4.CAP理论
分布式系统里最多只能同时满足CAP三项中的两项
 
Consistent: 一致性:所有节点在同一时间数据完全一致
 
Availability: 可用性:服务在正常响应时间内的可用
 
Partition Tolerance: 分区容忍性:分布式系统在遇到某节点或者网络分区故障的时候,仍然能提供CA的服务
 
关系型数据库:ACID特性
 
ACID与CAP里的两个一致性概念不同
 
三 Tidb
分布式关系数据库,两个重要基础
 
1.2013年google spanner/F1论文
 
2.2014年 Raft论文
 
Tidb:基于以上两个理论,兼容mysql,原生分布式,关系型数据库,HTAP

编辑:航网科技   来源:腾讯云

本文版权归原作者所有 转载请注明出处

联系我们

客服部:深圳市龙华区龙胜商业大厦5楼B5区

业务部:深圳市南山区讯美科技广场2栋12楼1202

资质证书

  • Copyright © 2011-2020 www.hangw.com. All Rights Reserved 深圳航网科技有限公司 版权所有 增值电信业务经营许可证:粤B2-20201122 - 粤ICP备14085080号

    在线客服

    微信扫一扫咨询客服


    全国免费服务热线
    0755-36300002

    返回顶部