博客
关于我
SQL Server 列存储索引 第四篇:实时运营数据分析
阅读量:755 次
发布时间:2019-03-23

本文共 1368 字,大约阅读时间需要 4 分钟。

SQL Server 列存储系列:实时运营数据分析(Real-time Operational Analytics)

传统的BI系统

在传统的BI系统中,运营数据库(OLTP)与数据仓库(DW)通常是分开设计的。这是因为在OLTP中处理的事务数据需要实时响应,而分析查询则经常需要大量的数据聚合和复杂计算。为了确保分析结果的准确性,通常采用ETL(Extract、Transform、Load)工具定期将数据从事务数据库同步到分析数据库。

数据同步的挑战

尽管ETL工具能够定期将数据从OLTP转移到DW,但数据同步不可避免地存在时延。这种时间差异意味着分析数据库中的数据可能与事务数据库存在一定的误差(GAP),从而导致分析结果的可靠性下降。此外,双存储(事务数据和分析数据)增加了存储与计算资源的占用,并要求更多的技术资源进行维护。

what is Real-time Operational Analytics?

传统BI系统之所以存在时间延迟的根本原因是分析查询与业务查询通常运行在同一数据源上。为了实现实时运营数据分析,可以在行存储表上创建可更新的非聚集列存储索引。这种设计通过在数据产生副本的同时,分别用于业务处理和分析工作,有效避免了两个工作负载之间的冲突。

ColumnStore索引的优势

在行存储表中创建非聚集列存储索引,可以为列数据提供高性能的访问方式。具体来说,这种索引会在底层存储一个完整的数据副本,用于高效执行分析查询。数据的更新自动同步到索引结构,确保分析查询始终使用最新的数据。在大多数情况下,非聚集列存储索引能够有效减少分析查询对事务处理的影响。

实施 Columns Store 索引

在实际应用中,创建非聚集列存储索引非常简单。只需在目标表中定义所需的列即可完成。以下是示例代码:

CREATE NONCLUSTERED COLUMNSTORE INDEX index_nameON table_name (column_list);

这种设计不仅支持实时运营数据分析,还显著提升了事务查询的性能。通过集成到OLTP环境中,非聚集列存储索引能够在不影响事务处理的前提下,提供实时的数据分析能力。

实时运营数据分析的挑战

尽管非聚集列存储索引能够为实时运营数据分析提供支持,但仍然面临一些挑战。第一,标准化的OLTP架构通常对表间连接和数据关系进行了严格规范,这对跨表分析查询的性能产生了一定的影响。第二,尽管可以通过非聚集列存储索引实现实时运营分析,但需要权衡分析性能与事务处理复杂度之间的关系。

提高实时运营数据分析性能的方法

延迟压缩技术是提升实时运营数据分析性能的有效手段之一。通过将新数据存储在delta存储区后,一定时间延迟后再对数据进行压缩存储,可以显著减少压缩存储对事务处理的影响。这种方法不仅提高了数据压缩的效率,还有助于优化事务查询的性能。

结论

实时运营数据分析通过在同一数据源上同时支持业务查询和分析查询,有效解决了传统BI系统中数据延迟和多存储带来的问题。虽然非聚集列存储索引的支持可能不如专用数据仓库那样高效,但其灵活性和与OLTP系统的成熟集成优势使其成为实时运营分析的理想选择。通过结合延迟压缩等优化技术,可以有效提升实时运营数据分析的整体性能,降低对事务系统的影响。

转载地址:http://sryzk.baihongyu.com/

你可能感兴趣的文章
mysql备份与恢复
查看>>
mysql备份工具xtrabackup
查看>>
mysql备份恢复出错_尝试备份/恢复mysql数据库时出错
查看>>
mysql复制内容到一张新表
查看>>
mysql复制表结构和数据
查看>>
mysql复杂查询,优质题目
查看>>
MySQL外键约束
查看>>
MySQL多表关联on和where速度对比实测谁更快
查看>>
MySQL多表左右连接查询
查看>>
mysql大批量删除(修改)The total number of locks exceeds the lock table size 错误的解决办法
查看>>
mysql如何做到存在就更新不存就插入_MySQL 索引及优化实战(二)
查看>>
mysql如何删除数据表,被关联的数据表如何删除呢
查看>>
MySQL如何实现ACID ?
查看>>
mysql如何记录数据库响应时间
查看>>
MySQL子查询
查看>>
Mysql字段、索引操作
查看>>
mysql字段的细节(查询自定义的字段[意义-行列转置];UNION ALL;case-when)
查看>>
mysql字段类型不一致导致的索引失效
查看>>
mysql字段类型介绍
查看>>
mysql字段解析逗号分割_MySQL逗号分割字段的行列转换技巧
查看>>