OceanBase是什么
OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成。
OceanBase解决什么问题
许多公司的核心资产是各种各样的商业数据,例如淘宝的商品、交易、订单、购物爱好等等,这些数据通常是结构化的,并且数据之间存在各种各样的关联,传统的
关系数据库曾经是这些数据的最佳载体。然而,随着业务的快速发展,这些数据急剧膨胀,记录数从几千万条增加到数十亿条,数据量从百GB增加到数TB,未来
还可能增加到数千亿条和数百TB,传统的关系型数据库已经无法承担如此海量的数据。OceanBase解决不断增加的结构化数据存储与查询的问题。
从Eric Brewer教授的CAP(一致性C: Consistency, 可用性A: Availability,分区容错性P:
Tolerance of network
Partition)理论角度分析,作为电子商务企业,淘宝和其他公司的业务对一致性和可用性的要求高于分区容错性,数据特征是数据总量庞大且逐步增加,
单位时间内的数据更新量并不大,但实时性要求很高。这就要求我们提供一套更加偏重于支持CA特性的系统,同时兼顾可分区性,并且在实时性、成本、性能等方
面表现良好。
OceanBase的特点
OceanBase功能
OceanBase设计和实现的时候暂时摒弃了不紧急的DBMS的功能,例如临时表,视图(view),研发团队把有限的资源集中到关键点上,当前
OceanBase主要解决数据更新一致性、高性能的跨表读事务、范围查询、join、数据全量及增量dump、批量数据导入。
OceanBase数据访问特点
虽然数据总量比较大,但跟许多行业一样,淘宝业务一段时间(例如小时或天)内数据的增删改是有限的(通常一天不超过几千万次到几亿次),根据这个特
点,OceanBase把一段时间内的增删改等修改操作以增量形式记录下来(称之为动态数据,通常保存在内存中),这样也使得了主体数据在一段时间内保持
了相对稳定(称之为基准数据)。
由于动态数据相对较小,通常情况下,OceanBase把它保存在独立的服务器UpdateServer的内存中。以内存保存增删改记录极大地提高了系统
写事务的性能。此外,假如每条修改平均消耗100
Bytes,那么10GB内存可以记录100M(即1亿)条修改,且扩充UpdateServer内存即增加了内存中容纳的修改量。不仅如此,由于冻结后
的内存表不再修改,它也可以转换成sstable格式并保存到SSD固态盘或磁盘上。转储到SSD固态盘后所占内存即可释放,并仍然可以提供较高性能的读
服务,这也缓解了极端情况下UpdateServer的内存需求。为了应对机器故障,动态数据服务器UpdateServer写commit
log并采取双机(乃至多机)热备。由于UpdateServer的主备机是同步的,因此备机也可同时提供读服务。
因为基准数据相对稳定,OceanBase把它按照主键(primary key,也称为row
key)分段(即tablet)后保存多个副本(一般是3个)到多台机器(ChunkServer)上,避免了单台机器故障导致的服务中断,多个副本也提
升了系统服务能力。单个tablet的尺寸可以根据应用数据特点进行配置,相对配置过小的tablet会合并,过大的tablet则会分裂。
由于tablet按主键分块连续存放,因此OceanBase按主键的范围查询对应着连续的磁盘读,十分高效。
对于已经冻结/转储的动态数据,OceanBase的ChunkServer会在自己不是太繁忙的时候启动基准数据与冻结/转储内存表的合并,并生成新的基准数据。这种合并过程其实是一种范围查询,是一串连续的磁盘读和连续的磁盘写,也是很高效的。
传统DBMS提供了强大的事务性、良好的一致性和很短的查询修改响应时间,但数据规模受到严重制约,缺乏扩展性;现代云计算提供了极大的数据规模、良好的
扩展性,但缺乏跨行跨表事务、数据一致性也较弱、查询修改响应时间通常也较长,OceanBase的设计和实现融合了二者的优势:
OceanBase当前在淘宝的应用
OceanBase现在已经应用于淘宝收藏夹,用于存储淘宝用户收藏条目和具体的商品、店铺信息,每天支持4~5千万的更新操作。等待上线的应用还包括CTU、SNS等,每天更新超过20亿,更新数据量超过2.5TB,并会逐步在淘宝内部推广,也期待外部合作者。
taobao也终于出开源数据库了,关注下,有时间来尝试下
关于OceanBase的详细地址如下:http://code.taobao.org/trac/OceanBase/wiki/intro
分享到:
相关推荐
而OceanBase是阿里巴巴开源的一款分布式数据库系统,它以高可用性、高性能和线性扩展性著称。MyBatis作为轻量级的持久层框架,简化了Java应用与数据库之间的交互,通过XML或注解方式配置映射关系,实现了SQL语句的...
OceanBase是一款开源的关系型数据库管理系统,具备高性能、高可用性和高扩展性的特点。OceanBase提供了多种数据导入和导出工具,包括obdumper、obloader、obimport等。本文将详细介绍OceanBase导入导出工具obdumper...
为了应对这一问题,云数据库如Amazon Aurora和Amazon Redshift应运而生,它们通过存储计算分离解决了部分扩展性问题,但仍然存在事务处理和SQL支持不足的局限,开源数据库的核心能力也尚未达到企业级数据库的标准。...
- OceanBase数据库不是基于开源数据库的再发行产品,而是在阿里和蚂蚁集团内部经过长期研发的成果。 - 它已发布到阿里云的公有云和专有云,支持多种硬件平台,包括国产CPU。 - OceanBase支持MySQL和Oracle两种模式,...
OceanBase数据库是新型的开源数据库,由阿里巴巴公司开发并捐赠给开源社区。OceanBase数据库的诞生旨在解决传统关系型数据库在处理海量数据、高并发访问、共享访问等方面遇到的性能瓶颈。 OceanBase数据库的架构...
蚂蚁金服自研数据库OceanBase的设计与实践哲学是一篇详细介绍OceanBase数据库架构、设计理念以及实践经验的文章。OceanBase是由蚂蚁金服自主研发的数据库系统,它主要服务于互联网金融领域,尤其是支付宝的核心业务...
- OceanBase是在阿里巴巴和蚂蚁集团内部孵化十年后推向市场的,不是基于开源数据库的再发行产品。 - 其核心特性包括高扩展性(使用普通PC服务器横向扩展)、高性能(峰值6,100万次/秒,单表最大3,200亿行)、高...
《金融数据库OceanBase解决方案》 金融数据库OceanBase的诞生源于对高效、稳定、安全的数据库需求,尤其是在金融领域的特殊挑战。传统的集中式架构通常依赖于商业数据库,虽然它们提供了优秀的性能,但高昂的价格和...
如果读者有任何疑问或希望了解OceanBase的最新开源动态,可以通过提供的地址、邮箱以及社交媒体渠道与OceanBase团队取得联系。 ### 监控系统和数据展示计算规则 文档还包含了附录部分,涉及监控系统采集引擎的计算...
然而,随着互联网的快速发展和大数据时代的到来,传统的商业数据库如Oracle、SQL Server和开源数据库如MySQL面临着扩展性、成本及处理大数据能力的挑战。NoSQL数据库应运而生,例如Hbase和Cassandra,它们采用分布式...
《OceanBase 0.4.2 客户端用户指南》是针对OceanBase数据库系统的一份详细技术文档,旨在帮助用户理解和使用OceanBase 0.4.2版本的客户端工具。OceanBase是由支付宝(中国)网络技术有限公司的OceanBase团队开发的一...
OceanBase是由阿里云开发的开源分布式数据库系统,特别适合大规模并发读写场景,具有高可用性和高性能的特点。 在第一章中,教程介绍了OceanBase数据库的基本概念和特性,包括其分布式架构、事务处理机制、数据复制...
1. OceanBase:阿里巴巴的分布式数据库产品,每年双十一大促都要秀一下性能。 2. TiDB:一个开源的分布式关系型数据库,技术社区做得有声有色,在互联网领域有了大量实施案例。 3. GoldenDB:已經随着中信银行的新...
以下是关于OceanBase开源核心及其未来展望的详细解读: 1. **开源趋势**:随着市场的演变,开源数据库逐渐超越商业数据库,成为市场的新宠。OceanBase响应这一趋势,持续投入社区开放和运营,定期发布新版本,并...
《OceanBase 0.4.1 配置指南》是一份详细阐述如何搭建OceanBase数据库系统主备服务器的文档,适用于安装工程师和数据库管理工程师。该文档由支付宝(中国)网络技术有限公司的OceanBase团队于2013年10月30日发布,...
Java_OceanBase Developer Center(简称ODC)是一个专为开发者设计的开源企业级数据库工具,主要针对OceanBase数据库系统提供高效、便捷的开发与协作环境。这个工具集成了多种功能,帮助开发人员进行数据管理、查询...
OceanBase是由阿里巴巴集团研发的一款开源分布式数据库,它以其高可用性、高扩展性和高性能著称。在大规模分布式架构下,OceanBase能够实现数据的实时写入和读取,支持海量数据存储,广泛应用于金融、电商、物流等对...
OceanBase 是一个开源的分布式关系型数据库管理系统,提供了高性能、可扩展性强的数据存储解决方案。以下是 OceanBase 实践练习二的详细知识点总结: 1. OceanBase 部署环境数据清理 在部署 OceanBase 之前,需要...
DataX是一款由阿里巴巴开源的数据同步工具,它可以用于OceanBase数据的导入和导出。操作指南中介绍了部署DataX的步骤,包括安装前的检查、安装JDK补丁包、创建安装用户以及安装DataX软件。接着,详细说明了OceanBase...
OceanBase是一款分布式关系型数据库系统,由支付宝(中国)网络技术有限公司的OceanBase团队自主研发,具备高可用性、高性能和高扩展性特点。版本0.4.2是较早期的版本,文档《OceanBase 0.4.2 参考指南》为该版本的...