01_tidb 资料参考

TiDB 是 PingCAP 公司设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,结合了传统的 RDBMS 和 NoSQL 的最佳特性

高度兼容MySQL,并且能免去传统数仓ETL过程实现数据分析,同时支持高并发、大吞吐量的在线事务处理的PB级数据存储数据库,同时支持海量数据在线事务(OLTP)和在线分析(OLAP)的HTAP关系型数据库。

来源 网址 场景
官方文档 QCon北京2018-《TiDB架构与开源之路》-申砾.pdf
git 社区 https://github.com/pingcap/community 项目源码 TiDB 集群所有组件的源码均可从 GitHub 上直接访问:https://github.com/pingcap/tidb https://github.com/tikv/tikv https://github.com/pingcap/pd https://github.com/pingcap/tispark . https://github.com/pingcap/tidb-operator
csdn https://blog.csdn.net/tidb_pingcap/article/details/80062425
大厂应用及实践 https://blog.csdn.net/dev_csdn/article/details/78839392(摩拜) 1、开关锁日志成功率统计 2、实时数据分析 3、实时在线 OLTP 业务 4、违章停车记录/开锁短信库等日志归集库
专业名词 备注
OLTP (Online Transactional Processing) 在线事务处理
OLAP (Online Analytical Processing) 在线分析处理
HTAP (Hybrid Transactional and Analytical Processing) 混合事务/分析处理关系型分布式数据库

1、tidb优劣分析

TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。

pros(官方文档描述)
1、高度兼容 MySQL——大多数情况下,无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移
2、水平弹性扩展——通过简单地增加新节点即可实现 TiDB 的水平扩展,按需扩展吞吐或存储,轻松应对高并发、海量数据场景。
3、分布式事务——TiDB 100% 支持标准的 ACID 事务。
4、真正金融级高可用 ——相比于传统主从 (M-S) 复制方案,基于 Raft 的多数派选举协议可以提供金融级的 100% 数据强一致性保证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复 (auto-failover),无需人工介入。
5、一站式 HTAP 解决方案——TiDB 作为典型的 OLTP 行存数据库,同时兼具强大的 OLAP 性能,配合 TiSpark,可提供一站式 HTAP 解决方案,一份存储同时处理 OLTP & OLAP,无需传统繁琐的 ETL 过程。
6、云原生 SQL 数据库——TiDB 是为云而设计的数据库,支持公有云、私有云和混合云,使部署、配置和维护变得十分简单。

实际应用中:
pros:
分布式sql,自动扩容
在线ddl
支持update
支持spark
架构简单,可专注于业务开发。
cons:
1. 成本较高,公司无大规模使用经验。
2. 更加偏向于TP,不是列式存储,不能支持向量化计算。
3. 解决问题时间可能会较慢。

2、TiDB的架构图 (Architecture Evolution 技术演进参考 —— QCon北京2018-《TiDB架构与开源之路》-申砾.pdf)

在这里插入图片描述

在这里插入图片描述

  • PD是整个 集群的管理模块,负责元信息管理、集群调度和分配全局递增非连续ID;

  • TiDB 是客户端接入层,负责SQL解析、执行计划优化,通过PD定位存储计算所需数据的TiKV 地址;

  • TiKV是数据的存储层,底层是基于RocksDB的KV引擎,并在其上分别封装MVCC和Raft 协议,保证数据的安全、一致;

  • TiSpark是Spark接入层,负责把Spark和TiKV 连接到一起,在执行非常重的OLAP业务时可以利用到Spark集群的优势。

————————————————————————————————

  • TiDB 是 Server 计算层,主要负责 SQL 的解析、制定查询计划、生成执行器。
  • TiKV 是分布式 Key-Value 存储引擎,用来存储真正的数据,简而言之,TiKV 是 TiDB 的存储引擎。
  • PD 是 TiDB 集群的管理组件,负责存储 TiKV 的元数据,同时也负责分配时间戳以及对 TiKV 做负载均衡调度。
发布了61 篇原创文章 · 获赞 60 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/ITresource/article/details/104628831