YugaByte DB介绍
YugaByte DB 是一个高性能、云原生的分布式 SQL 数据库。
- 可插入式的查询层,支持两个分布式 SQL APIs:
- YugaByte SQL (YSQL) - PostgreSQL 兼容的关系型 API
- YugaByte Cloud QL (YCQL) - 半关系型的类 SQL API ,支持文档/索引和 Apache Cassandra QL roots
- 基于Google Spanner设计的自动分片,共识复制和分布式事务架构
- 提供水平伸缩能力、强一致性以及高可用性
- 极具弹性 - 可自动容忍磁盘,节点,区域和区域故障
- 支持地理分布式部署(多区域,多区域,多云)
- 可以部署在公共云,也可以部署在 Kubernetes 内部
- 开源许可证 Apache 2.0 license
本文在CentOS7下安装部署YugaByte DB,Python版本为2.7.5,暂不支持Python3以上版本
安装YugaByte DB
wget https://downloads.yugabyte.com/yugabyte-1.3.1.0-linux.tar.gz
tar xvfz yugabyte-1.3.1.0-linux.tar.gz && cd yugabyte-1.3.1.0/
创建本地集群
./bin/yb-ctl create
安装成功后可以通过命令行查看集群状态
./bin/yb-ctl status
也可访问master Admin UI http://127.0.0.1:7000 和tserver Admin UI http://127.0.0.1:9000 查看集群状态
测试YugaByte SQL
wget https://raw.githubusercontent.com/YugaByte/yb-sql-workshop/master/query-using-bi-tools/schema.sql
wget https://github.com/YugaByte/yb-sql-workshop/raw/master/query-using-bi-tools/sample-data.tgz
- 启动postgresql,pg无法在root用户下启动,先需创建pg用户
./postgres/bin/initdb -D /tmp/yb_pg_initdb_tmp_data_dir -U postgres
./bin/ysqlsh --echo-queries
GRANT ALL ON DATABASE yb_demo to postgres;
如果报错ERROR: Should never reach here 则修改建表语句中的bigserial为int
如果报错ERROR: must specify at least one column 则删除建表语句中的PRIMARY KEY
SELECT id, title, category, price, rating FROM products LIMIT 5;