本章节主要为您介绍表格存储表设计最佳实践的背景。

为什么选择表格存储

如上图所示,表格存储提供了非常丰富、通用的功能,并具有以下优势。
  • 零运维,即开即用、按量付费

    表格存储是阿里云上唯一一个Serverless的数据库,用户不需要预定任何资源来搭建服务,整个平台完全为您所用,只需要为使用量付费。使用针对大数据的开源数据库依赖较多,需要很多资源来部署,运维成本也比较高。表格存储提供了完全零门槛的方式来满足您的大数据需求。

  • 存储水平扩展,查询能力强

    表格存储天生为大数据设计,可满足PB级数据的存储和查询,同时提供全局二级索引、多元索引等功能扩充查询能力,满足多种工作负载和查询需求。

  • 单产品解决多种需求

    很多业务为了满足不同查询需求,组合使用MySQL、HBase、Elasticsearch等多款产品,并在这些产品之间进行数据同步。了解到表格存储具有多种能力后,越来越多的用户开始迁移到表格存储,通过一个产品满足多种需求,并且彻底解决了数据同步的负担。

  • 模型、案例丰富,专家在线支持

    表格存储针对特定领域提供了特定的模型,简化业务的设计和开发,例如消息和eed流领域提供Timeline模型,时序数据提供Timestream模型,科学大数据的多维格点数据提供Grid模型等。针对典型的场景,提供出场景案例,并提供代码示例。建立专门的用户支持大群和针对特定客户的支持小群,研发人员轮班来进行技术支持和答疑工作,帮助用户进行方案设计。

  • 平台化功能演进

    表格存储不断的向着多模型和平台化的方向演进,提供更多的功能,与各种生态对接,提供数据通道及领域化的解决方案。使用表格存储后,即可不断享受最新的技术红利。

为什么需要表设计最佳实践

表设计最佳实践可以帮助您在快速上手表格存储的同时,将表格存储的强大性能发挥到最优状态。那么什么时候特别需要根据最佳实践进行表设计呢?
  • 数据规模大,应对海量数据仍需要在数据库功能或表设计上做一些取舍。
    • 分布式数据库需要分区,而分区方式一般跟用户表设计或者用户数据相关。数据规模小时,数据倾斜影响不大,而数据规模大到一定程度,用户就需要考虑这一问题。
    • 数据库产品的功能丰富度和数据规模存在着矛盾。即针对PB级数据设计的架构和功能,在查询丰富度上就会有取舍,难以满足非常灵活的查询。另一方面,选择了非常灵活的查询方式,可能也意味着数据整体规模存在着瓶颈,或者是成本较高。因此用户还是不可避免的面临数据库选型或者是功能选型。
  • 数据库的整体性能跟用户的使用方式、业务代码的质量等有很强的关系。有时,业务层感受到的数据库性能取决于业务层的DBA或者架构师对于数据库的了解和自身的代码水平。加深对数据库的了解,可以更好的应用这一产品。

业务接入流程

假设您有一块业务使用表格存储来作为数据库,通常会经历几个过程:了解表格存储(场景案例和文档)、业务需求分析、直接对照方案实现/方案设计及编码实现(表结构和查询)、接入业务数据测试上线。

方案实现过程分两种情况:
  • 业务场景可以直接套用表格存储提供某种模型,例如Timeline、Timestream、Grid。这时候不需要进行特别的表结构设计,直接套用模型即可,开发时也使用特定模型的SDK接口。
  • 业务场景无法套用模型,此时需要根据业务需求和场景进行表结构和查询方案设计。这个过程因场景而异,有些场景比较简单,不用特别设计,例如简单的Key-value模式进行存取。有些场景会比较复杂,例如数据规模很大,且查询方式多样,这时候需要一些特别的设计。