问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-26 00:58

我来回答

1个回答

热心网友 时间:2022-04-08 10:55

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

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

(1)维度id,维度层次id等关键减缩字段建立索引建立、维护。
(2)根据数据量的大小,按时间等进行分区优化。
(3)高速缓冲表MQT的使用
(4)表空间、缓冲池设置等
(5)数据库性能优化

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

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

2.2Cognos自带tomcat配置调优
(1)可修改TOMCAT配置文件CRN_ROOT\tomcat.\conf\server.xml。其参数集中在行:
可以对maxProcessors(最大进程数)/AcceptCount(最大连接数) ConnectionTimeout(连接超时)进行修改
(2)文件路径:CRN_ROOT\tomcat.\conf\web.xml
可以对session-timeout进行修改.

2.3Cognos sever配置文件优化
2.3.1 reportservice.xml优化
文件路径:CRN_ROOT\ webapps\p2pd\WEB-INF\services\ reportservice.xml
注:修改文件后,重启服务后配置生效。
包括以下参数 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请求等待同步时间)

2.3.2 batchreportservice.xml
文件路径:CRN_ROOT\ webapps\p2pd\WEB-INF\services\ batchreportservice.xml
注:修改文件后,重启服务后配置生效。
包括以下参数 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请求等待同步时间)

2.3.3 CQEConfig.xml
主要是与数据库参数设置,文件路径:CRN_ROOT\configuration\ CQEConfig.xml.sample
注:将CQEConfig.xml.sample文件名修改为CQEConfig.xml后,重启服务后配置生效。
可以修改以下参数:Timeout(应用数据库连接超时设置) PoolSize(应用数据库连接池最大连接数设置) queryReuse(查询缓冲设置)
2013-07-08 0
分享
答案对人有帮助,有参考价值1

曾力 - Cognos讲师、Cognos独立顾问、数据仓库架构师2013-07-08 回答
2.3.4 ppds_cfg.xml
主要进行缓存和日志参数设置,文件路径:\cognos\c8\configuration\ ppds_cfg.xml
注:重启服务后配置生效。
可以修改以下参数:ReadCacheSize(可减少用户访问时服务器的磁盘IO。提高访问速度。) pcQueryLogFile(建议生产环境关闭该日志的跟踪,一般默认也是关闭状态)

2.4 Cognos content store优化
2.4.1优化内容库连接服务
内容库最好外配为db2 oracle等数据库,不要用自带的derby.因为项目中的日志信息会非常多,严重影响内容库的效率。
Cognos Administration,在系统下选择选择对应的服务,选择ContentManagerService的属性,设置相应的连接参数信息。

2.4.2日志优化
适当开启各个cognos服务的日志级别,越高级的级别对应更详细,更明确的日志,但也会影响整个系统的效率。
这是一把双刃剑,需要适当调整。日志级别设置得越高,就越降低系统性能。通常情况下,您可以将级别设置为
“最小”或“基本”来收集错误,或设置为“请求”来收集错误和警告。

2.5提高访问数据库速度
Cognos和数据库间参数在cer\bin\cogdm.ini文件中,(根据版本不同是安装目录的数字,根据连接的数据库不同,是对应数据库名称的关键字)
以oracle数据库为例,参数在cogdmor.ini文件中,打开这个文件查找字符串Fetch Number of Rows=去掉这行前面的分号,将10改成2000;
这样这行就成了Fetch Number of Rows=2000,表示是每次从数据库取2000条数据。其他数据库基本上都有类似的配置。用以提高从数据库中提取数据的速度。

2.6加大缓存
cer\bin\Cer.ini(*根据版本不同是安装目录的数字):
SortMemory=5120
(这里 SortMemory 单位是 2kbytes,5120代表 2k x 5120 = 10M)(技巧:一般 SortMemory 取空闲内存的十分之一到八分之一大小)

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

2.8分布式部署
分布式部署可以大大提升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 回答
3.1 FM建模优化
3.1.1手写SQL定制查询主题
右键点击查询主题的菜单项Edit Definition…可以进入SQL语句编写框,调整查询主题的SQL语句。默认情况下,这里的SQL语句为Cognos SQL类型。如果需要编写应用数据库可以直接运行的本地SQL需要将这里的SQL类型进行设置。点击右上方的Options按钮,选择SQL Settings标签页,选择SQL Type为Native。这个时候,我们手写SQL就非常注重这个SQL的优化,尽量避免SELECT *,用EXISTS替代IN,多使用DECODE来进行判断,条件语句注意点等常用SQL优化策略,编写对应的SQL.

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

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

3.1.4Edit 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 回答
3.2 RS报表调优
3.2.1报表函数的使用
在报表函数的使用上,尽可能使用应用数据库能够解析的本地数据库函数,函数列表中的通用函数,在处理时会将函数放在报表服务器进行运算,从而增大了报表服务器的性能开销。

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

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

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

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

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

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

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

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

3.3.8使用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属性设置。

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

为提高报表的处理速度,要尽可能的将报表的处理运算放在数据库进行,以保证其运行速度。将该属性设置为Database only会将报表页面生成的Cognos SQL不经报表服务器处理全部转换为数据库能够执行的本地数据库SQL,如果将该属性设置为Limited Local,则将报表页面生成的Cognos SQL先进行必要的报表服务器运算,然后再将剩余的部...

前端怎么优化大数据页面?

先展示用户第一眼看到的界面,然后懒加载其余部分。不管页面有多大,用户同一时间看到的也就屏幕那么大,先把用户第一眼看到的数据加载展示了,能打打提高感知性能。缓存数据。这个缓存可以放在浏览器端,比如用Service Worker的Cache Storage,也可以在服务器端,比如常用的图表的显示,可以在服务器端预先计...

开发前端大屏时使用echarts插件问题总结

另一个问题出现在图表宽度设置上。如果使用v-show进行组件隐藏,图表组件的100%宽度设置可能失效。解决方法是将图表封装为独立组件,并使用v-if控制其显示隐藏,避免直接与隐藏逻辑绑定。对于多Y轴数据对齐问题,官方推荐的splitNumber可能导致不准确的刻度划分。为实现精确对齐,可以设置max和interval参数,或者...

在大数据行业工作两年是怎样一种体验

数据的汇聚是大数据流程最关键的一步,你可以在这里加上数据标准化,你也可以在这里做数据清洗,数据合并,还可以在这一步将数据存档,将确认可用的数据经过可监控的流程进行整理归类,这里产出的所有数据就是整个公司的数据资产,到了一定的量就是一笔固定资产。数据汇聚的难点在于如何标准化数据,例如表名标准化,表的标签...

性能报告之HTML5 性能测试报告

选取Anychart、Highcharts、Echarts进行对比。在8K和4K分辨率下,通过性能测试和易用性比较,选择Echarts作为测试控件。在不同数据量和图形数量条件下,Echarts表现最佳。5. EChart数据量测试 在8K分辨率下,单屏刷新时间与EChart点数呈正相关,当单个图表的点数大于10000时,刷新时间超过1.5秒。在相同的...

前端、后台对excel表格的处理

这样的需求需要通过一些专业的类Excel控件来完成,这些类Excel控件一般都会有Excel表格展示的功能,在您的系统页面中嵌入上控件之后页面中就会初始化一个Excel表格,之后控件一般都会将Excel的相关功能全部封装成对应的API,例如Excel的导入,导出,公式,图表,形状,单元格操作等。之后根据需求需要用到哪些调用...

前端echarts图表问题,在线等?

在ECharts中,配置4组数据显示在同一折线图中,首先需要准备数据。每组数据被表示为一个对象(或称为系列),包含该组数据的所有值。这四组数据都将在图中以不同的折线显示。以下是一个配置ECharts的基本例子:var myChart = echarts.init(document.getElementById('main'));var option = { title:...

如何在网页上实现千万级别的大数据可视化渲染?

实现千万级别的大数据可视化渲染技巧:借助Echarts、HighCharts、D3.js等开源的可视化插件,嵌入代码,开发成插件包,可视化工程师和前端开发常用。代表工具FineReport(www.finereport.com),通用的报表制作和数据可视化工具,是一个开放的商业报表工具。好比Excel,小到可以存储统计数据、制作各式各样的图表、...

纯前端大数据处理技术——葡萄城纯前端开发工具应用实践

葡萄城的前端开发工具包括纯前端表格控件SpreadJS和前端开发工具包WijmoJS。它们基于HTML5规范,无需依赖JQuery等外部库,提供轻量级纯前端控件,具备统一且易读的API、模块化设计、支持多种框架(如Angular、React、Vue等)和VSCode环境,全面支持在线Excel应用和大规模数据处理。第二部分:葡萄城前端开发工具新...

这两年在大数据行业中的工作总结

数据的应用方式很多,有对外的、有对内的,如果拥有了前期的大量数据资产,通过restful API提供给用户?或者提供流式引擎 KAFKA 给应用消费? 或者直接组成专题数据,供自己的应用查询?这里对数据资产的要求比较高,所以前期的工作做好了,这里的自由度很高。总结:大数据开发的难点大数据开发的难点主要是监控,怎么样规划开发...

对比数据的图表怎么做 怎么把数据变成图表 图表怎么显示数据 excel怎么用数据制作图表 wps图表怎么编辑数据 ppt图表怎么编辑数据 excel图表根据选择数据 如何将数据转换成图表 数据对比用什么图表
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
有人在宿舍安路由器吗 PF89式80毫米单兵火箭筒研制历史 我们的学校宿舍有电话插口。我们想装路由器几个人一起上网。要怎么弄... 昙花一现的解放军自研两截式火箭筒:70式62毫米反坦克火箭筒 近炸引信分类 安装SQL时,我进入了x86/setup文件夹后,执行setupsql.exe,提示却是:_百... 我爸左胸自发性气胸都引流八天了,怎么还没见好转,还有那么多泡泡,今 ... 73岁糖尿病患者 突然左脑出血 引流手术 和器官切除后17天了能 挣眼手 ... 索爱st18i2.3.3 之前用一键root过,现在好像把camera哪个自带的程序误删... st18i能用什么软件刷机 要可爱一点点的女生网名 带 糖和笨 字的 什么网名傻又可爱?拜托各位大神 男生回消息总喜欢发个句号? cognos怎么处理大数据 一人男人对你说句号是什么意思 形容一个人很笨的昵称是什么? 男生聊天发五个句号的意思 男生和你聊天时发一连串句号是什么意思? 比较傻的网名 女生逗男生发了个我要你,有说是个玩笑,男生发个句号是什么意思 关于傻的网名,要听起来可爱一点的,不要关于爱的 男生回复女生句号是什么意思 女朋友有关笨和傻的昵称 发句号是什么意思? 搜含有“笨”的可爱网名 您好,能讲一下应用架构师、软件架构师、大数据架构师的区别么 ?IT行业的架构师是怎么分类的 用地单位是否可以直接与当地村民组织签定征收土地协议 傻里傻气,傻的可爱的小女生网名 发句号是什么意思 麻烦大家帮忙,哪有可以下载行政部年度工作总结的范文? 男生发句号代表结束 有什么好看又好听的网名吗?男的笨,傻的样子 情侣之间聊天,发个句号是什么意思 数据仓库管理员和ETL开发哪个有前途? 傻、的可爱 笨、的天真 配哪个网名好?? 吵架后男朋友发了一个句号是什么意思 如何卸载小白三步装机版软件? 男生和你聊天打招呼发的句号是什么含义? 如何卸载小白一键重装系统软件? 为什么一个男生总给你发句号 小白一键重装系统自带的360怎么卸载 如何删除小白一键重装系统? 我男朋友给我发句号什么意思? 如何删除win7开机时的小白三步装机版啊……? 男生发三个句号啥意思? 用小白一键装机装了系统能把小白卸载吗,卸载了电脑还能用吗? 小白三步装机版怎么卸载? 如何删除win7开机时的小白一键重装系统啊……? 怎么卸载小白重装系统 小白重装系统能不能全部清理 如何卸载"小白一键重装系统"软件 求大神