# 数据仓库性能优化

大数据量的数据加工或分析查询中常常会遇到性能问题,导致数据加工执行耗时长、报表查询响应慢,而数据仓库的性能优化往往是一件极其复杂的工作,不仅需要具备专业的数据库优化技能,还要熟悉掌握整个数据仓库的架构、模型建设等情况。传统的DBA人员往往只能掌握一种或两种数据库的优化技术,而且对企业全局的数据仓库架构和系统业务知之甚少,随着BI产品的应用,更是难以应对灵活多变的即席分析。

SuccBI在产品层面将数据仓库中性能优化的三个层次:即数据仓库架构、数据模型、数据库底层,融为一体,综合治理和管控,同时利用产品平台的天然优势,在优化上智能的融合了业务的理解,提升了优化的针对性和有效性。

SuccBI性能优化功能均支持通过可视化的操作配置过程来完成,无需掌握数据库优化相关命令,同时也屏蔽了不同类型数据库实现上的差异,提供给用户完全统一的使用体验。

SuccBI支持多种性能优化方式,如聚集子集索引分区预连接表分析Elasticsearch检索

# 聚集

保存最细粒度的原始表称为基础表,而聚集表是对原始表中某个或某几个维度进行汇总而产生的汇总表。汇总的强度越大(颗粒越粗),聚集表中的数据量就越小,查询的速度就越快。在所有提高数据仓库性能的方法中,建立聚集表是最有效的一种方法。
SuccBI以数据仓库维度建模理论为根基,融合了聚集模型在大量大数据项目中实践应用的经验,在产品层提供了简单易用且智能化的聚集优化功能。

更多聚集管理介绍>>

# 子集

数据子集是基于数据模型表和数据加工表进行过滤、排序、选择字段等操作后的子集,它是一个更接近具体业务的数据集合,在数据仓库中它有另外一个名称,即切片。在OLAP应用中,数据子集能将大表查询转换为小表查询,这样用户在较频繁的查询某个特定条件下的数据时能有效提升查询效率。
SuccBI支持的数据子集在一定意义上扩展了数据仓库中传统的切片。

更多子集管理介绍>>

# 索引

索引是一种数据结构,能够帮助用户快速的检索数据库表中的数据。索引在数据库层面的优化中占据着举足轻重的地位。一般对于查询概率比较高,经常作为where条件的字段设置索引。常见的索引类型有唯一索引、组合索引、反向键索引、位图索引、函数索引等。
SuccBI支持对索引进行集中管理和监控。

更多索引管理介绍>>

# 分区

分区技术是数据库层面的一种常见的优化手段,其采用的是“分而治之”的思想,它根据分区键将一个表物理的分解为多个更小的、更易管理的部分,但在逻辑上仍然是一张表。分区非常适用于数据仓库的大表优化,如根据年月分区键将数据表划分成若干个物理分区,在BI的报表分析中按年月来查询时,数据库能自动定位到目标物理分区,提高访问数据的效率。常见的分区方式有范围分区、散列分区、列表分区及自增长分区等。
SuccBI支持模型的分区优化。

更多分区管理介绍>>

# 预连接

预连接是通过对事实表和维度表的联合查询而生成的一类汇总表,在预连接表中保存有维度表中的描述信息和事实表中的事实值。通过预连接,可以避免用户查询时数据库产生表连接操作,所以预连接表的查询效率要高很多。
SuccBI在加工模型中支持预连接表。

更多预连接管理介绍>>

# 表分析

数据库在执行SQL时会先根据表的统计信息来确定表的访问方式生成执行计划。但表的统计信息并非实时更新,过旧的统计信息可能会直接导致SQL解析时生成错误且低效的执行计划,从而严重影响系统的运行效率。

统计信息的更新需要在数据库层面设置定时的采集任务,该采集任务一般是针对全库或者某个用户,难以实现表级别的采集任务调度,同时传统的定时采集任务往往会与数据仓库的ETL时间窗口发生冲突,导致既占用了数据库服务器资源,又可能采集到错误的统计信息。

SuccBI基于产品平台的优势,能更好更有效的管理调度表分析。

更多表分析管理介绍>>

# Elasticsearch检索

Elasticsearch检索是指SuccBI在产品层集成了Elasticsearch搜索引擎,你可以通过创建Elasticsearch模型将Elasticsearch索引当做普通表一样轻松的管理起来。

借助Elasticsearch,SuccBI可以提供给你应对海量数据全文检索的能力。

是否有帮助?
0条评论
评论