什么是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语句标准。
OTS的特点
对OTS做了初步的了解后,那么问题来了,它有什么特性,在存储产品如此丰富的现状下我们有什么理由去选用它呢?
它的主要特性我们可以大致概括为以下几个方面:
- 扩展性
- 动态调整预留读写吞吐量
应用在创建表的时候,需要根据业务访问的情况来配置预留读写吞吐量。OTS 根据表
的预留读写吞吐量进行资源的调度和预留,从而保证应用获得可预期的性能。在使用
过程中,应用还可以根据应用的情况动态修改预留读写吞吐量。
-
无限容量
OTS 表的数据量没有上限,随着表数据量的不断增大,OTS 会进行数据分区的调整 从而为该表配置更多的存储。
- 数据可靠性 <