前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[学习笔记] TiDB学习笔记(一)

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

原创
作者头像
菜刀兔
修改2021-12-30 11:54:30
5861
修改2021-12-30 11:54:30
举报
文章被收录于专栏:菜菜小屋

本文是《极客时间》-《TiDb极简入门》的学习笔记。传送门:https://time.geekbang.org/opencourse/videointro/100089601


一 数据库发展历史

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 数据库发展历史
    • 1. 发展简史
      • 2.数据技术发展的驱动力
        • 3.数据容量催生数据架构演进
          • 4.数据模型和交互效率的演进
            • Sql
            • Nosql数据库
            • NewSql
          • 5.数据技术栈和数据产品的本质
          • 二 分布式存储系统
            • 1.分布式系统发展的原因
              • 2.分布式系统概念
                • 3.分布式的主要挑战
                  • 4.CAP理论
                  • 三 Tidb
                  相关产品与服务
                  TDSQL MySQL 版
                  TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档