TiDB学习心得

介绍:tidb是一个PingCAP公司设计的开源分布式HTAP数据库,结合了传统的RDBMS和NoSQL的最佳特性。TiDB兼容MySQL,支持无限的水平扩展,具备强一致性和高可用性。

TiDB的目标是为OLTP和OLAP场景提供一站式的解决方案。

OLTP:On-Line Transaction Processing联机事务处理过程,也称为面向交易的处理过程,其基本特征是前台接收的用户数据可用立即传送到计算机中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。

OLAP:联机分析处理。它是使分析人员、管理人员或执行人员能从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特点的查询和报表需求,它的技术核心是“维”

                  OLTP                                                OLAP

用户: 操作人员,低层管理人员                      决策人员,高级管理人员

功能:        日常操作处理                                      分析决策

DB:          设计面向应用                                      面向主题

数据:当前的, 最新的细节的, 二维的分立的      历史的, 聚集的, 多维的集成的, 统一的

存取:        读/写数十条记录                                读上百万条记录

工作单位:  简单的事务                                        复杂的查询

用户数:        上千个                                              上百万个

DB 大小:      100MB-GB                                      100GB-TB

时间要求:      具有实时性                                  对时间的要求不严格

主要应用:        数据库                                              数据仓库

TiDB的几大特性:

1.高度兼容MySQL

大多数情况下,无需修改代码即可从MySQL轻松迁移至TiDB,分库分表后的MySQL群集也可以通过TiDB工具进行实时迁移。

2.水平弹性扩展

通过简单地增加新节点可以实现TiDB的水平扩展,按需扩展吞吐或存储,轻松应对高并发、海量数据场景。

3.分布式事务

TiDB100%支持标准的ACID事务。(Atomic原子性:事务中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败;Consistent一致性:事务结束后系统状态是一致的;Isolated:并发执行的事务彼此无法看到对方的状态;Durable持久性:事务完成后所做的改动都会被持久化,即使发生灾难性的失败。通过日志和同步备份可以在故障发生后重建数据。)

4.真正金融级高可用

相比于传统主从(M-S)复制方案(将数据从一台数据库服务器master复制到一到多台数据库服务器,属于异步复制,可以复制库或者多个库,甚至库中的表),基于Raft的多派选举协议可以提供金融级的100%数据强一致性保证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复,无需人工介入。

5.一站式HTAP解决方案

TiDB作为典型的OLTP型存数据库,同时兼具强大的OLAP性能,配合TiSpark,可提供一站式HTAP解决方案,一份存储同时处理OLTP&OLAP,无需传统繁琐的ETL过程。(ETL,是EXTRACT-Transform-Load的缩写,用来描述将数据从来源端经过抽取、交互转换、加载至目的端的过程,它是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗最终按照预定好的数据仓库模型,将数据加载到数据仓库中去。)

6.云原生SQL数据库

TiDB是为云而设计的数据库,同Kubernetes(它的设计目标是在主机群集之间提供一个能够自动化部署、可拓展、应用容器可运营的平台。)深度耦合,支持公有云】私有云和混合云,使部署、配置和维护变得十分简单。

TiDB的设计目标是100%的OLTP和80%的OLAP场景,更复杂的OLAP分析可以通过TiSpark项目来完成。

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

你可能感兴趣的:(TiDB学习心得)