前端图表如果处理大量数据该怎么办

前端图表如果处理大量数据该怎么办,第1张

浅谈一下Cognos处理大数据的思路,仅针对1021以下的版本,对于1021当中引入的hadloop等分布式数据仓库等不做介绍。我们主要从一个一般中等项目当中,用怎样的思路来优化我们的查询。

我们主要从3个思路来思考大数据的处理

一、数据库层次

现在主流的Cognos项目,主要的开发模式还是基于rolap的dmr报表建模。因此,数据库的优化就显得由为重要。主要通过以下几个方面优化我们的数据库:

(1)维度id,维度层次id等关键减缩字段建立索引建立、维护。

(2)根据数据量的大小,按时间等进行分区优化。

(3)高速缓冲表MQT的使用

(4)表空间、缓冲池设置等

(5)数据库性能优化

二、Cognos Server优化

Cognos优化包括对配置文件的优化,集群的搭建,服务和日志的开启等基于cognos 软件安装,配置的优化,主要包括以下几个方面:

21 apache 配置优化

Timeout(超时)/MaxKeepAliveRequests(最大的请求数)/KeepAliveTimeout(请求超时)的优化配置

22Cognos自带tomcat配置调优

(1)可修改TOMCAT配置文件CRN_ROOT\tomcat\conf\serverxml。其参数集中在行:

可以对maxProcessors(最大进程数)/AcceptCount(最大连接数) ConnectionTimeout(连接超时)进行修改

(2)文件路径:CRN_ROOT\tomcat\conf\webxml

可以对session-timeout进行修改

23Cognos sever配置文件优化

231 reportservicexml优化

文件路径:CRN_ROOT\ webapps\p2pd\WEB-INF\services\ reportservicexml

注:修改文件后,重启服务后配置生效。

包括以下参数 max_process(交互报表处理进程数,和cpu有关) inger_process(交互报表初始化进程数,和cpu优关)

max_non_affine_connections_per_process(交互报表所占线程数) idle_process_check_interval_ms(空闲检测时间)

queue_time_limit_ms(报表服务队列时间限制) async_wait_timeout_ms(Dispatcher请求等待同步时间)

232 batchreportservicexml

文件路径:CRN_ROOT\ webapps\p2pd\WEB-INF\services\ batchreportservicexml

注:修改文件后,重启服务后配置生效。

包括以下参数 max_process(服务批量报表处理所占进程数) linger_process(服务批量报表处理初始化进程数)

max_non_affine_connections_per_process(服务批量报表处理所占线程数) idle_process_check_interval_ms(空闲进程检测时间间隔)

idle_process_max_idle_ticks(空闲进程检测标记) queue_time_limit_ms(批量报表处理排队时间限制) async_wait_timeout_ms(Dispatcher请求等待同步时间)

233 CQEConfigxml

主要是与数据库参数设置,文件路径:CRN_ROOT\configuration\ CQEConfigxmlsample

注:将CQEConfigxmlsample文件名修改为CQEConfigxml后,重启服务后配置生效。

可以修改以下参数:Timeout(应用数据库连接超时设置) PoolSize(应用数据库连接池最大连接数设置) queryReuse(查询缓冲设置)

2013-07-08 0

分享

答案对人有帮助,有参考价值1

曾力 - Cognos讲师、Cognos独立顾问、数据仓库架构师 2013-07-08 回答

234 ppds_cfgxml

主要进行缓存和日志参数设置,文件路径:\cognos\c8\configuration\ ppds_cfgxml

注:重启服务后配置生效。

可以修改以下参数:ReadCacheSize(可减少用户访问时服务器的磁盘IO。提高访问速度。) pcQueryLogFile(建议生产环境关闭该日志的跟踪,一般默认也是关闭状态)

24 Cognos content store优化

241优化内容库连接服务

内容库最好外配为db2 oracle等数据库,不要用自带的derby因为项目中的日志信息会非常多,严重影响内容库的效率。

Cognos Administration,在系统下选择选择对应的服务,选择ContentManagerService的属性,设置相应的连接参数信息。

242日志优化

适当开启各个cognos服务的日志级别,越高级的级别对应更详细,更明确的日志,但也会影响整个系统的效率。

这是一把双刃剑,需要适当调整。日志级别设置得越高,就越降低系统性能。通常情况下,您可以将级别设置为

“最小”或“基本”来收集错误,或设置为“请求”来收集错误和警告。

25提高访问数据库速度

Cognos和数据库间参数在cer\bin\cogdmini文件中,(根据版本不同是安装目录的数字,根据连接的数据库不同,是对应数据库名称的关键字)

以oracle数据库为例,参数在cogdmorini文件中,打开这个文件查找字符串Fetch Number of Rows=去掉这行前面的分号,将10改成2000;

这样这行就成了Fetch Number of Rows=2000,表示是每次从数据库取2000条数据。其他数据库基本上都有类似的配置。用以提高从数据库中提取数据的速度。

26加大缓存

cer\bin\Cerini(根据版本不同是安装目录的数字):

SortMemory=5120

(这里 SortMemory 单位是 2kbytes,5120代表 2k x 5120 = 10M)(技巧:一般 SortMemory 取空闲内存的十分之一到八分之一大小)

27修改cognos configuration中的参数来优化

在cognos configuration中有很多参数可以优化来提高整体软件的运行效率,比如增加内存、增加查询缓存

28分布式部署

分布式部署可以大大提升Cognos服务器的负载能力,同时容错保护功能可以使服务器更为稳定的运行,很好的支持大用户量的并发使用。

2013-07-08 0

答案对人有帮助,有参考价值1

曾力 - Cognos讲师、Cognos独立顾问、数据仓库架构师 2013-07-08 回答

3报表设计优化

Cognos报表作为一个工具,在非cube模式下,最终我们执行报表查询的时候,我们的报表发送到数据库进行查询的本质还是sql,所以,在我们制作一张报表的时候,我们要尽可能的利用fm,rs当中的功能,优化报表最终执行生成的SQL实现整个报表的优化。而CUBE模式下,我们更多要考虑配置、存放和数据库大小所造成的影响,下面我会细细说来。

2013-07-08 0

答案对人有帮助,有参考价值1

曾力 - Cognos讲师、Cognos独立顾问、数据仓库架构师 2013-07-08 回答

31 FM建模优化

311手写SQL定制查询主题

右键点击查询主题的菜单项Edit Definition…可以进入SQL语句编写框,调整查询主题的SQL语句。默认情况下,这里的SQL语句为Cognos SQL类型。如果需要编写应用数据库可以直接运行的本地SQL需要将这里的SQL类型进行设置。点击右上方的Options按钮,选择SQL Settings标签页,选择SQL Type为Native。这个时候,我们手写SQL就非常注重这个SQL的优化,尽量避免SELECT ,用EXISTS替代IN,多使用DECODE来进行判断,条件语句注意点等常用SQL优化策略,编写对应的SQL

312尽量使用特定数据的数据库函数

在菜单项Actions中选择Specify Package Function List…指定报表定制中可以使用的数据库函数列表。将除应用数据库意外的其他数据库类型从Selected function sets中选到Available function sets中,尽量使用特定数据库的自带函数可以提高查询效率。

313表关联设定

在建立表关联尽量避免使用外关联关系(包括左外关联、右外关联、全外关联)。外关联的使用会使数据库的查询压力骤增,从而影响前端报表的生成。在星型结构、雪花型结构的数据仓库模型中,尽量按照一对一、一对多的关联关系设定维表与实事表之间的关联,Cognos Server会依照这里的关联关系自动优化提交给数据库的SQL语句。如果关联关系中出现了环状连接关系,可以通过别名表或是快捷键的方式解决环状连接问题

314Edit Governors查询性能设置

在菜单项Project中选择Edit Governors,可以设置查询的查询性能

Report table limits 该属性设置报表中运行SQL所涉及的TABLE数量

Data retrieval limits 该属性设置报表中运行SQL返回结果的数量

Query execution time limits 该属性设置报表中运行SQL的执行时间

Large text items limit 该属性设置报表中运行SQL返回大文字块的字符数量限制

2013-07-08 0

答案对人有帮助,有参考价值1

曾力 - Cognos讲师、Cognos独立顾问、数据仓库架构师 2013-07-08 回答

32 RS报表调优

321报表函数的使用

在报表函数的使用上,尽可能使用应用数据库能够解析的本地数据库函数,函数列表中的通用函数,在处理时会将函数放在报表服务器进行运算,从而增大了报表服务器的性能开销。

322 观察查询的SQL

我们选择查询页面,GENERATE SQL/MDX观察这个报表生成的SQL并进行不断优化,

33332 RS报表调优

321报表函数的使用

在报表函数的使用上,尽可能使用应用数据库能够解析的本地数据库函数,函数列表中的通用函数,在处理时会将函数放在报表服务器进行运算,从而增大了报表服务器的性能开销。

322 观察查询的SQL

我们选择查询页面,GENERATE SQL/MDX观察这个报表生成的SQL并进行不断优化,

333查询字段、查询表顺序调整

根据数据库的优化策略,可能需要将查询字段的顺序进行调整,可以在Data Items窗口中进行设置。查询SQL语句中,From关键字后面的表顺序是按照select关键字后出现的字段顺序进行设置的。在为表顺序进行设置时,属性为Identifier或Attribute的字段比属性为Fact的字段在为表排序时的优先级要高,即,先以Identifier、Attribute字段的出现顺序为表进行排序,如果没有上述两类字段,才以Fact字段的出现顺序为表进行排序。

334聚合前后设置过滤条件

将过滤条件的Application属性设置为After aggregation或Before aggregation可以调整过滤条件在聚合前或是聚合后生效。After aggregation生成过滤条件的SQL语句使用的是关键字having,而Before aggregation生成过滤条件的SQL语句使用的是关键字where。

335取消报表自动分组提高明细报表查询速度

如果报表要展现明细数据,不想使用任何汇总,我们可以到此报表对应的查询中将自动分组属性定义为否。修改地方:对象的属性Auto Group & Summarize可以设置当前SQL语句的查询中是否加入distinct、sum、group by这样的关键字。默认情况下,该属性设置为Yes,可以根据查询情况关掉此开关项,减少SQL语句的复杂度。

336自动排序设置

在Query的Auto-sort属性中可以为查询设置是否自动排序。如果选择是,则会在生成的SQL语句中自动加入Order By关键字,排序字段将自动根据数据项的属性进行设置(如果查询字段的usage属性为Attribute、Identifier则排序,如果为Fact则不排序);如果选择否、则不排序;如果选择最小,则根据数据项的排序属性进行排序设置。默认值为最小。

337报表Processing设置

在Query的Processing属性中可以为查询设置SQL的处理设置。Cognos Report Studio会将报表的所有设置首先转换为Cognos SQL提交给报表服务器,服务器在进行必要处理后,会将SQL语句转换为应用数据库本地执行的SQL语句,进行数据库处理。为提高报表的处理速度,要尽可能的将报表的处理运算放在数据库进行,以保证其运行速度。将该属性设置为Database only会将报表页面生成的Cognos SQL不经报表服务器处理全部转换为数据库能够执行的本地数据库SQL,如果将该属性设置为Limited Local,则将报表页面生成的Cognos SQL先进行必要的报表服务器运算,然后再将剩余的部分提交给数据库进行本地SQL的处理。默认值为Framework中为Datasource对象的设置的queryProcessing属性。

338使用With子句

在Query的Use SQL With Clause属性中可以为查询设置是否使用With子句。部分数据库例如Oracle支持With关键字,当查询中嵌套子查询时,可以通过With子句的使用,减轻报表服务器对Cognos SQL的处理,从而提升报表的运行性能。如果将该属性设置为Yes,则允许使用With关键字,查询中生成的Native SQL将出现With子句;如果将该属性设置为No,虽然拒绝使用With关键字。默认值为Framework中Edit Governors下的Use WITH clause when generating SQL属性设置。

339报表服务器本地缓存设置

在Query的Use Local Cache属性中可以为查询设置是否使用本地缓存。如果将该属性设置为Yes,则启用服务器的本地缓存,服务器将为查询结果保存在session中,当用户在浏览器内再次打开同一张报表时,查询结果将取自缓存,从而减轻了数据库的负载压力;如果将该属性设置为No,则禁用服务器的本地缓存,查询结果全部取自数据库的实时数据。默认值为Framework中Edit Governors下的Allow usage of local cache属性设置。

我用的是finereport,比这个方便

Essbase的名字其实是ExtendedSpreadSheetdataBase。(大意是你可以把essabase想像成多张叠起来的excel表格,不仅仅在单张excel上可以进行表格之间的各种运算,在多张excel表格之间也可以做各种累计运算!)这个大概是为什么essbase能够和excel工具深度集成的原因,因为essbase很多设计都是来源于excel等工具对于分析的限制和不足。但是excel不失为essbase的一个非常友好的前端,对于非常习惯使用Excel工具的业务人员,他们可以非常容易地使用和分析essbase里的数据,Oracle里关于Essbase卖点的一个经常使用的场景是:当业务人员把数据放在多种表格的时候,到了最后他都不知道哪张表格的数据是最新的,而如果把所有的数据都放在essbase里的时候,你可以轻易地得到最新的数据并且分析数据和数据之间的关系。和传统的oltp类型的数据库不一样,oltp用实体和关系来描述对象,而多维数据库,则使用度量和维度来描述对象。在做多维设计的时候,其实就是考虑关于度量和维度的设计,比如销售额就是一个典型的度量,而销售地区就是一个典型的维度,但是在essbase里,度量也是一种特殊的维度,叫account维度,这个是和有些OLAP服务器概念上有所区别的,这样的定义方式能够很方便地使用维度的 *** 作方式访问度量,而且应该说在MDX这种标准多维查询语言里,度量和维度的确没有本质的区分。Essbase的一般设计对于MOLAP数据库一个通常的观念是MOLAP不能存储很大的数据量,当essbase以BSO(块存储)来存储多维数据的时候(传统方式),则称之为EssbaseAnalyticmodule,这种传统方式对于维度数据非常多,数据量非常庞大的时候的处理性能一般,这个也是造成许多人认为MOLAP多维数据库不适合分析非常大量的数据的方式的缘由,但是BSO存储方式能够更好地支持大量回写的应用,如what-if分析,并且能够提供更好的分析功能。当数据量很大或者多于10个维度的时候,essbase建议使用ASO聚合存储方式来压缩存储的数据(据说性能在这种方式下能够快几十倍,而存储量能减少几十倍),使用这种存储方式就称之为EnterpriseAnalyticModule,从而提供了修正这种MOLAP大数据量限制的很好的方式。这种存储方式用于分析维度数量比较多,同时并非每个维度的数据都很稠密的时候是性能会非常好,可以处理大量的数据,这两种不同的存储,对于上层应用透明,在同一个应用里可以混合使用。多维数据库的设计(维度和度量)在essbase里称之为outline,以otl的后缀存储,一个典型的多维数据库设计过程是包括:先需要通过adminconsole创建一个outline。(其实essbase提供了非常丰富的api接口,也可以使用api来创建和修改outline)在outline里定义维度和层次和累计方式,然后就是通过adminconsole编辑数据加载规则来把外部数据按照设计好的outline加载到essbase数据库里。加载规则基本上有三种方式:一是通过文本文件加载。二是通过Open sql的方式从ODBC数据源加载。最后一种是使用ETL工具进行加载。然后使用计算脚本计算生成立方体里的其他所需要的数据,就可以通过excel或者BI工具来访问和分析多维数据库里的数据了。

是日本本田公司1986年在北美成立的高端品牌,之后才出来的日产英菲尼迪和丰田雷克萨斯。在北美现在讴歌有TSX、TL、RL、RDX、MDX。

在国内暂时引进了TL、RL、MDX,国内现在讴歌品牌卖的最好的车型是MDX,性价比高,有很强的运动性能。在国内主要是知名度比较低,而且全世界只有北美,中国和日本有讴歌的品牌,其他地方是没有的。

车型历史

作为一个诞生于北美市场的豪华SUV车型,第一代MDX于2000年正式问世。MDX的诸多代表性元素,如三排座椅布局、后排影音娱乐系统,在第一代车型上面就已具备。

2006年第二代MDX问世。值得一提的是,讴歌的SH-AWD四驱系统开始装载在此代车型之上。2007年,MDX正式登陆国内市场,并很快成为讴歌在华的主销车型。

2013年全新MDX在北美上市。这台“神盾局”用车一个月的时间销量就突破5500台,创该车型自2005年7月以来的单月销量纪录,随后月销更一度达到6499台。

百度百科-讴歌MDX

1、首先,了解一下灯光控制器(以下简称控制台),它主要用于控制dmx信号灯。

2、**按钮区域是配光区域,根据我们灯具的不同通道值选择,蓝色推杆式是每盏灯的通道功能配置,如图案、光束、棱镜、雾化、颜色等。

3、滚筒的功能与上图蓝色推杆相同,但使用更方便。

4、该区域对于照明场景程序的编制具有重要意义。每个**按钮可以存储一个程序。

5、这是存放台阶的地方,可以安排舞台效果灯的特效节目。此时,程序将存储在此区域。

6、控制台具有一对一输出的dmx信号接口,当灯不够时,控制台也可以串联。

随着国内ERP软件的不断普及,大量的公司已经积累了很多的数据。如何从数据中提取、挖掘对业务发展有价值的信息,为企业业务提供决策依据,推动精益化化的企业管理。商业分析师通常会使用各种数据分析工具,例如平常大家经常用的数据分析工具Excel、Tableau和PowerBI等。OLAP引擎技术就经常被用于对接这类数据分析工具,向这些数据分析工具提供数据支撑。

传统的OLAP引擎有很多,Oracle、SAP、IBM和Microsoft均有自己研发的OLAP引擎技术,据小黎子了解的OLAP引擎技术,Microsoft SQL Server Analysis Services(SSAS)也是世界上应用最广泛的OLAP引擎之一,众多各位耳熟能详的大型企业均是SSAS的深度用户。SSAS的成功与它的一些功能特性密不可分:

与Excel深度集成

Excel作为全世界最广泛使用的商业分析工具,SSAS能与Excel深度集成。用户可以使用Excel对接SSAS多维数据集,灵活快捷的对数据进行切片、筛选、上卷和下钻等 *** 作,深入分析数据,直到他找到所需的商业洞察。

支持MDX语言

SSAS可以使用MDX(多维表达式)支持高级的商业智能需求,例如常用的YTD、QTD和MTD等计算指标均能轻松支持。并且MDX相比SQL能够更简单且更广泛的支持各种商业智能需求。

能与主流的BI集成

例如PowerBI、Tableau等,都可以与SSAS轻松集成,SSAS接收前端BI发送的查询需求,在自身引擎中计算,将聚合后的值返回前端BI,以提升前端BI的查询体验。

虽然微软的SSAS具备许多优秀的功能特性,使其成为许多商业智能方案的理想选择,但身处大数据时代,它面临着越来越多的挑战问题。并且随着数据量爆炸式的增长,这些挑战显得更加重要。

数据量及维度数量的限制

通常情况下SSAS使用的是MOLAP模式,MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。这种方式在较小数据量时,性能优势较大。但当面对大型数据集时,由此产生的维度爆炸问题,将使MOLAP架构难以维持。因此面对海量数据时该方案会存在瓶颈。

扩展受限制

若现有的SSAS处理能力无法满足需求,需要增强其处理能力时,用户就必须为运行SSAS的服务器增加更多硬件设施来满足需求。同时如果需要存储更多的数据,则需要扩展本地存储。

进入数字化转型时代,数据爆炸式增长,SSAS的弊端日渐明显,越来越多的企业开始寻找替代SSAS的技术。在Hadoop 技术日臻完善的今天,一个理想的BI/OLAP分析架构应该保留所有SSAS分析功能,并且能够利用 Hadoop技术的横向可扩展性解决 SSAS 面临的所有痛点,这样的OLAP on Hadoop分析架构应该能够做到:

提供了横向扩展能力

Hadoop分布式文件系统(HDFS)的一大特点就是可以通过向集群增加服务器来扩展存储和处理能力,一个理想的OLAP on Hadoop方案,也继承了这一强大的特性。这种方案极大的提升了系统的扩展性,降低了扩展系统能力的难度。

打破了数据量和维度数量的上限 如上文提及,由于Hadoop具备横向扩展的能力,数据存储已不在成为瓶颈,只要集群足够,数据量已不再存在上限。由于SSAS需要按照多维数据集中的所有维度进行聚合,所以不可避免的存在维度爆炸的问题,而理想的OLAP技术应允许用户自定义聚合维度,有效的避免维度爆炸的问题,打破了维度数量的上限。

更高的性价比 OLAP on Hadoop的方案,构建集群并不需要高配置的一体机,硬件成本大大降低。这种特性在收费基于集群和时间的云平台上尤为明显,用户可在需要大量资源时扩大集群,在空闲时缩小集群,释放多余资源,做到最大程度的资源和费用的节约。

本文让我们清晰的看到SSAS具备的很多优点,让其成为了广泛流行的OLAP引擎,但是它也存在着扩展能力有限,承载数据量有限等各种问题。虽然微软SSAS无法突破数据量及维度数量的限制,但是在很多的中小企业是够用的 。 因此数据量是引擎选型很重要的一个参考点,因为随着数据量的增加,对引擎的处理能力和查询响应提出了更大的挑战,对于不同量级的数据分别有不同的引擎可供选择,如下图所示:

最终使用哪种OLAP引擎其实还是靠用户需要处理的数据量来决定。毕竟面对少量数据一个微软SSAS就可以解决的事情,何必要花那么大的代价去买hadoop技术方案咧。我们需要做的就是学习好这些技术,以更合理的视角给客户提供更优质的技术方案。

以上就是关于前端图表如果处理大量数据该怎么办全部的内容,包括:前端图表如果处理大量数据该怎么办、Hyperion essbase入门(二)什么是essbase、MDX是哪几国家的汽车品牌等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9724410.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存