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(转载)

相关文章
|
存储 数据库 Python
怎么解决字符乱码的问题
怎么解决字符乱码的问题
526 0
|
12月前
|
监控 安全 算法
龙蜥衍生版KeyarchOS国密应用、eBPF安全技术实践介绍|龙蜥大讲堂107期
龙蜥衍生版KeyarchOS国密应用及eBPF安全技术实践介绍。本次分享由浪潮信息的霍文和甄鹏主讲,涵盖全栈国密、国密密钥证书、国密通信等内容,并介绍了基于eBPF技术的新一代零侵入安全防御组件KSecure。通过实际案例展示了敏感信息传输加密、虚拟机热迁移等应用场景,以及如何利用eBPF实现进程注入检测等安全功能。该技术方案有效提升了操作系统的安全性与合规性,为服务器提供了强大的安全保障。
313 12
龙蜥衍生版KeyarchOS国密应用、eBPF安全技术实践介绍|龙蜥大讲堂107期
|
12月前
|
机器学习/深度学习 人工智能 监控
AI在交通管理系统中的应用
AI在交通管理系统中的应用
492 23
|
机器学习/深度学习 存储 人工智能
多模态、数据血缘、QA拆分、语音对话等特点解析
知识库问答拆分将文档内容转换为问答对,提高信息检索效率和用户体验,同时便于信息结构化和维护。数据血缘能力支持查看和维护知识来源,确保信息准确性。多模态知识库整合文本、图像等多种数据,提升信息检索质量和用户体验。语音对话功能支持音色选择、语音输入和播报,增强互动性。Rerank排序优化知识库召回结果,提升查询精准度。
326 8
|
12月前
|
数据采集 PyTorch 算法框架/工具
sam模型迁移昇腾训练loss不收敛问题的解决办法
在将SAM模型迁移到昇腾平台时,遇到了精度问题。具体表现为NPU训练的loss图从一开始就未收敛,而GPU则正常收敛。通过使用Ascend开源仓的msprobe工具进行精度对比,发现NPU丢失了image_embedding的梯度,原因在于torch_npu版本与PyTorch不匹配,导致`repeat_interleave_backward_tensor`函数调用失败。最终通过选择与PyTorch配套的torch_npu版本解决了问题,loss图恢复正常。
|
存储 缓存 监控
性能优化技术:提升系统效率的关键策略
【10月更文挑战第19天】性能优化技术:提升系统效率的关键策略
|
存储 缓存 安全
阿里云EMR数据湖文件系统: 面向开源和云打造下一代 HDFS
本文作者详细地介绍了阿里云EMR数据湖文件系统JindoFS的起源、发展迭代以及性能。
73108 79
|
数据库
使用Mybatis-Plus实现对象属性自动填充功能
使用Mybatis-Plus实现对象属性自动填充功能
881 0
|
存储 Serverless 文件存储
No space left on device
No space left on device
602 1
|
Java Spring 容器
[Spring] 字节一面~Spring 如何解决循环依赖问题 以及 @resource 与 @autowire 同时存在时谁生效
[Spring] 字节一面~Spring 如何解决循环依赖问题 以及 @resource 与 @autowire 同时存在时谁生效
359 0