麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
1761
2023-04-09
多维数据库有哪些
多维数据库可以简单地理解为:将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。
多维数据库是指将数据存放在一个门维数组中,而不是像关系数据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率。
1. 多维数据库简介
多维数据库(Multi Dimesional Database,MDD)可以简单地理解为:将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率。MDD的信息是以数组形式存放的,所以它可以在不影响索引的情况下更新数据。因此MDD非常适合于读写应用。
1.1. 关系数据库存在的问题
利用SQL进行关系数据库查询的局限性:
2) 数据处理的开销往往因关系型数据库要访问复杂数据而变得很大。
关系型数据库管理系统本身局限性:
1) 数据模型上的限制
2) 性能上的限制
用关系数据库的两维表数据模型,可以处理在大多数事务处理应用中的典型多维数据,但其结果往往是建立和使用大量的数据表格,仍很难建立起能模拟现实世界的数据模型。并且在数据需要作报表输出时,又要反过来将已分散设置的大量的两维数据表,再利用索引等技术进行表的连接后,才能找到全部所需的数据,而这又势必影响到应用系统的响应速度。
3) 扩展伸缩性上的限制
关系数据库技术在有效支持应用和数据复杂性上的能力是受限制的。关系数据库原先依据的规范化设计方法,对于复杂事务处理数据库系统的设计和性能优化来说,已经无能为力。此外,高昂的开发和维护费用也让企业难以承受。
4) 关系数据库的检索策略,如复合索引和并发锁定技术,在使用上会造成复杂性和局限性。
1.2. 多维数据库的相关定义
维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。
维的层次(Level):人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。
维的成员(Member):维的一个取值,是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)。
钻取:是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill-down则相反,它从汇总数据深入到细节数据进行观察或增加新维。
切片和切块:是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。
旋转:是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。
1.3. 多维数据库的特点
后关系型数据库的主要特征是将多维处理和面向对象技术结合到关系数据库上。这种数据库使用强大而灵活的对象技术,将经过处理的多维数据模型的速度和可调整性结合起来。由于它独有的可兼容性,对于开发高性能的交换处理应用程序来说,后关系型数据库非常理想。在后关系型数据库管理系统中,采用了更现代化的多维模型,作为数据库引擎。并且,这种以稀疏数组 为基础的独特的多维数据库架构,是从已成为国际标准的数据库语言基础上继承和发展的,是已积累了实践经验的先进而可靠的技术。
多维数据模型能使数据建模更加简单,因为开发人员能够方便地用它来描述出复杂的现实世界结构,而不必忽略现实世界的问题,或把问题强行表现成技术上能够处理的形态,而且多维数据模型使执行复杂处理的时间大大缩短。例如开发一个服装连锁店信息管理系统时,如果用关系数据库,就需要建立许多表,一张表用来说明每种款式所具有的颜色和尺寸,另一张表用来建立服装和供应商之间的映射,并表示它是否已被卖出,此外还需要建一些表来表示价格变化、各店的库存等等。每成交一笔生意,所有这些表都需要修改,很快这些关系数据库就会变得笨重而缓慢。而在多维数据模型中,可以将这些数据看做是存在于一个“立方体”中,这个“立方体”有足够多的“面”,以便对数据进行完全分类,如款式、颜色、价格、库存等等都能够立刻互相映射,获取数据极其迅速,而且由于清除了冗余的数据,多维数据库非常简单,不仅好用,而且更经济。
2. 现有多维数据库相关分类
现有的多维数据库主要分为“纯”多维数据库和“准”多维数据库,前者以cache这种不依附与关系数据库的数据库种类为主,后者主要是依附于关系数据库,在其之上提取数据生成多维数据表便于进行统计和分析。
现有的准多维数据库大多是基于关系数据库为基础,在关系数据库提供数据的基础上建立多维数据,便于查询和分析。主要包括以下几个:基于***的ORACLE EXPRESS SERVER,基于***的Microsoft *** Analysis Services,基于***的OLAP Server以及Hyperion Essbase 数据库。
2.1. Cache数据库
Caché 数据库是一种面向对象的多维数据库,同时支持SQL的访问方式。在数据库的划分上,超越关系数据库被称为第三代,后关系型数据库。该数据库有以下特点:
1、速度快。Cache数据库在同等条件下查询相同数据比***等普通数据库要快。Cache是基于普通关系型数据库如:***, SQL server, Sybase等的基础之上并有所改进而产生的。Caché在性能上可以和内存数据库比美,在一台笔记本上可以实现每秒数万条的插入速度。Caché独特的动态的位图索引技术 可以实现数据库在更新的同时做查询和分析,而不影响使用性能。
2、使用简单。Cache数据库支持标准SQL语句,因此不太熟悉M语言 的用户依然可以轻易对数据库中的数据进行操作。
3、接口容易。Cache数据库支持ODBC标准接口,因此在与其他系统进行数据交换时非常容易。同时Cache亦可以将数据输出成文本文件格式以供其它系统访问调用。
4、真正的3层结构。Cache数据库能够真正意义上实现3层结构,实现真正的分布式服务。升级扩容方便。正因为由上述分布式3层结构,所以当医院需要增加客户端PC或医院进行扩大规模时,不需要重新购买或更新主服务器,只需要适当增加二级服务器的数量即可,二级服务器相对来说要比主服务器要便宜许多,因此,医院可节约资金减少重复投资。
5、对象型编辑。Cache数据库是真正的对象型数据库,开发时用户可直接用数据库定义自己想要的对象,然后再在其它开发工具中调用该对象的方法和属性即可完成开发工作,非常方便。支持远程映射和镜像。Cache数据库支持远程的映射和镜像,比如在不同城市之间,或在同一城市的不同区域之间,Cache可以进行镜像(Mapping),使不同区域的Cache数据库同步联系起来,虽然在不同区域,但大家使用起来就像共用一个数据库。
7、支持WEB开发。Cache 数据库提供自带的Web开发工具,使用维护非常方便,符合当今软件业发展的趋势。
8、价格便宜。Cache数据库的价格比***要便宜许多。
这种数据库已经超越了传统关系数据库的局限,在Internet或Client/Server环境下任务关键和突发大负载的情况下,Caché具有独特超群的高响应速率特性、高度灵活的可伸缩性能、高强度联机处理能力。
在InterSystems 全球业务里,有50%是医疗行业,30%在金融业、另外20%在船务、饭店管理、会议系统等方面。所有这些行业都有一个共同点,都需一个庞大的数据库,数据需要很快更新。国外的成功案例已经有许多,如:美国十大医院、三大医疗卫生实验机构、全球最大的在线证券交易公司、美林投资集团、美国国防部等均采用了Caché数据库;国内目前也有一些应用,但主要限于医疗行业,如:北京安贞医院、福州军区总医院和哈尔滨医科大学第一附属医院等。在美国和欧洲的HIS系统中,CACHE数据库所占的比例是最大的,被医疗界公认为首选数据库。
2.2. Microsoft *** Analysis Services
*** 2008 Analysis Services 新引进了一套创新的 Best Practice Design Alerts(最佳实践设计警报),可在开发流程的早期阶段对潜在的设计问题自动发出通知,这会减少由于设计错误导致的时间浪费,并有利于实施更快的开发流程。*** 2008 Analysis Services 利用新的、改进的多维数据集、维度和属性设计器,进一步提高了开发人员的工作效率。Analysis Services 可以进行缩放,以支持许多规模达到兆兆字节并且服务于数千名用户的数据库。*** 2008 Analysis Services 提供了与数据库引擎所用的类似的 Dynamic Management Views(动态管理视图)。这些特性提供了实时的企业系统信息,用于监视、分析和进行性能调整。*** 2008 Analysis Services 之后,新的备份存储子系统会使备份时间随着数据库大小的增加仅按线性增长。
2.3. *** Express Server
1. 处理能力的提高:Express Server 6.3展示了OLAP 服务器最快的计算能力和查询性能。Express Server 6.3引入了很多新特性,可以极大提高Express Server对大数据量和大的并发用户数的支持。
2. 更快的汇总计算:Express Server 6.3引入了全新的汇总计算管理机制。新的汇总机制允许定制汇总方法,并且可以显著降低装载和汇总计算的时间。
3. 分析功能的提高:新引入的统计分析函数将使Express Server 6.3的分析能力显著提高。
6. *** Express 对Web技术的支持:Express Server 的一个重要发展策略是支持Internet计算,这也是Express产品领先于同类产品的一个重要方面。DBA可通过*** Enterprise Manager的Java窗口或Browser对NT或UNIX上的多维数据库进行管理。Express Server 从6.0版本开始增加了Express Web Agent选项,使基于Express Server的OLAP应用拥有了Web公布能力
7. 支持各种关系型数据库系统的集成。
2.4. *** OLAP Server
严格说来,IBM自己并没有提供完整的数据仓库解决方案,该公司采取的是合作伙伴战略。例如,它的前端数据展现工具可以是Business Objects的BO、Lotus的Approach、Cognos的Impromptu或IBM的Query Management Facility;多维分析工具支持Arbor Software的Essbase和IBM(与Arbor联合开发)的*** OLAP服务器;统计分析工具采用SAS系统。
IBM *** OLAP Server把Hyperion Essbase的OLAP引擎和***的关系数据库集成在一起。,与Essbase API完全兼容,数据用星型模型存放在关系数据库***中。
2.5. Hyperion Essbase
Hyperion Essbase是一个联机分析处理(OLAP)服务器,使用一个多维模型从一系列数据源中提取数据,计算后对它们加以综合,然后提供对结果的快速访问。是一个多维数据库服务器,可以创建“块存储”或“聚合存储”数据库,前者用于需要进行读/写访问的小型、高密度的数据集,后者用于具有很多维度和只读访问的稀疏、销售分析类型的应用程序。
Essbase是BI软件hyperion的多维数据库,目前已更新至11版本。 它不同于通常意义上的关系数据库,Essbase把数据按“块”划分,每个数据块会定义不同的维度。其中Essbase有7个默认维度,并可以自行定义13个用户维度。 7个默认维度为科目、期间、年份、情景、货币、版本、实体。
Essbase的特点:
1、 高性能:快速地查询响应
2、 计算/分析能力
聚合
无限制的跨维计算能力
场景假设分析
分摊
趋势分析/回归分析
财务智能/货币转换
数学函数
预测
Hyperion Essbase现状:以服务器为中心的分布式体系结构–有超过100个的应用程序;有300多个用Essbase作为平台的开发商;具有几百个计算公式,支持多种计算;用户可以自己构件复杂的查询;快速的响应时间,支持多用户同时读写;有30多个前端工具可供选择;支持多种财务标准;能与ERP或其他数据源集成;全球用户超过1500家
3. 简要比较
综合以上5种多维数据库的比较如下:
作为医疗界公认为首选数据库,Cache数据库的优点较多,如具有较快的查询速度,使用简单和灵活性等特点,适合在开发阶段直接使用,由于采用直接插入数据的形式,所以对已有未用Cache的老产品不太适合,数据的迁移性不太好。
作为微软在多维数据上应用的典型产品,Analysis Services具有较好的查询和分析性能,并且由于Sql Server的广泛应用,使得Analysis Services有较多的应用。Sql Server 2008对Analysis Services做出了一些改进,进一步提高了查询效率和分析能力。在数据源方面适用于多种数据源,但是该系统的应用环境只是windows,不能用于Linux系统上。
***支持关系数据存储和多维数据存储,利用*** Express Server实现多维数据的存储,在Express Server 6.3公布之前,*** Express Server 的技术更新的太慢,占用的内存很大,影响了其应用。Express Server 6.3提高了处理能力和分析能力,但是提高的程度有待于验证。
*** OLAP Server是一个ROLAP和MOLAP混合的HOLAP服务器,在Essbase完成数据装载后,数据存放在系统指定的*** UDB数据库中。对Essbase的API完全兼容。主要应用在***的数据库之上。
Hyperion Essbase是多维数据库服务器,支持从广泛的数据源提取数据,但与 *** OLAP 将数据存储在关系数据库引擎外不同,它通常将数据存储在自己的专用服务器上,从而具有较快的查询响应以及计算分析能力。
考虑现在应用的数据库为***数据库,尽管cache数据库和*** OLAP Server性能较高,但短时间内使用这两种产品的可能性不大,现有数据库数据不能快速顺利的移植或者应用到Cache数据库,*** OLAP Server会依托于Hyperion Essbase数据库,与现用的***数据库同时使用会有些累赘。所以暂时选择以下三种策略。
策略1:*** + *** Express Server
策略2:*** + Hyperion Essbase
策略3:*** + *** Analysis Service
综合比较上述三种策略如下:
表1:三种策略比较
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。