cockroachdb尝试

CockroachDB部署与试用
本文介绍了CockroachDB v1.0.4版本的部署步骤与启动配置,包括单机模式与集群模式的详细操作过程。通过示例展示了如何创建数据库、表以及插入数据,并验证了数据的一致性和高可用特性。

部署和启动

部署

官网下来的cockroach-v1.0.4.linux-amd64.tgz
解压开后就一个bin文件,拷贝到系统目录即可

cp -i cockroach-v1.0.4.linux-amd64/cockroach /usr/local/bin/

启动

--host=192.168.143.40也可以指定为--host=localhost

[root@40 /]# cockroach start --insecure --host=192.168.143.40
*
* WARNING: RUNNING IN INSECURE MODE!
* 
* - Your cluster is open for any client that can access 192.168.143.40.
* - Any user, even root, can log in without providing a password.
* - Any user, connecting as root, can read or write any data in your cluster.
* - There is no network encryption nor authentication, and thus no confidentiality.
* 
* Check out how to secure your cluster: https://www.cockroachlabs.com/docs/secure-a-cluster.html
*
CockroachDB node starting at 2017-07-29 10:23:23.149132434 +0800 CST
build:      CCL v1.0.4 @ 2017/07/27 17:54:36 (go1.8.3)
admin:      http://192.168.143.40:8080
sql:        postgresql://root@192.168.143.40:26257?sslmode=disable
logs:       /cockroach-data/logs
store[0]:   path=/cockroach-data
status:     restarted pre-existing node
clusterID:  f2f44c02-7e04-4bb6-8f64-bb54c6111604
nodeID:     1

上面启动后
可以通过浏览器的http://192.168.143.40:8080/看到监控和数据库信息
可以通过postgresql来连接psql -h 192.168.143.40 -p 26257 -Uroot

试用单机

开始只允许使用root来创建数据库,所以用如下连接:

psql -h 192.168.143.40 -p 26257 -Uroot

构造基础数据

root=> create database db_lin;
CREATE DATABASE
root=> create table db_lin.t1 (a int, b int);
CREATE TABLE
root=> insert into db_lin.t1 values (1, 11), (2, 22);
INSERT 0 2
root=> select * from db_lin.t1;
 a | b  
---+----
 1 | 11
 2 | 22
(2 rows)

结束用ctrl + c

试用集群

2台是不行的,,,要3台起步
我使用了2台服务器192.168.143.40192.168.143.59
其中40启1个,59启动2个
启动如下:

cockroach start --store n1 --insecure --host=192.168.143.40
cockroach start --insecure --store=n2 --host=192.168.143.59 --port=26257 --http-port=8080 --join=192.168.143.40:26257
cockroach start --insecure --store=n3 --host=192.168.143.59 --port=26258 --http-port=8081 --join=192.168.143.40:26257

这样就可以用如下三条命令连到三个入口,可以发现数据是一样的

psql -h 192.168.143.40 -p 26257 -Uroot
psql -h 192.168.143.59 -p 26257 -Uroot
psql -h 192.168.143.59 -p 26258 -Uroot

集群模式下,停止任何1台,有2台正常工作的情况下,整个集群均正常,可读可写。
但如果集群只有2台,停止1台,剩余的1台就没法正常工作了。

初步小节

newsql
3台是最小集群,数据1:1:1,超过3台,数据会按规则散落在不同服务器上,但是数据依然是3份,所以超过3台的集群,就可以看到数据均衡的动作了
底层使用rocksdb存储,mvcc,支持事务,raft一致性
开源,licence是CockroachDB Community License Agreement

参考

https://github.com/cockroachdb/cockroach
https://www.cockroachlabs.com/docs/stable/

CockroachDB (蟑螂数据库)是一个可伸缩的、支持地理位置处理、支持事务处理的数据存储系统,和谷歌的F1系统类似,支持分布式事务等特性。。CockroachDB 提供两种不同的的事务特性,包括快照隔离(snapshot isolation,简称SI)和顺序的快照隔离(SSI)语义,后者是默认的隔离级别。        为了保证在线的百万兆字节流量业务的质量,Google开发了Spanner系统,这是一个可扩展的,稳定的,支持事务的系统。许多参与开发CockroachDB的团队现在都服务于开源社区。就像真正的蟑螂(cockroach)一样,CockroachDB可以在没有数据头、任意节点失效的情况下正常运行。这个开源项目有很多富有经验的贡献者,创始人们通过社交媒体、Github、网络、会议和聚会结识他们并鼓励他们参与其中    蟑螂是一个分布式的K/V数据仓库,支持ACID事务,多版本值存储是其首要特性。主要的设计目标是全球一致性和可靠性,从蟑螂的命名上是就能看出这点。蟑螂数据库能处理磁盘、物理机器、机架甚至数据中心失效情况下最小延迟的服务中断;整个失效过程无需人工干预。蟑螂的节点是均衡的,其设计目标是同质部署(只有一个二进制包)且最小配置。    蟑螂数据库实现了单一的、巨大的有序映射,键和值都是字节串形式(不是unicode),支持线性扩展,理论上支持4EB的逻辑数据)。映射有一个或者多个Range组成,每一个Range对应一个把数据存储在RocksDB(LevelDB的一个变种,Facebook贡献)上的K/V数据库,并且复制到三个或者更多蟑螂服务器上,Range定义为有开始和结束键值的区间。Range可以合并及分裂来维持总大小在一个全局配置的最大最小范围之间。Range的大小默认是64M,目的是便于快速分裂和合并,在一个热点键值区间快速分配负载。Range的复制确定为分离的数据中心来达到可靠性(比如如下分组:{ US-East, US-West, Japan }, { Ireland, US-East, US-West}, { Ireland, US-East, US-West, Japan, Australia })    Range有一种变化,通过分布式一致性算法实例来调节确保一致性,蟑螂所选择使用Raft一致性算法。所有的一致性状态存在于RocksDB中。项目官网地址:http://www.cockroachdb.cn/ 标签:蟑螂数据库  国人开源
在 Windows 系统上安装 CockroachDB 可以通过多种方式进行,包括使用二进制文件直接安装、利用 Docker 容器化部署等。以下是几种常见的安装方法: ### 使用二进制文件安装 1. **下载 CockroachDB 二进制文件** 访问 [CockroachDB 官方下载页面](https://www.cockroachlabs.com/get-started-cockroachdb/),选择适用于 Windows 的版本并下载。 2. **解压并配置环境变量** 将下载的压缩包解压到目标目录(例如 `C:\Cockroach`),然后将解压后的路径添加到系统 `PATH` 环境变量中,以便在命令行中可以直接调用 `cockroach` 命令。 3. **验证安装** 打开命令提示符,运行以下命令检查是否安装成功: ```bash cockroach version ``` ### 使用 Docker 安装 如果希望避免手动配置,可以使用 Docker 快速部署 CockroachDB: 1. **启动 CockroachDB 容器** 运行以下命令来启动一个单节点的 CockroachDB 实例: ```powershell docker run -d --name cockroachdb -p 26257:26257 -p 8080:8080 cockroachdb/cockroach:v20.1.5 start --insecure ``` 此命令会拉取指定版本的 CockroachDB 镜像,并以前台模式启动数据库服务[^1]。 2. **连接数据库** 使用 SQL 客户端连接 CockroachDB: ```powershell cockroach sql --host=localhost --port=26257 --insecure ``` ### 使用本地安装包进行开发测试 对于本地开发测试环境,也可以使用 CockroachDB 提供的一键式安装工具: 1. **下载并运行安装程序** 从官方 GitHub 发布页面获取适用于 Windows 的 `.exe` 安装程序,并按照引导完成安装过程。 2. **启动数据库服务** 安装完成后,在命令行中执行以下命令启动数据库实例: ```bash cockroach start --insecure --store=path=C:\cockroach\data ``` 3. **访问管理界面** 打开浏览器访问 `http://localhost:8080`,即可查看 CockroachDB 的 Web UI 管理界面。 ### 示例:创建数据库和表 一旦连接成功,可以尝试创建数据库和表: ```sql CREATE DATABASE testdb; CREATE TABLE testdb.accounts ( id INT PRIMARY KEY, balance DECIMAL ); ``` 这些操作可用于验证数据库是否正常工作[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值