others linux服务器运维 django3 监控 k8s golang 数据库 大数据 前端 devops 理论基础 java oracle 运维日志

TiDB

访问量:5010 创建时间:2021-01-29

TiDB 开源分布式关系型数据库 TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional/Analytical Processing)的融合型数据库产品,实现了一键水平伸缩,强一致性的多副本数据安全,分布式事务,实时 OLAP 等重要特性。同时兼容 MySQL 协议和生态,迁移便捷,运维成本极低。支持100%的OLTP--短时间内大量并发的事务操作能力,每个操作涉及的数据量很小(字节),事务一直性强。支持80%OLAP(tispark可以提供超过80%的OLAP功能)--偏向于海量数据分析计算,单个查询时间长。

TiDB特性 描述
高度兼容mysql 兼容 MySQL 5.7 协议、MySQL 常用的功能、MySQL 生态,应用无需或者修改少量代码即可从 MySQL 迁移到 TiDB。提供丰富的数据迁移工具帮助应用便捷完成数据迁移。
实时HTAP 提供行存储引擎 TiKV、列存储引擎 TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft Learner 协议实时从 TiKV 复制数据,确保行存储引擎 TiKV 和列存储引擎 TiFlash 之间的数据强一致。TiKV、TiFlash 可按需部署在不同的机器,解决 HTAP 资源隔离的问题。
云原生的分布式数据库 专为云而设计的分布式数据库,通过 TiDB Operator 可在公有云、私有云、混合云中实现部署工具化、自动化。
数据高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置、副本数量等策略满足不同容灾级别的要求。
一键水平扩容或者缩容 得益于 TiDB 存储计算分离的架构的设计,可按需对计算、存储分别进行在线扩容或者缩容,扩容或者缩容过程中对应用运维人员透明。

开发环境安装tidb

通过docker-compose安装:

安装docker-compose,过程参考 https://www.linuxsre.cn/wiki/Kubernetes/140

[root@localhost ~]# yum install git -y
#下载 tidb-docker-compose
[root@localhost ~]# git clone https://github.com/pingcap/tidb-docker-compose.git
Cloning into 'tidb-docker-compose'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 554 (delta 0), reused 6 (delta 0), pack-reused 546
Receiving objects: 100% (554/554), 284.17 KiB | 17.00 KiB/s, done.
Resolving deltas: 100% (243/243), done.
You have new mail in /var/spool/mail/root
[root@localhost ~]# cd tidb-docker-compose && docker-compose pull && docker-compose up -d
[root@localhost tidb-docker-compose]# docker-compose ps
/usr/lib/python2.7/site-packages/paramiko/transport.py:33: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
  from cryptography.hazmat.backends import default_backend
               Name                             Command               State                 Ports              
---------------------------------------------------------------------------------------------------------------
tidb-docker-compose_grafana_1        /run.sh                          Up      0.0.0.0:3000->3000/tcp           
tidb-docker-compose_pd0_1            /pd-server --name=pd0 --cl ...   Up      0.0.0.0:49153->2379/tcp, 2380/tcp
tidb-docker-compose_pd1_1            /pd-server --name=pd1 --cl ...   Up      0.0.0.0:49155->2379/tcp, 2380/tcp
tidb-docker-compose_pd2_1            /pd-server --name=pd2 --cl ...   Up      0.0.0.0:49154->2379/tcp, 2380/tcp
tidb-docker-compose_prometheus_1     /bin/prometheus --log.leve ...   Up      0.0.0.0:9090->9090/tcp           
tidb-docker-compose_pushgateway_1    /bin/pushgateway --log.lev ...   Up      9091/tcp                         
tidb-docker-compose_tidb-vision_1    /bin/sh -c sed -i -e "s/PD ...   Up      2015/tcp, 443/tcp, 80/tcp,       
                                                                              0.0.0.0:8010->8010/tcp           
tidb-docker-compose_tidb_1           /tidb-server --store=tikv  ...   Up      0.0.0.0:10080->10080/tcp,        
                                                                              0.0.0.0:4000->4000/tcp           
tidb-docker-compose_tikv0_1          /tikv-server --addr=0.0.0. ...   Up      20160/tcp                        
tidb-docker-compose_tikv1_1          /tikv-server --addr=0.0.0. ...   Up      20160/tcp                        
tidb-docker-compose_tikv2_1          /tikv-server --addr=0.0.0. ...   Up      20160/tcp                        
tidb-docker-compose_tispark-         /opt/spark/sbin/start-mast ...   Up      0.0.0.0:7077->7077/tcp,          
master_1                                                                      0.0.0.0:8080->8080/tcp           
tidb-docker-compose_tispark-         /opt/spark/sbin/start-slav ...   Up      0.0.0.0:38081->38081/tcp         
slave0_1                                         
[root@localhost ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:4000            0.0.0.0:*               LISTEN      12542/docker-proxy  
tcp        0      0 0.0.0.0:10080           0.0.0.0:*               LISTEN      12516/docker-proxy  
tcp        0      0 0.0.0.0:38081           0.0.0.0:*               LISTEN      12848/docker-proxy  
tcp        0      0 0.0.0.0:49153           0.0.0.0:*               LISTEN      11461/docker-proxy  
tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN      11635/docker-proxy  
tcp        0      0 0.0.0.0:49154           0.0.0.0:*               LISTEN      11562/docker-proxy  
tcp        0      0 0.0.0.0:49155           0.0.0.0:*               LISTEN      11591/docker-proxy  
tcp        0      0 0.0.0.0:7077            0.0.0.0:*               LISTEN      12499/docker-proxy  
tcp        0      0 0.0.0.0:8010            0.0.0.0:*               LISTEN      11447/docker-proxy  
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      12473/docker-proxy  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      9925/sshd           
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      11510/docker-proxy  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1379/master         
tcp6       0      0 :::22                   :::*                    LISTEN      9925/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1379/master 
#安装mysql命令
[root@localhost ~]# yum install mysql
#连接tidb
[root@localhost ~]# mysql -h 127.0.0.1 -P 4000 -u root

grafana地址:http://IP:3000/ ,账号admin,密码admin 可视化地址 : http://IP:8010/ spark地址:http://IP:8080/ prometheus地址: http://IP:9090/

登陆评论: 使用GITHUB登陆