
概述: 分析系统在OLTP之后拥有悠久的历史. 它分析交易系统生成的当前和历史数据,生成各种报告,支持多角度数据分析,并挖掘数据中隐藏的规则,可以为将来做出某些预测,从而可以帮助管理层做出各种决策.
#您是否正在寻找协作办公软件?点击此处给您推荐#

由于OLAP系统处理的数据量通常很大,因此单台计算机的处理能力通常不能满足要求,因此需要并行处理. 目前,MPP(并行处理)被认为是并行处理结构化数据的最有效结构.
MPP由多个分区组成. 分区可以分布在一个或多个服务器上,并且单个分区不能跨越多个服务器. 当容量增加且处理容量不足时,可以垂直或水平扩展. 纵向扩展是指增加现有服务器的容量,例如增加CPU,内存,存储空间等;横向扩展是指添加新服务器并添加新分区. 此时,可能会重新分配数据.

每个分区仅管理部分数据. 处理数据时,可以并行处理每个分区,并且可以通过网络在分区之间交换数据. 该应用程序面对一个,不需要调整SQL语句,并且引擎将在运行时根据数据的位置自动进行调度.


分区之间的数据分配必须具有一定的基础. 此基础称为表的分发键. 它可以由一个或多个字段组成. 当数据进入MPP时olap系统,它将根据每条记录中分配键的特定值来计算应该去的分区.
1. 分发密钥的选择是MPP表设计的关键. 选择原则: 首先考虑表之间的关系. 例如,客户编号通常用于客户信息表CUSTOMER和客户交易流表TRANSLOG之间的关联. 如果两个表都使用客户编号作为分发键,则同一客户的数据将存储在同一分区中,并且在关联期间无需与其他分区交换数据;其次,考虑数据的均匀分布. 仅当分发键组合的值范围相对较宽时,才能保证数据分发的均匀性,例如,性别字段不适合作为分发键. 最慢的分区决定了语句的最终性能,这就是为什么要求数据分布均匀的原因.

2. 数据搜索效率. 当应用程序正在处理数据时,不必每次都处理全部数据,这涉及从全部数据中定位部分数据的问题. 如果无法快速找到它,则不可避免的是每次都要扫描全部数据,这会带来不必要的IO浪费和性能问题. 在正常情况下,可以通过表的范围分区设计来避免此问题. 例如,一个表包含三年的历史数据,而应用程序通常访问某个月的数据. 如果我们按月组织数据,则当应用程序仅访问特定月份的数据时,与不进行范围分区的表相比,表扫描性能可以得到提高. 大约36次.
3. 避免使用过于复杂的SQL语句. 尽管MPP通常支持复杂的语句,但是复杂性使SQL优化引擎更容易出错. 一旦发生错误,就很难进行故障排除,并且应用程序的可读性可能会增加维护成本. 为了避免复杂的SQL,可以通过临时表技术将复杂的任务分为多个步骤.
通过: 华南IBM大数据支持团队
有关大数据和分析的更多行业信息olap系统,解决方案,案例,教程等,请单击以查看>>>
请咨询“客户服务”以获取详细信息!
客户服务: 023-66090381
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-166328-1.html
没遇到黑天鹅时
既然这样挑衅
即通过革命搞垮那些不合作的中东国家