阿里云的NoSQL存储服务OTS的应用分析

所属分类: 网站运营 / 建站经验 阅读数: 102
收藏 0 赞 0 分享

1. 概要
 
OTS是构建在阿里云飞天分布式系统上的NoSQL存储服务,提供海量结构化数据的存储和实时访问。OTS以实例和表来组织数据,通过自动的数据分区和负载均衡技术,对应用提供规模(数据和访问)的无缝扩展。应用通过调用OTS API/SDK或者操作管理控制台来使用OTS服务。OTS服务具有以下几个主要的特点:
 
规模可扩展:OTS具备可扩展的服务能力,随着应用表的数据量和访问量逐渐增大,OTS会自动进行数据分区的调整(partition split/merge)来满足应用业务规模的增长,并且保持稳定的性能。OTS提供预留读写吞吐率的机制来让应用配置表上的资源,应用通过主动配置和调整表上的预留读写吞吐率来应对业务访问量的变化,从而获得更有保障的服务。
 
高可靠可用:OTS的数据存储在底层的分布式文件系统上,数据有3份拷贝,分别位于不同的容错区(机架或者数据中心),当硬件出现故障导致数据备份的损坏或丢失时,分布式文件系统会自动发现、复制并恢复数据备份,保障数据的安全可靠。OTS系统会自动检测硬件故障(如机器宕机或者网络中断)并进行数据分区的实时迁移,保障服务的高可用性。
 
性能可预期:OTS服务底层采用全SSD存储数据,单行数据读写请求的延时保持在几个毫秒级别。应用通过配置预留读写吞吐率来预留资源,保障请求并发量和延时的稳定性。
 
灵活的数据模型:OTS表中的数据无固定格式要求,每行的列数和列名可以不相同,列值支持5种数据类型:Integer、Boolean、Double、String、Binary。每一行的列可以动态增加或者删除,没有额外修改schema的代价。
 
读写强一致性:相对于最终一致性而言,OTS提供强一致性的读写操作。OTS保证数据写入操作一旦执行完成,返回成功的结果,应用就能立即读到最新的数据。强一致性为应用提供了更好的使用体验。
 
访问安全:OTS 对应用的每一次请求都进行身份认证和鉴权,以防止数据被非法用户或者未授权的用户访问,确保数据的安全性。通过和阿里云RAM服务的结合,OTS为应用提供帐号之间的授权访问。
 
全托管服务:OTS对于应用而言是一个全托管的服务,应用程序无需关心表的数据分区的管理工作,集群硬件维护,软件升级,配置更新和调优,集群扩容等繁琐的运维任务,节省了应用开发和维护的成本,让用户能够专心在应用业务层的开发上。
 
按量付费:OTS 根据应用预留和实际使用的资源进行计费,不需要在业务发展初期就进行过多的投入,对于众多的创业开发人员来说起步门槛低。OTS的收费项包括:1)预留CU费用;2)数据存储费用;3)下行流量的费用。
 
2. 系统架构
2016131112520944.png (554×255)

OTS服务的系统架构分为四层,最上层是应用程序,应用通过调用各种语言的SDK来和OTS服务进行交互;第二层是用户服务层,这一层完成的功能是对应用发送的请求进行协议处理、身份权限的校验、资源计量和请求到后端存储引擎节点的路由;第三层是存储引擎层,负责表分区的扩展和管理、负载均衡、存储数据和索引的管理、故障的处理以及高可用容灾等方面的;最下面一层是飞天操作系统,负责管理底层的硬件资源,向上提供统一的分布式存储(盘古)和计算(伏曦)。
 
其中下面三层运行在阿里云数据中心的物理集群上,对应用程序透明,最上面一层是用户的程序,通常运行在阿里云的ECS服务器以获得更好的访问OTS的性能,当然也可以运行在用户自己的物理服务器或者移动设备上(我们目前正在开发移动端的OTS SDK,包括Android和iOS)。
 
3. 功能介绍
 
OTS产品提供以下RESTful API:
 
1)CreateTable(创建表);
2)DeleteTable(删除表);
3)ListTable(列举表);
4)DescribeTable(获取表信息);
5)UpdateTable(更新表设置);
6)GetRow(读取一行);
7)PutRow(插入一行);
8)UpdateRow(更新一行中的数据);
9)DeleteRow(删除一行);
10)BatchGetRow(批量读取行数据);
11)BatchWriteRow(批量写入行数据);
12)GetRange(读取范围内的数据);
 
OTS提供了Java/Python/C#/PHP四种语言的SDK,方便应用快速开发基于OTS的应用。更多关于API/SDK的内容请参考:https://docs.aliyun.com/?spm=5176.383723.9.6.BASvKj#/pub/ots
 
4. 场景案例;
 
OTS服务目前被广泛的使用在阿里巴巴集团的各个业务中,积累了几个PB的数据,最大的一个应用每天会写入百TB级别的数据,比较典型的几个业务场景如下:
 
阿里云邮箱的后台存储:邮件的标题、发件人、收件人、时间、状态等等(不包括邮件正文和附件),使用OTS表对用户的邮件按照各种规则排序,分页读取邮件,数据量近百TB,。
 
来往/钉钉的后台存储:存储来往/钉钉应用的用户通讯录,实时消息推送,电话会议实时通知等等。
 
 
阿里云监控的后台存储:存储海量的原始监控metric数据以及汇总数据。
 
支付宝的微贷风控存储:存储淘宝买卖家的信用风控数据,用于每一笔花呗交易的风险评估
 
阿里健康药品监管码存储:存储中国药品的监管码,用于查询药品的基本信息和追踪药品的流通情况,目前的存储量已达近千亿条记录,日均访问百亿次。
 
 
此外,OTS还作为大规模分布式系统的基础组件被应用在阿里集团的多个产品架构中,例如大规模数据分析服务ODPS的meta存储和管理,大规模日志服务SLS的底层存储等。

PS:关于飞天平台
阿里云计算有限公司(简称“阿里云”)成立于2009年9月10日,致力于打造云计算的基础服务平台,注重为中小企业提供大规模、低成本、高可靠的云计算应用及服务。飞天开放平台(简称“飞天平台”或者“飞天”)是由阿里云自主研发完成的公共云计算平台,该平台所提供的服务于2011年7月28日在http://www.aliyun.com正式上线,推出了第一个云服务——弹性计算服务。

飞天平台内核包含的模块可以分为以下几部分。
分布式系统底层服务:提供分布式环境下所需要的协调服务、远程过程调用、安全管理和资源管理的服务。这些底层服务为上层的分布式文件系统、任务调度等模块提供支持。
分布式文件系统:提供一个海量的、可靠的、可扩展的数据存储服务,将集群中各个节点的存储能力聚集起来,并能够自动屏蔽软硬件故障,为用户提供不间断的数据访问服务;支持增量扩容和数据的自动平衡,提供类似于POSIX的用户空间文件访问API,支持随机读写和追加写的操作。
任务调度:为集群系统中的任务提供调度服务,同时支持强调响应速度的在线服务(Online Service)和强调处理数据吞吐量的离线任务(Batch Processing Job);自动检测系统中故障和热点,通过错误重试、针对长尾作业并发备份作业等方式,保证作业稳定可靠地完成。
集群监控和部署:对集群的状态和上层应用服务的运行状态和性能指标进行监控,对异常事件产生警报和记录;为运维人员提供整个飞天平台以及上层应用的部署和配置管理,支持在线集群扩容、缩容和应用服务的在线升级。

更多精彩内容其他人还在看

网站分析工具 通过流量特点来分析网站

使用一些网站分析工具的时候会发现一般报表会被分成三大模块:用户访问、内容浏览和流量来源。
收藏 0 赞 0 分享

提高博客阅读体验的六个方法说明

博客的阅读体验有很多方面,如果您要建立一个受欢迎的博客,那么,你可能要善待你的读者,提高阅读体验,这样会提高他们再次访问你博客的机会,让他们成为你的博客或网站的常客之一,当然你的网站如果可以注册的话,还可以成为你的注册用户之一,下面我就提供较为实用的
收藏 0 赞 0 分享

让网站上的Adsense广告匹配的更加精准的方法

大家都知道做AdSense 广告的话,网站内容与广告内容匹配程度是很关键的,而Google广告内容又是以网页本身的关键词所觉得,那么如何让网页中出现匹配度最高的Adsense 广告呢?
收藏 0 赞 0 分享

Favicon 在线生成器工具小结

favicon 就是出现在浏览器地址栏左侧的那个小图标。所谓favicon,即Favorites Icon的缩写,中文名称是网站头像,顾名思义,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站。
收藏 0 赞 0 分享

网站备案注销方法 关于网站备案问题的解答

关于网站备案问题的解答 如何注销网站备案
收藏 0 赞 0 分享

一家大型行业网站的编辑的职场真实经历分享

想了很久,终于把干了8个月的网络编辑工作给辞掉了。如今静下心来,把8个月来的思绪给缕一下,也给向往这个职业的朋友们些参考。
收藏 0 赞 0 分享

转化率最高的10个网站的经验分享

之前分享过如何提升网站转化率之:谷歌9条和AIDAS模型,这篇文章直接提到了国外网站转化率最高的10个网站他们是如何有效提升转化率的
收藏 0 赞 0 分享

地方门户型网站运营与发展经验的几点总结

地方门户网站获得发展,还需要和当地的实际情况结合起来,不断的尝试和多方的合作,这样就可以在当地将网站打开知名度,同时使门户网站的营运获得很大的发展。
收藏 0 赞 0 分享

地方类网站的建立(从零起步)

只是个人见解和参考前辈的经验,希望对你有所帮助,难免有错误观点和见解,请您及时告知与我,共同成长,共同进步。最后分享一句话:“认准了,就去做;不跟风,不动摇”。
收藏 0 赞 0 分享

博客网站的运营和推广四步基本经验

网站运营经验:博客网站的运营和推广四步走.
收藏 0 赞 0 分享
查看更多