当大数据不再只停留在研究报告中,与我们的生活切实相关的时候,当你手中的每一个APP都要与云端同步的时候,我们发现,数据的爆发性增长已经在不断催生数据库技术的变革。没错,动辄几个TB甚至PB级别的数据如何快速处理,选择传统数据库的分库分表还是自己搭建NoSQL平台?这是当下很多用户面临的抉择。
其实还有第三种更好的选择,那就是利用公有云上的NoSQL服务平台,如果你是云计算领域的资深人士,那么对AWS的DynamoDB一定耳熟能详,DynamoDB是key-value模式的NoSQL数据库服务,无论从吞吐能力,扩展能力和响应速度上都是海量数据用户的福音,但作为国内用户,却不得不为巨大的跨境访问延迟和在中国本土无售后的情况而望而却步。目前,阿里云的OTS开放结构化数据服务,是国内云平台唯一款能够提供此类服务的产品。
阿里云OTS是构建在飞天分布式系统之上的 NoSQL数据库服务,提供海量结构化数据的存储和实时访问。海量是什么概念?单表百TB级别;实时是什么概念?毫秒级别单行读写延迟,十万级别QPS(每秒可达到的吞吐率)。
比传统关系型数据库易扩展
传统关系型数据库(RDMS)在过去的几十年中被广泛应用,但因为并发读写性能低、容量有限、扩展性不佳等缺陷并不适合高增长性的互联网应用。OTS以数据表的形式组织数据,但它的表是“稀疏的”,每一行可以有不同的列,可以动态增加或者减少属性列,保证数据的强一致性,保证访问延迟在数据大量激增情况下的水平扩展。正因为如此,OTS具有更好的规模扩展性,支持百TB级别的数据规模和单表10万QPS并发访问。在编程方面,OTS提供统一的HTTP Restful API,多语言SDK,多种查询方式,但不支持传统的SQL语句标准。
比开源软件更易维护
自建MangoDB或自建HBase数据库通常是NoSQL用户的选择,虽然两者同样具有一定的扩展性,MangoDB的查询和索引方式也更加灵活,但使用者将面临着众多需要付出巨大人力和时间成本解决的难题,如单机可靠性差,集群配置优化和功能优化耗时长久,开源软件版本维护难,数据访问不均匀,整体运维成本不可控等。OTS是基于公有云的在线式服务平台,已经完成了服务化的进程并作出了承诺,客户可以享受一站式的服务体验,如按需付费,价格低廉,保证毫秒级访问延迟和PB级别单表容量。
比自建数据库更安全
在阿里云飞天分布式系统的保障下,OTS提供九九归一(99.9999999%)的可靠性保障, 数据在OTS的底层存储时,确保每一份数据都有多份拷贝,当一份拷贝出现问题时,会启动修复流程,快速补全,让用户数据万无一失,这是任何一个自建存储或者数据库需要付出巨大代价来达到的能力级别;同时,在数据访问时,基于每用户唯一的AccessKey机制进行签名和验证,实现权限控制和隔离,保障用户数据的私密性;在用户主动删除数据或用户服务期满后需要销毁数据的,阿里云将自动清除对应物理服务器上磁盘和内存数据,使得数据无法恢复,保障用户数据的可销毁性。
业界领先的实时访问性能
由于OTS采用分布式并行处理架构,在单表百TB容量的前提下,仍然保持稳定的响应时间,单表的吞吐能力高度可扩展,当然,这需要用户在建表时,选择合理的分片键,保证足够的离散程度,让热点尽可能均匀分布,借助并发提高性能。在底层存储上,OTS采用了SSD硬盘,使读写达到毫秒级别的响应。
按需付费的高性价比模式
按需付费非常适合业务弹性比较大的互联网、移动互联网、物联网及游戏等场景,OTS提供了存储容量、预留读吞吐量、预留写吞吐量和外网流出流量,对于最后一个维度,如果流量在同一个阿里云region中,则会不产生费用。对于国内大部分的开发者,预留吞吐量(按照预留值收费)的模式还比较新,预留的方式主要是保证用户可以享受到可预期的低延迟访问。
【阿里云OTS表结构及特点】
阿里云OTS从08年飞天开放平台自研起步,到2012年1月面向用户开放测试,再到14年10月31日杭州节点正式商业化上线,六年磨一剑,每日,数以亿计的用户数据跃动在OTS的平台上。如今,北京、深圳两大OTS节点蓄势待发,届时,不会再有跨region的烦恼,三个节点的ECS、ODPS可以就近访问OTS服务,不必再为跨区访问延迟和流量担心。同时,三节点并行,将为在不久之后提供给广大数据使用者的数据灾备及恢复能力打下坚实的基础。
一个篱笆三个桩,阿里云的数据花园更加繁荣;一个好汉三个帮,你的云中数据需要OTS保驾护航。