阿里云大规模存储专题访谈:OSS、RDS 与 OTS

  • 贾国清

2012 年 11 月 20 日

话题:云计算大数据语言 & 开发阿里云AI

在刚刚结束的阿里云开发者大会上,阿里云向公众展示了其大规模存储技术所取得的进展:开放式存储服务(Open Storage Service,OSS)、关系型数据库服务(Relational Database Service,RDS)和开放结构化数据服务(Open Table Service,OTS),本站编辑在会后采访到了 OSS 负责人伞兴,RDS 技术负责人何云飞以及 OTS 技术负责人仇应俊,以下是采访内容:

InfoQ:首先请各位先做下自我介绍?

何云飞:何云飞,隶属于 RDS 团队,现在主要负责 PM 和 PD,RDS 主要为广大的小企业提供关系型数据库服务,为使用户更方便地搭建其数据库环境而服务。

伞兴:伞兴,在阿里云负责开放存储服务项目,开放存储项目于去年上线,到现已有一年的实践,目前主要为用户提供云存储服务。

仇应俊:仇应俊,主要负责 OTS 技术研发和产品管理的工作,这次 OTS 是第一次同开发者见面。OTS(Open Table Service)全称“开放结构化数据服务”,意在解决两个核心问题:解决传统数据库规模增长的问题;第二,作为服务,如何通过提供简便的 API,降低用户自己去维护系统的成本。 

InfoQ:亚马逊 S3 频频出问题,不知道您怎么看?阿里云是否有相应的预防措施?

伞兴:S3 的问题,其实有部分是人为的,有部分是天灾的,为此我们提供了多地机房备份的服务,用户使用时可以考虑在多地同时提供服务的方式,但是需要额外的成本。 

InfoQ:RDS 现在只提供了 MySQL 和 SQL Server 服务,在选择这种服务结构时,会不会考虑 Oracle 或其他数据库,有哪些考量的因素?

何云飞:MySQL 一方面在 IT 界有广大群众基础,另外就是我们集团内部有很多的积累,由 MySQL 做起更容易让用户接受一些。经调研发现,真正在非 IT 范围,中小企业相比传统商家使用 SQL Server 较多,所以从需求、客户角度出发,后来我们也增加了 SQL Server 的服务。

刚才你提出对 Oracle 的支持,其实我们想做,但是需求目前来看不是太紧急,一个是因为成本费较高,包括维护成本、运营成本。另外,真正的客户群也不是很多。我们计划先利用有限的资源把现有服务做好,再考虑以后的事情。

InfoQ:用 Oracle 和 B2B 的用户是大型企业,其实 RDS 是针对中小企业。

何云飞:对,我们的出发点,包括跟阿里巴巴的精神也是一致的,我们是为广大的中小企业服务,希望让更多人享受大优质服务,而不是去满足一些大型企业的问题,他们往往有专业的团队人员,会更细致化地解决个性化问题,而我们提供的仅仅是一种大众化的服务。

InfoQ:本次阿里云开发者在生态系统最薄弱的环节是哪一块?

仇应俊:我自己的理解还是服务、产品被开发者接受需要一定的时间,与传统方案比带来的好处是什么。比如有些东西可能也是第一次对外讲,之前很多人不知道这个服务能做什么,这次把这些服务跟开发者讲清楚,也是迈出了很好的一步。

InfoQ:OTS 其实是结构和非结构化储存,怎么解释半结构化呢? 

仇应俊:半结构化实际相当于传统数据库,是非常固定的。但是在业务发展过程当中,会经常出现这种变化,甚至有的时候没有办法作出判断。比如用户的属性实际上很多时候是没有办法来提前预知的,有些随着业务发展越来越大,关注的维度也会越来越多,这就是我们强调的半结构化,并不是一个固定的东西,是一个灵活的。

InfoQ:那 OTS 用户更适合于哪些场景?或者适合与哪些企业呢?

仇应俊:依场景来看大概分为以下几种:

第一,比如移动互联网类的服务,当应用承载的用户基数增大,甚至有上亿用户访问时,这时我们第一个想到就是 OTS 可以解决这个问题。

第二,今天也有很多企业使用开源的方案自己建立类似的数据库,这个过程非常痛苦,而且成本很高,因为要维护硬件,处理版本升级,甚至有时要在线处理故障。这个场景 OTS 也可以满足要求,只要把应用的逻辑处理好,服务层面只要交给 OTS 就可以保障服务的可用性了。

InfoQ:现在有一些开发者反应 RDS 对 MySQL 和 SQL Server 两种数据库有一些限制,现在有没有这方法的计划?让用户操控他们 RDS 实例?

何云飞:其实数据库还有一个缺陷,数据库有一个功能需要用到“135”端口,“135”大家都知道这是一个 RPC 服务,了解 Windows 也就是知道 RPC 服务是一个漏洞频出的服务,只要开放给用户这个风险是很高的,特别是在这么大一个环境里面,因为一定要 RCP 服务通讯能力,我们一直没有解决这个问题。

还有就是扩展性的问题。我们现在数据库是优先的,最大的空间只有 5T,这种架构主机空间总是有限的,因为没有大规模的网络存储结构,所以我们也正在开发一个分布式数据库,希望通过这种方式可以平衡地扩展,用户可以进行自定义操作。

这是一个比较有吸引力的东西,在业界特别是没有人敢公开地做这个事情。阿里云也是凭借阿里集团以往的经验,三个团队一起合作开发。这个项目今年 6 月份正式启动,可能在 12 月份发布。这才是我们真正的追求的目标,不管用户多有大的数据都可以放到我们服务来用。

InfoQ:您认为跟亚马逊对比阿里云的优势在哪?

伞兴:目前来看我们 OSS 和 S3 之间有一些权限控制上的差距,我觉得这不是最重要的问题,因为大家更关心是存储的稳定性和可靠性,这些更高级的应用其实我们在 OSS 上有一些比较高级的应用,帮用户解决一些问题。

再说到有些人说我们模仿 S3,说模仿也不完全对,S3 在全球来说是能存储的先驱,定义了一整套 API 的借口,而且做的非常成功。接下来基本上都要 Follow 这种接口,这也是基于客户的角度来考虑问题,现在国内很多用户没有 OSS 的时候使用 S3 的服务,大家知道 S3 在国内的访问是非常不稳定的,OSS 服务提供基本的兼容 API 接口,基本上改下 Host,就可以直接把服务切到 OSS 上,对用户来说也是很好的。

最后,用户在 SDK 还不是非常完善时,可以参照 S3 的文档。所以当业内都使用同一个接口的时候,最大的受益者将会是用户。

云计算大数据语言 & 开发阿里云AI