快速认识OTS
什么是OTS
OTS 是Open Table Service的简称,现在已更名为表格存储Table Store,官网对它的解释为:OTS是构建在【阿里云】飞天分布式系统之上的 NoSQL 数据库服务,提供海量结构化数据的存储和实时访问。OTS 以实例和表的形式组织数据,通过数据分片和负载均衡技术,达到规模的无缝扩展。OTS 向应用程序屏蔽底层硬件平台的故障和错误,能自动从各类错误中快速恢复,提供非常高的服务可用性。OTS 管理的数据全部存储在 SSD 中并具有多个备份,提供了快速的访问性能和极高的数据可靠性。用户在使用 OTS 服务时,只需要按照预留和使用的资源进行付费,无需关心数据库的软硬件升级维护、集群缩容扩容等复杂问题。
上面的介绍我们可以简单的概括为:OTS是一个【NoSQL】的数据库(你可以将它类比为HBase),在使用方面我们可以将OTS类比为一个技术黑箱,【它已经为我们把存储扩容、数据备份、负载均衡等工作做了,使用过程中我们只需透明的使用其提供的高可用和高并发的特性即可。】
OTS和传统数据关系型数据库的区别
估计很多人看了上面的介绍加上对上面提到的HBase不是很了解,现在对于OTS还是有很多疑问。没关系,接下来将它和传统关系型数据库Mysql、SQLServer等做一个比较,或许这下你就能更加清晰的认识OTS了。
OTS的数据模型也是以二维表为中心的,表有行和列的概念,但是与传统数据库不一样,OTS的表是稀疏的,稀疏指的是它的每一行可以有不同的列,可以动态增加或者减少属性列,建表时不需要为表的属性列定义严格的schema。相对于传统数据库的丰富功能(视图、索引、事务、丰富的SQL语句支持),OTS提供较为基础的功能,但是具有更好的规模扩展性,【能够较容易的支持更大的数据规模(百TB级别)和并发访问(单表10万QPS)】。【在编程方面,OTS提供统一的HTTP Restful API,不支持传统的SQL语句标准。】
解决两个核心问题:解决传统数据库规模增长的问题;第二,作为服务,如何通过提供简便的API,降低用户自己去维护系统的成本。
OTS是一个服务,并且把各种服务配置好了,我们可以像使用自己提供的服务一样使用。
总结: OTS适用于数据量大、数据增量大、数据访问量大、访问要求高的应用场景,提供大规模数据的存储和读取,而且不用担心扩容问题
缺点:
SDK需要完善,技术文档太少
功能简单和基础,对于数据类型支持较少
不支持传统的SQL语句标准
数据操作限制比较多