【TiDB 4.0 PCTA 学习笔记】- 分布式数据库发展简史+HTAP数据库简介@4班+陈东

课程名称:课【TiDB 4.0 PCTA 学习笔记】- 分布式数据库发展简史+HTAP数据库简介@4班+陈东

学习时长:120

课程收获:

了解数据库发展历史,遇到的问题,未来的发展方向,HTAP的概念和使用场景。

课程内容:

数据库历史

1970年IBM发表的论文《A Relational Model of Data for Large Shared Data Banks》开始

主流传统集中式数据库:Oracle、IBM DB2、MicroSoft SQLServer、mysqsql/postgresql …

开源数据库:1994 Berkeley DB(API方式访问,不支持SQL,key-value结构的嵌入式数据库引擎)、1995 mysql、1996 postgresql

内存数据库:2003 memcached

大数据:2005 hadoop项目发表、2006 google发表BigTable论文、2007 amzon发表Dynamo论文

分布式nosql数据库:2007 TeraData、2008 Cassandra(amazon dynamo的开源实现)、2009 Redis、2010 mysql innodb

分布式newsql数据库:2012 google发表spanner论文、spark …

TiDB:2014 cockroachDB、2015 TiDB、2017 amazon Aurora

几个典型数据库:

Oracle主要支持联机事务OLTP负载,集群是共享方式的RAC,主要缺点是价格高、不能水平扩展

Mysql第一个广泛使用的开源数据库,特别是在LAMP上使用,一个分支MariaDB,主要特点,5.5版本支持InnoDB存储引擎、5.6版本支持多线程并发复制、5.7版本优化器重构性能提升大

Postgresql特点是可编程sql支持,类似oracle的PL/SQL,优化器比mysql强、隔离级别更强,支持更丰富的数据类型如JSON、GIS数据,相对生态较MYSQL弱

分布式数据库是未来,传统单机数据库有硬件性能瓶颈、单点故障、不能水平扩展…

存储引擎,称为数据库中的数据库,其主要数据结构有B树(如InnoDB、LMDB、WiredTiger)、LSM树(LevelDB、RocksDB、WiredTiger)…,它是数据库系统的基础,决定了数据库适配的应用场景。B树结构适合HDD硬盘,随机读取;LSM树结构适合SSD盘,顺序写和热点读。其他数据结构BW树、TokuDB、WiscKey

NoSql:Not only sql的意思,一致性模型有弱一致性、最终一致性、强一致性

巨头贡献:google GFS、Mapreduce、Bigtable,Amazon Dynamo

非结构化数据库MongoDB 全文检索型ElasticSearch(ELK,来自Lucence实现)

缓存系统,一般是内存数据库方式实现,memcached(key->value结构)/redis(key->hashtable, key->list …)是两个代表,,分布式缓存系统codis/redis cluster

OLAP和数仓:Hive、Impala/kudu、Greenplum(基于postgresql,多个实例实现MPP)、Kylin(基于Hbase)、Spark(在Hbase/HDFS上实现,对标Mapreduce?)

Newsql数据库特点:扩展性放在了首位,具有计算存储分离、高可用(实时容灾切换)、SQL支持、事务支持,去中心化、share nothing

TiDb目标:实现HTAP混合数据库,强OLTP加轻量场景的OLAP,分层架构TiDB、TiKV、TiSpark

云原生数据库:虚拟化、微服务、共享存储,如amazon Aurora。云原生数据库集中数据库服务功能本身,将集群和资源管理和调度、租户隔离交由基础设施负载。

云原生TiDB:操控tidb-operator,融入了TiDB cloud manager、TiDB Controller manager、TiDB Scheduller、TiDB volume Manager,类似k8s master?

TiDB知识

TiDB 是一个分布式、 强一致、具备水平扩展能力的关系型数据库。

TiDB组件无状态,方便伸缩,该层是否记录schema信息?PD组件的高可用保障很重要。

TiKV是分层架构,分层设计目的之一是可以拔插每层的实现?

HTAP数据集OLTP+OLAP,TiDB是融合了两者的支持联机短事务交易和在线分析的数据库。OLAP特性是在列存储的TiSpark(TiSplash)引擎上支持的。

学习过程中参考的其他资料