Cockroach DB 1.0发布

简介:

分布式SQL数据库Cockroach DB遵循软件产品以动物命名的模式。近日,该数据库的第一个生产就绪版本1.0发布。

许多人将Cockroach DB视为Google Spanner的开源版本。后者是一个强一致性、横向可扩展的RDBMS,它起初是一个服务于谷歌服务的内部项目,近日加入了谷歌云。和NuoDB一样,这些数据库都致力于解决同样的问题,那个NoSQL数据库在过去十年中设法从不同角度解决的问题。高可用性、线性可扩展性、强一致性、运行中复制技术以及快速响应和呈指数增长的数据集,所有这些问题都是数据库供应商数十年来致力于解决的问题。

NoSQL供应商采用的一种方法是放松关系型数据库强加的部分约束,一致性、可用性或分区容错性,就像CAP理论所描述的那样。SQL支持即使存在,大多数时候也是受限的。

另一方面,有时称为“NewSQL”数据库的方法是从头设计一种完全兼容SQL的数据库系统,并且仍然设法满足上述所有需求。

构建分布式数据库的其中一个最大的挑战是事件顺序。一个事务中的有序操作可以确保读取者和写入者有一致的数据视图。

根据谷歌发表的论文,Google Spanner使用了TrueTime概念中的GPS和原子钟在几毫秒内实现不同节点之间的同步。Cockroach的全局排序方法使用了他们在博客中描述的混合逻辑时钟。据称,两种方法都违背了CAP理论的定律,就是在一个分布式系统中,我们无法通过稍微不同的实现同时保证一致性、高可用性和分区容错性。

Cockroach的第一个生产就绪版本还提供了零宕机(在线)模式修改、次级索引和外键支持。在提供高可用性的同时,Cockroach还重点强调了一致性,使用每个数据集三个或三个以上的活动副本,所有这些副本都可以同时读/写。除了增加高可用性外,地理上分散的客户端可以连接到最近的服务器进行写入,确保每个客户端的状态在全球范围内都是一致的,在这种情况下,该“多活可用性”模型也很有用。Cockroach的其中一个客户是一家大型游戏公司,他们正积极地在生产环境中使用这项特性。Cockroach的主要客户还包括百度,他们积极地用它处理每秒23000多次的写入操作。

Cockroach DB的一大卖点是,它不需要重写MVC代码或者使用一些中间层翻译ORM和数据库查询,因为它提供了面向许多流行框架(如Ruby on Rails、Hibernate、Python和Node的Sequelize)的连接器及示例代码。GitHub上提供了详细的架构图,企业客户可以获得商业支持。复杂SQL联合查询还不够优化,它的名字也让许多用户心情复杂,但这没有阻止Cockroach于月初在红点创投领投的B轮融资中获得了2700万美元。

本文转自d1net(转载)

相关文章
|
存储 物联网 网络性能优化
|
10月前
|
监控 供应链 数据可视化
电商项目管理之 WBS方法策略
通过将项目拆解成更小、更可执行的任务单元,WBS帮助团队理清思路、明确分工、监控进度,最终确保项目顺利落地。
239 12
电商项目管理之 WBS方法策略
|
12月前
|
监控 Docker 容器
docker swarm 如何管理 Worker 节点
【10月更文挑战第11天】
179 4
|
12月前
|
JavaScript 前端开发
鸿蒙 NEXT 如何使用 @Styles 装饰器来优化我的组件代码?
【10月更文挑战第16天】在鸿蒙 NEXT 中,`@Styles` 装饰器用于优化组件的样式定义,使代码更清晰和易于维护。通过将样式属性封装到独立对象中,避免了冗长的内联样式,提高了代码的可读性和可维护性。使用步骤包括定义样式对象、在组件中引入并应用装饰器,支持多个样式对象的组合和动态应用。注意样式对象的属性名需与组件支持的样式属性一致,且后定义的样式会覆盖前者的同名属性。
344 0
|
前端开发 开发工具 数据库
支付系统资料-青戈版沙箱支付,订单编号样式设计,还有七天无理由退款,常与会员系统相搭配,内网穿透客户看到页面,前端展示,直播过程所有都能访问的写法
支付系统资料-青戈版沙箱支付,订单编号样式设计,还有七天无理由退款,常与会员系统相搭配,内网穿透客户看到页面,前端展示,直播过程所有都能访问的写法
支付系统资料-青戈版沙箱支付,订单编号样式设计,还有七天无理由退款,常与会员系统相搭配,内网穿透客户看到页面,前端展示,直播过程所有都能访问的写法
|
存储 数据库
离线数仓(八)【DWD 层开发】(1)
离线数仓(八)【DWD 层开发】
|
JSON 自然语言处理 Go
Golang 微服务为什么选择使用 gRPC 作为通信协议?
Golang 微服务为什么选择使用 gRPC 作为通信协议?
182 0
|
存储 程序员 开发者
【汇编】其他转移指令、call指令和ret指令
【汇编】其他转移指令、call指令和ret指令
428 2
反馈放大电路的作用及其应用
一、什么是反馈放大电路 反馈放大电路是一种通过引入反馈来增强放大器性能的电路。它将放大器的输出信号与输入信号进行比较,然后将比较结果作为反馈信号输入到放大器的输入端,以调整放大器的增益和频率响应。 反馈放大电路的作用是改善放大器的性能,包括增加增益稳定性、减小非线性失真、扩展频率响应范围、降低噪声等。通过选择适当的反馈类型和参数,可以实现不同的放大器性能优化。 常见的反馈放大电路包括电压反馈放大电路和电流反馈放大电路。电压反馈放大电路将放大器输出信号与输入信号进行比较,然后将比较结果作为反馈信号输入到放大器的输入端。电流反馈放大电路则是将放大器输出信号与输入信号进行比较,然后将比较结果作为反馈
535 0
Word页码调整为“第几页共几页”且去除封面页数的方法
本文介绍在Word文档中,不考虑封面、目录、前言等的页数,为正文添加“第X页,共X页”样式页码的方法~
2622 1
Word页码调整为“第几页共几页”且去除封面页数的方法