在2018年的PostgresChina技术大会上,演讲者赖宝华详细探讨了开源分布式NewSQL数据库CockroachDB的架构及最佳实践。CockroachDB是由百度云和CockroachDB中国社区支持的项目,自2014年开源以来,特别是2017年5月发布的1.0版本,发展迅速,现已成为2.1版本,GitHub上获得了超过14700个星标和220多位贡献者,体现了其在社区中的活跃度和认可。
CockroachDB的设计灵感源自Google的Spanner,遵循Apache License并使用Golang开发。其背后的研发公司Cockroach Labs由Google背景的三位创始人创建,他们曾参与过BigTable、GFS、Colossus和Gmail等知名项目。Cockroach Labs已获得超过5325万美元的融资,并在纽约设有50多名研发人员,显示出公司在技术实力和商业化方面的投入。
CockroachDB的主要特点是结合了NoSQL数据库处理大规模数据的优势,如线性扩展和高可用性,同时保持了传统关系型数据库(RDBMS)的特点,如SQL接口和ACID事务支持。这使得它在NewSQL领域独树一帜。NewSQL概念起源于2011年分析师Matthew Aslett的报告,其定义为既能处理海量数据又能提供SQL支持且具备ACID属性的数据库。
CockroachDB的核心架构包括SQL在分布式键值存储(DistributedKV)上的执行,以及节点(Node)、存储(Store)和范围(Range)的概念。通过将SQL操作映射到分布式系统,CockroachDB能够实现跨多个节点的数据一致性,确保了在分布式环境下的高效性和可靠性。
在2018年的PostgreSQL中国技术大会上,与会者不仅了解了CockroachDB的技术细节,还讨论了它在实际行业应用中的表现,如Comcast、Bose等公司的使用案例,以及DB-Engines和Google Trends等工具对其的关注度。CockroachDB作为一款前沿的分布式NewSQL数据库,凭借其独特的设计和广泛的应用,成为当时技术会议的焦点之一。