找文章 / 找答案
精选问答 更多内容

<永洪tech>Yonghong应用最佳实践

vincent 显示全部楼层 发表于 2017-12-10 22:42:13 |阅读模式 打印 上一主题 下一主题
本帖最后由 vincent 于 2017-12-10 22:43 编辑

       在前端数据完成了清理,通过了模型的校验,在前端展示的时候会频繁的出现性能问题,报错难以定位等这样的问题,通过长期的指导和积累发现往往是由于命名不规范导致定位难,模型不规范导致了排查难,页面不规范导致了性能慢等问题,通过长期实践,建议大家按照最佳实践来规范BI的应用。
一、命名规范最佳实践
1)   报表名称
Ø  按照主题、子主题、报表名称的层级去设定报表分布。
Ø  若存在历史版本报表,要单独创建文件夹和正式版本区分开。
Ø  报表文件夹的层级不能超过8层。
1.png           2.png
                                                                   图一、较好的案例                                         图二、较差的案例
2)   数据源名称
Ø  数据源名称要准确,避免产生误导。
Ø  如果一个数据源有多个ip,建议在名称后添加ip。例如mysql139;mysql137。
3)   数据集名称
Ø 数据集命名的原则同报表一致,按照主题、子主题、数据集名称的层级去设定分布,名称和报表互相对应。
Ø 如果有集市,创建一个sql文件夹和一个集市文件夹分别存储。
案例:
3.png
4)    定时任务名称
Ø 建议任务文件夹名称与数据集文件夹一致;任务名称与数据集一致。
5)    报表控件名称
Ø  控件要重命名,名称要有意义,例如:文本输入框-t_date;table1-客户端部署情况统计。尤其是页面控件很多,又需要写脚本的时候,不命名的话,过滤器和脚本会看不明白。
4.png
(2)隐藏控件的名称以hidden_开头,位置统一放到右上角,采用设置背景色、字体颜色、透明、去边框、设置边框颜色的方式隐藏,置于顶层,不要被已有控件遮挡。
5.png
二、性能最佳实践
1)   数据集
Ø  所有计算都尽量在一个大宽表中完成,避免表间计算。
Ø  能在数据集处理的字段尽量不在报表编辑端处理,能用sql函数转换的字段,尽量不用JavaScript表达式处理。
Ø  在初期制作报表时,应尽量设计一个查询对应一个主题,一个主题可以对应一个或多个报表页面,这样一个页面尽量保障1个查询。避免一个页面,对应一二十个查询,反复组合,导致在出现问题时,IT都不知道如何下手。
Ø  尽量使用UNION替代JOIN关联。
Ø  尽量避免上万条数据以上的跨数据源组合查询。
Ø  建立sql查询时,尽量使用select 字段名1,字段名2,...  from 表名,查询所需要的字段,避免select*,浪费数据库的资源。
2)   制作报告
Ø  有的不同业务分析内容,放在一个页面,或为了达到美化效果,单页面组件过多,导致页面展示缓慢,问题排查困难。考虑通过业务分离、逻辑分层,分为多页面显示,通过超链接进行逐层展示,同时尽量保障一报表刚好一屏,能少用一个组件尽量不多用。
Ø  尽量避免大量明细数据导出(超过1w条)的场景,明细数据导出往往需要线下二次加工,可以把这部分需求整理好放到BI上。
Ø  细节数据展现,在页面上加参数,根据参数过滤后,再进行少量数据展现。
Ø  有筛选条件时,尽量新增一个按钮做批量提交。在页面属性中勾选批量提交,可以减少报表前端向后台发请求的次数,提升性能。
Ø  筛选控件较多时,在页面属性中去掉“过滤组件直接是否关联”,也可以提高性能。
Ø  尽量避免对数据集市进行频繁的修改与删除操作。
Ø  一个报表中,尽量避免大量的使用文本框、仪表组件,因为一个组件相当于一个查询。
3)   定时任务
Ø  所有任务的执行时间尽量安排在限时,并且把时间分散开来,避免同一时间执行多个任务,以免在忙时影响用户使用。如果在忙时倒数,可以采用单独节点倒数,和用户访问区分开。
Ø  增量导入和同步查询的区别和适用场景。
区别:同步查询数据<span]
5)   表达式和脚本的使用
Ø  表达式嵌套使用最多不能超过两次,如,时间字段-->日期粒度拆分-->利用日期字段再新生成字段,超过两层会提示错误,时间字段不存在。
Ø  尽量避免逻辑复杂的,一环扣一环的脚本使用,如使用脚本从组件中获取数据-->将数据赋给一个参数-->参数传递到新建的表达式中-->表达式绑定到组件中。
Ø  报表完成后,如果带有脚本,尽量整理个文档,注明用了什么脚本,原因,作用等,编写脚本时,尽量带有代码注释,如下页图:
7.png

三、其他最佳实践
1)   组件的使用
Ø  门户、门户组件使用时,尽量使用永洪推荐的IE11以上,谷歌,火狐浏览器以及最新的flash。
2)  认证授权
Ø  查看用户,开发用户,创建数据集用户,权限严格区分,只开放对应权限,避免误操作。
相信按照最佳实践进行BI应用,能够给大家带来更好的体验感和高效的数据分析效率。

回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部