MySQL用户如何构建实时数仓
依托数据库生态,AnalyticDB for MySQL可以给用户提供分析场景下的标准解决方案,尤其是在大数据和性能要求较高的情况下AnalyticDB for MySQL的价值可以更好的体现。 MySQL用户为什么要单独构建数据仓库 为什么要单独构建数据仓库,而不是直接在MySQL数据库上运行分析查询?这个问题我上面文章提到过,为了回答这个问题,我们先来看下数据仓库与OLTP数据库之间的差别。数据仓库主要是针对批量写入和大量数据的读取操作,而OLTP数据库是针对持续写入操作以及大量的小规模读取操作。通常,数据仓库会因较高的数据吞吐量要求而使用非规范化模型,如星型模型和雪花模型。星型架构包含多个引用大量维度表的大型事实数据表。雪花型架构是星型架构的扩展,包含更加规范化的维度表。而OLTP数据库则使用高度规范化的模型,更适合高事务吞吐量的要求,对于复杂查询的性能很难满足用户要求。 规范化操作是一定要把分析查询拆分到数据仓库中,达到“臃肿”状态时再构建数据仓库是会付出迁移成本。直接在MySQL数据库上运行分析查询的缺点总结为: 很容易影响在线业务,只读实例扩展难,无法做到实时分析; 每月新增数据比较大情况下,需要定期手动做分库操作,从多个库检索数据进行分析,查询性能无法满足需求; 把数据统一抽取到大数据平台,技术门槛高,改造难度大耗时长。 什么是AnalyticDB for MySQL