Klustron 快速上手指南

 一、基本概念

计算节点:


计算节点使用PostgreSQL客户端协议或MySQL协议接受并验证客户端连接,并通过与集群的存储节点进行交互来执行连接客户端的SQL语句。

计算节点是无状态的,随着工作负载的增长,用户可以添加更多的计算节点,每个计算节点都可以为用户读/写请求提供服务。

计算节点具有全局事务处理能力,对于跨存储节点的数据操作,计算节点通过二阶段提交协议保证数据的一致性和完整性。

昆仑分布式数据库集群的计算节点本地具有所有数据库对象的所有元数据(表、视图、物化视图、序列、存储过程/函数、用户/角色和特权等),但它们不会在本地存储用户数据。相反,计算节点将其存储在存储节点中。

计算节点同时支持Mysql/ Postgresql 两种协议


存储节点:

存储节点是用户&业务数据的具体存放的地方。

每个存储节点都会存储所有用户数据的全部或部分子集,一个存储节点组(包含主从节点)称为一个分片(shard)。

存储节点从计算节点接收SQL指令以插入/更新/删除用户数据或返回数据给计算节点。
存储节点通过基于强同步或MGR技术实现一主多副本的数据高可靠性。

昆仑数据库的Fullsync(强同步)机制确保一个kunlun-storage的storage shard(存储集群)在提交任何一个事务完成后并且返回给客户端成功确认之前,必须收到fullsync_consistency_level个备机的ACK确认收到了这个事务的binlog。


元数据集群:

元数据节点存储整个昆仑集群的元数据,包括用户的定义数据,节点连接信息,存储节点信息,交易信息等。

 

 集群管理器:

集群管理器作为守护进程运行,‎维持每一个存储集群及其节点的replication状态、集群计算节点与存储节点之间的元数据和状态同步,集群管理程序也负责处理分布式事务特定故障。

二、快速体验

 

第一步:

环境需求: 一台 Linux 服务器,可用内存至少8G,磁盘空间20G以上, 安装了 docker,并且可以直接访问外网。

登录服务器,执行如下命令,安装Klustron 集群 docker 环境:

sudo docker run --privileged --name kunlun1 -p 5401:5401 -p 5402:5402 -p 5403:5403 -p 5404:5404 -p 5405:5405 -itd registry.cn-hangzhou.aliyuncs.com/kunlundb/kunlun:0.9.2  bash -c 'bash /kunlun/start_kunlun.sh'

演示环境成功部署

 第二步:

进入Klustron 数据库集群服务器:#docker exec -it kunlun1 /bin/bash


检查计算节点:执行如下图中的指令, 显示三个计算节点已经运行。

检查元数据集群:执行如下图中的指令, 显示三个元数据节点集群已经运行。


第三步:

检查存储节点:

说明: 

6004 端口是存储节点分片1的主节点, 6005,6006 是存储节点分片1的两个从节点

6007 端口是存储节点分片2的主节点, 6008,6009 是存储节点分片2的两个从节点

第四步:

连接数据库,检查集群分片存储信息:


#source env.sh
#psql -h 127.0.0.1  -p 5401 -U abc  postgres

 

第五步:

创建普通表:

CREATE TABLE testtable1 (id int primary key);

 

创建分区表:


CREATE TABLE testtable (id int primary key, name char(8)) partition by hash(id);
CREATE TABLE  testtable_p1  PARTITION OF testtable FOR VALUES WITH (MODULUS 4, REMAINDER 0);
CREATE TABLE  testtable_p2  PARTITION OF testtable FOR VALUES WITH (MODULUS 4, REMAINDER 1);
CREATE TABLE  testtable_p3  PARTITION OF testtable FOR VALUES WITH (MODULUS 4, REMAINDER 2);
CREATE TABLE  testtable_p4  PARTITION OF testtable FOR VALUES WITH (MODULUS 4, REMAINDER 3);
 

检查表分布情况:

select relname,relshardid  from pg_class where  reltype<>0 and relname like '%testtable% ';


快速体验补充说明

快速体验环境是一个2个shard存储的MGR集群, 在实际部署时,昆仑数据库时可以部署为单shard的方式,也可以部署为多个shard的方式, 完全取决应用环境的需求。

当昆仑数据库部署为单shard的方式, 环境需要的硬件配置与一个单节点的Mysql 一样, 但在性能和可靠性方面比单节点Mysql有很大的提升。


单shard 昆仑数据库可以动态扩容到多个shard集群, 以支持更大数据量及更高的负载,通过扩容, 数据库的处理能力可以获得线性提升,快速解决性能和容量的扩展性问题。


快速体验环境的存储是MGR数据同步, 昆仑数据库在生产环境推荐使用强同步技术,可以获得更高的性能。

END

首页    文档    Klustron 快速上手指南
浏览量:0