HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

阿里日照:做关系型数据库比做 key-value 挑战更大

  • 2013-09-23
  • 本文字数:3129 字

    阅读完需:约 10 分钟

OceanBase 是一个分布式的关系型数据库,是阿里巴巴自主研发的开源项目之一。根据其Github 页面上的介绍,OceanBase 实现了跨行跨表的事务,支持数千亿条记录、数百TB 数据上的SQL 操作,截止到2012 年8 月为止,OceanBase 数据库支持了阿里巴巴集团下多个重要业务的数据存储,支持业务包括收藏夹、直通车报表、天猫评价等,截止2013 年4 月份,OceanBase 线上业务的数据量已经超过一千亿条。

在2013 年4 月支付宝官方博客上的一篇访谈中,阿里正祥介绍了OceanBase 的一些设计思路和技术进展。2013 年7 月的阿里技术嘉年华上,阿里高级技术专家日照带来了一场分享,介绍OceanBase 4.0,即OceanBase SQL 版本的整体架构,质量保证和运维。会议期间,InfoQ 编辑与日照进行了一些沟通,了解一些OceanBase 的应用状态和团队情况。

嘉宾简介:杨传辉,花名日照,阿里高级技术专家,热于分享底层技术并从分享中学习。负责OceanBase 开发,关注云计算和分布式数据库,之前在百度从事大规模分布式存储、计算系统等底层基础设施构建工作。

InfoQ:先介绍一下你个人在数据库、存储系统开发方面的经历吧。在这个过程中,感觉做数据库开发这个工作本身经历了哪些变化?

日照:我之前在百度做了两年半左右的云存储、云计算系统的开发。到阿里以后三年多的时间一直做 OceanBase。以前是做纯粹的分布式系统,现在做的 OceanBase 则是融合了分布式系统和传统的关系数据库这两块东西。

我自己的经历,一直都是比较专的,基本上是一直做一件事情。

InfoQ:从做数据库的角度,做这种 Key-value 和做关系数据库有什么区别?

日照:关系数据库的复杂度比普通的 Key-Value 系统要大一个数量级。从技术的角度看,关系数据库内部的 SQL 执行、事务、多版本并发控制、数据一致性都非常复杂。另外一点,那就是大家对你的看法。只要你说要做关系数据库,用户就会将你做的系统和 Oracle、MySQL 这样的通用数据库做对比,要求支持各种业务场景、易于运维,等等。相反,如果做 Key-Value 系统的话,只需要在某种业务场景下有优势就可以了。

InfoQ:听你这么说,重头做一个关系数据库会比较吃亏,还不如在 MySQL 的基础上进行改进?

日照:MySQL 发展了这么多年,有很多值得借鉴的地方,同时也面临一些问题。关系数据库设计之初假设都是基于传统的机械磁盘,而现在 SSD 这样的新硬件发展很快,大有取代机械磁盘之势。另外,虽然 MySQL 在单机层面做了大量的工作,但是在主备同步和可扩展性上存在很大的问题。基于 MySQL 做改进的好处是可以很快应用到生产上,阿里也有这样的团队。OceanBase 则是希望从根本上解决这些问题,技术挑战要比直接改进 MySQL 大一个数量级,不过从阿里数据库的规模上看,这样的投入是值得的。

InfoQ:OceanBase 0.4 版本主要的改动在哪些方面?这些方面的开发优先级是如何确立的?

日照:OceanBase 0.4 出来之前只支持 API 接口,0.4 版本最大的一个改动就是支持 SQL。支持 SQL 以后,底层的实现机制也做了很大的改变,例如支持查询计划执行、行锁、多版本并发控制,等等,另外,二级索引功能也在开发中。另外的改进就是性能优化,0.4 之前我们的主要精力在开发功能,没有精力优化,0.4 专门成立了一个性能优化小组,整体性能上提升了一个数量级。对于查询简单且数据量较大的业务场景,OceanBase 的性能是比 MySQL 要好的。

OceanBase 开发的需求有两个来源:一个是开发版本计划的功能,另外一个是业务方提出的需求。OceanBase 大体上按照预定的计划开发新功能,不过也会根据业务方的需求调整优先级。

InfoQ:OceanBase 现在主要的客户有哪些?

日照:OceanBase 有 40 几个业务方,这些业务方来自淘宝、天猫、支付宝等各个集团子公司。

我们能够感受到的有淘宝收藏夹,底层存储全部采用 OceanBase;也有天猫评价,双十一大促的时候用得很多;另外,所有广告主的报表信息都存放在 OceanBase。支付宝也有一些业务,比如余额包的部分数据存放在 OceanBase。

InfoQ:所以,现在在量大的业务场景,数据库运维团队都会推荐 OceanBase 吗?

日照:这是我所希望的,但也不完全是这样子,对于不需要事务的场景,运维团队也会考虑 HBase。现在很多是一个混合的方案,因为没有任何一个系统有百分之百的优势。我觉得再过一两年左右,在量大的场景里,OceanBase 会有更大的优势。OceanBase 的一个特点就是,我们进步非常快,比如从 0.3 到 0.4 也就一年多点时间,这段时间 SQL 功能从无到有,性能也提升了一个数量级,而其他系统基本上变化不大。

InfoQ:OceanBase 团队有多少人?分别是什么角色?

日照:我们这个团队基本上三年时间都只做了 OceanBase 这么一个事情。最开始的时候没有那么多人,大概十几个开发。到现在为止,整个 OceanBase 团队是三十几个开发,五个左右测试,五个左右专职运维。另外,运维这里也有一些变化。以前是由 OceanBase 专职运维负责所有线上业务接入和运维,但是随着业务线越来越多,整个数据库的运维团队都会来运维 OceanBase,和现在集团 MySQL 运维的做法类似。

InfoQ:从开发 OceanBase 的角度来说,参与到这个项目的开发者需要具备哪些方面的技能,或者背景?目前,你们是如何招揽到这种技能和背景的人才的?

日照:我们团队有一套成熟的人才培养机制,主要靠培养素质好的应届生。优秀的应届生放到我们这儿,有理论学习,也有实践工作,分布式数据库开发能力提升得很快。社招我们也做,不过做得比较少,国内做类似工作的人太少了。

InfoQ:素质比较好的人怎么来评估呢?

日照:我们公司有一套统一的招聘标准,我们自己还会在统一的招聘标准上加一些东西。对于应届生,我们会看他的实践能力,他学习成绩,包括是不是足够的踏实,是不是足够的聪明,动手能力,写代码的能力,有没有花时间专门静下心来做某一类型的项目。

InfoQ:没有对特定的语言的要求?

日照:没有什么特定语言的要求。我们更关注的是基础知识和潜质,语言只是可以很快学到的一项技能。

InfoQ:进来之后大家喜欢做这个吗?

日照:应届生里面有很多愿意做底层的,因为他们觉得很有技术含量,呵呵。我们整个项目组三年以来一直都在忙新版本、支持业务,从来没停过。新同学加入后不断会有新的技术挑战,所以,大家做得还是蛮开心的。

InfoQ:中文项目的发展有很多局限性。OceanBase 是否有国际化的打算?

日照:中文项目发展的局限性是有的。OceanBase 如果一直用中文,是会有一些人来去看代码,但是很少人会去给这个代码做贡献。同时,OceanBase 现在还是一个快速发展的时期,这个时候外部的 committer 要参与进来是比较难的,因为变化是比较大的。再过一两年的时间,相对稳定一些,到那个时候,我们还是希望吸收国际上一些英语国家的 committer。之前 OceanBase 开源的消息在 Twitter 里面放出来的时候,已经引起了很多的关注,有一些 HBase 的 committer 都知道我们这个项目。

InfoQ:OceanBase 目前主要针对阿里集团内部的业务提供服务。未来是否计划通过某种途径提供对第三方企业、个人的服务支持,比如像 TAE 那样?

日照:现在已经有一些银行在跟我们进行一些非正式的合作。比如说交行,他会有一些非核心的分析型业务,放到 OceanBase 里面来搞,我们也安排了一个专职同学花大约 20% 的时间回答他们的问题。

另外,阿里云也有一些 RDS 客户的业务更适合 OceanBase,他希望能够接入 OceanBase。对他来说,OceanBase 和 MySQL 用起来是一样的,都是兼容的。虽然 OceanBase 的功能不如 MySQL 多,但是他并没有用到那些复杂的功能,他就管哪个东西更便宜。

目前这个阶段,我们还没有把阿里集团内部的业务完全支持好,因此,这个时候我们 90% 以上的精力都放在集团内部,只花少量精力了解外部需求。等到 OceanBase 足够成熟了,我们会提供外部服务,大概在一两年之后。

2013-09-23 00:046062

评论

发布
暂无评论
发现更多内容

知识图谱技术在金融领域的分析和应用

悦数图数据库

图数据库 知识图谱

软通咨询助力某新能源头部企业迈向高效数智化时代,塑造行业新典范

软通咨询

数据智能 数字化咨询

Topaz Video AI for mac(视频增强和修复工具) 4.0.8完整激活版

mac

苹果mac Windows软件 Topaz Video AI

做好数据管理体系 发挥企业数据乘数效应

用友BIP

数据

语音数据集:推动智能语音技术发展的关键驱动力

来自四九城儿

如何在敏捷项目中实现高效测试?

敏捷开发

项目管理 敏捷开发 测试左移 测试自动化 bug管理

创新驱动数字经济发展,融云获评「2023 数字经济隐形独角兽」

融云 RongCloud

数字化转型 数字经济 办公 融云 政企

ubuntu20.4服务器安装mysql社区版并开放3306端口

百度搜索:蓝易云

MySQL 云计算 Linux ubuntu 运维

IPQ6000 IPQ6010 VS IPQ5018|A Comprehensive Comparison: Evaluating Wallys' WiFi 6 SoCs Offering

wallyslilly

IPQ6010 IPQ6000 ipq5018

Amazon Q | 融会贯通的 AI 开发助手来了!

亚马逊云科技 (Amazon Web Services)

人工智能 re:Invent 生成式人工智能 Amazon Q Amazon CodeCatalyst

WAVE SUMMIT+ 2023 今日开场!奉上完整预告和参会指南,今天见!

飞桨PaddlePaddle

人工智能 深度学习 开发者 WAVE SUMMIT

赛博威新一代TPM营销费用管理指南——费用管理类型篇

赛博威科技

数字化转型 营销费用管理 赛博威 销售费用管理 费用管理类型

场外白名单达到1200U?Solana 生态铭文跨链桥 Sobit 是何神圣?

大瞿科技

在Mac上,按Command-X键无法剪切怎么办?

mac大玩家j

Mac软件教程 好用的软件分享

MAMP PRO for Mac v6.8.1永久激活版 专业的Web开发环境

iMac小白

软件测试/测试开发丨SQL多表查询 学习笔记

测试人

sql 软件测试 测试开发

将 Python 和 Rust 融合在一起,为 pyQuil® 4.0 带来和谐

Swift社区

rust Python Monad

ETLCloud X 明道云实现无缝数据连接

RestCloud

数据同步 ETL 明道云

【Linux】硬件性能测试工具安装。

百度搜索:蓝易云

云计算 Linux 运维 服务器 云服务器

RWKV: 轻松实现大模型本地私有化部署

百度开发者中心

人工智能 深度学习 大模型

Solana 生态铭文跨链桥 Sobit 是何神圣?其场外白名单已达到1200U

西柚子

ABBYY FineReader PDF 15 for Mac(ocr文字识别软件)v15.2.13中文激活版

iMac小白

Radio Silence for mac(简单好用的防火墙)v3.2激活版

iMac小白

火山引擎边缘云获“2023边缘计算年度领航企业”及“最佳CDN创新企业”等多项荣誉

火山引擎边缘云

CDN 边缘计算 边缘云 CDN技术

TI 专访 Merlin Protocol:构建在比特币网络上的资产适配协议

TerpLayer

mac电脑强大电脑风扇转速管理:Macs Fan Control Pro激活码中文版

胖墩儿不胖y

Mac软件 电脑风扇软件 风扇转速软件

软件开发

Geek_8da502

BERT实现多标签文本分类:强大模型的应用与展望

百度开发者中心

自然语言处理 大模型 LLM

阿里日照:做关系型数据库比做key-value挑战更大_阿里巴巴_sai_InfoQ精选文章