1、软件下载地址:
2、Atlas Sharding简介
Sharding的基本思想就是把一个数据表中的数据切分成多个部分, 存放到不同的主机上去(切分的策略有多种), 从而缓解单台机器的性能跟容量的问题. sharding是一种水平切分, 适用于单表数据庞大的情景. 目前atlas支持静态的sharding方案, 暂时不支持数据的自动迁移以及数据组的动态加入. Atlas以表为单位sharding, 同一个数据库内可以同时共有sharding的表和不sharding的表, 不sharding的表数据存在未sharding的数据库组中. 目前Atlas sharding支持insert, delete, select, update语句, 只支持不跨shard的事务. 所有的写操作如insert, delete, update只能一次命中一个组, 否则会报"ERROR 1105 (HY000):write operation is only allow to one dbgroup!"错误. 由于sharding取替了Atlas的分表功能, 所以在Sharding分支里面, Atlas单机分表的功能已经移除, 配置tables将不会再有效. 关于垂直切分与水平切分的区别与优缺点, 在这里就不详细解释了. |
3、兼容性
Atlas支持非sharding跟sharding的表共存在同一个Atlas中, 2.2.1之前的配置可以直接运行.之前的配置如: 此处配置了一个master和一个slave, 这属于非sharding的组,所有非sharding的表跟语句都会发往这个组内.所以之前没有Sharding的Atlas的表可以无缝的在新版上使用,注意: 非Sharding的组只能配置一个,而sharding的组可以配置多个.下面的配置, 配置了Sharding的组,注意与上面的配置区分 |
4、安装:
1)RPM安装:
RPM包安装(推荐): 请到 https://github.com/Qihoo360/Atlas/releases/ 下载相应的rpm包(Sharding2.2.1)直接安装即可. |
2)源码安装
源码安装: sharding是以sharding分支发布的:
git clone https://github.com/Qihoo360/Atlas.git git checkout sharding git pull origin sharding
编译sharding分支的Atlas还需要安装lemon:
之后就可以编译了(glib jemalloc libffi libevent等依赖请自行安装):
|
5、Atlas Sharding架构:
Atlas |