TiDB是一个分布式的SQL数据库。拥有史无前例的超大容量,可以存储上百亿条数据。支持处理多种混合事务,专门用于解决海量数据存储、超高并发等情况。TiDB兼容绝大多数 mysql 语法,支持弹性水平扩展,借助于系统的可靠性,不会因为一处的故障使得整个服务器瘫痪崩溃。对于超大型数据来说是非常重要的。您可以结合自己项目,用TiDB来搭建出一套独属于您的分布式数据库。
分布式数据库
分布式数据库系统虽然说是分布式的,但其逻辑上还是一个整体。在分布式数据库里,可以将数据分散开来存储,每一批数据都由专门的DBMS来进行管理。分布式数据库的出现,使得分布对于用户变得透明。更好的服务于您所有的业务需求。
TiDB软件特色
1、海量存储
TiDB拥有超超超大的数据存储空间,为您提供了百PB级存储能力。真正意义上解决了单机数据库存存在的存储限制。
2、横向扩容
TiDB提供了丰富的算法,您可以将数据分散存储在多个数据下。从而实现水平扩容。不会再出现单表数据量爆炸的问题。
3、语法兼容
TiDB兼容所有的MySQL语法,让您使用TiDB就像在用MySQL一样,但由于根本上的不同,还请您上网查询软件差异。
4、读写分离
TiDB能使得多个数据库节点同时分担主节点的请求,从根本上减少了服务器的压力
TiDB软件优势
1、局部响应速度更快。
2、灵活的结构体系。
3、数据库系统的可靠性高、可用性好。
4、适应分布式的管理机制。
5、经济性能优越,廉价的配置也能搭载数据库。
TiDB安装教程
1、设置服务器互信(中控机172.28.1.51操作)
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub TiDB各服务器IP
2、tiup安装
sudo su - tidb
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
source .bash_profile
tiup cluster
3、配置文件topology.yaml
# # Global variables are applied to all deployments and used as the default value of
# # the deployments if a specific deployment value is missing.
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/data/tidb-deploy"
data_dir: "/data/tidb-data"
server_configs:
pd:
replication.enable-placement-rules: true
tidb:
binlog.enable: true
binlog.ignore-error: true
pd_servers:
- host: 172.28.1.21
- host: 172.28.1.22
- host: 172.28.1.23
tidb_servers:
- host: 172.28.1.12
- host: 172.28.1.13
tikv_servers:
- host: 172.28.1.31
- host: 172.28.1.32
- host: 172.28.1.33
pump_servers:
- host: 172.28.1.41
data_dir: /data/tidb-data/drainer-8250
deploy_dir: /data/tidb-deploy/drainer-8250
config:
gc: 7
- host: 172.28.1.42
data_dir: /data/tidb-data/drainer-8250
deploy_dir: /data/tidb-deploy/drainer-8250
config:
gc: 7
- host: 172.28.1.43
data_dir: /data/tidb-data/drainer-8250
deploy_dir: /data/tidb-deploy/drainer-8250
config:
gc: 7
drainer_servers:
- host: 172.28.1.44
port: 8249
data_dir: /data/tidb-data/drainer-8249
deploy_dir: /data/tidb-deploy/drainer-8249
commit_ts: -1
config:
syncer.db-type: "mysql"
syncer.to.host: "172.28.1.61"
syncer.to.user: "root"
syncer.to.password: "密码"
syncer.to.port: 3306
monitoring_servers:
- host: 172.28.1.51
grafana_servers:
- host: 172.28.1.51
alertmanager_servers:
- host: 172.28.1.51
4、执行集群部署
tiup cluster deploy 集群名称 v4.0.8 ./topology.yaml
5、查看集群状态
tiup cluster desplay 集群名称
6、启动集群
tiup cluster 集群名称 start