表格存储和传统关系型数据库(例如MySQL、SQL Server)有什么区别?

表格存储(Tablestore)面向海量结构化数据提供Serverless表存储服务,同时针对物联网场景深度优化提供一站式的IoTstore解决方案。适用于海量账单、IM消息、物联网、车联网、风控、推荐等场景中的结构化数据存储,提供海量数据低成本存储、毫秒级的在线数据查询和检索以及灵活的数据分析能力。与传统关系型数据库(RDBMS,例如MySQL、SQL Server)在数据模型、扩展性、功能支持、运维管理等方面均有较大的区别。

表格存储和传统关系型数据库的主要区别请参见下表。

维度

关系型数据库

表格存储

数据模型

  • 具有严格的Schema,采用二维结构(行和列)组织数据

  • 每一行具有相同的结构

  • Schema-Free,采用三维结构(行、列和时间)组织数据

  • 每一行可以有不同的属性列,可以动态增加或者减少属性列

扩展性

  • 侧重于通过增加单个服务器的硬件资源(例如CPU、内存)进行垂直扩展,在水平扩展上较为困难

  • 通过数据分片和负载均衡技术实现存储的无缝扩展,能够支持更大的数据规模(百TB级别)和并发访问(单表10QPS)

功能支持

  • 支持视图、索引、事务等功能

  • 提供强大的ACID特性(原子性、一致性、隔离性、持久性)

  • 支持二级索引、多元索引、局部事务、数据生命周期、数据多版本等功能

  • 大多数情况下只保证最终一致性,在某些特定条件下可以支持强一致性

运维管理

  • 手动进行软硬件部署和维护,维护工作相对复杂

  • 需要考虑硬件投资、软件许可费用以及长期运维的成本

  • 只需关注业务研发,无需担心软硬件预置、配置、故障、集群扩展、安全等问题

  • 只需开通服务并按照实际占用的资源(存储或计算资源)进行付费即可

调用方式

  • 通过结构化查询语言(SQL)访问数据库

  • 提供API接口供开发者调用,支持Java、Go、Python等多种编程语言接入

  • 提供SQL查询功能,兼容MySQL的查询语法