php ClickHouse如何替代SAP数仓
一、SAP的应用难点?
- 系统太重,配置和操作极其复杂,一个业务可能要用很多页面
- 实现成本很高,二次开发(ABAP语言开发)成本相当高,使用成本也很高。一般需要一些SAP的顾问,每个顾问只关注SAP的某个功能,因为SAP的学习成本很高
- 许可证比较贵,使用成本高
- SAP的报告系统不能完全满足需要
- SAP是一个信息孤岛,数据庞大
- SAP系统与其他业务系统的联合分析困难
- 基于流程的功能较弱。一般情况下,企业需要经过审批流程才能生成单据。一般他们需要通过插件系统的工作流软件对文档进行审批,然后将数据写入SAP
二、Clickhouse特性
1、易用性好
提供HTTP、TCP接口,支持JDBC、ODBC访问,可以在JAVA、PHP、C++、PYTHON、GO、NODEJS等多种言语下便捷访问。并得到DataGrip、Dbeaver等多种主流数据库管理客户端支持。
2、可扩展性好
扩展时添加新的服务器到集群即可。
3、分析能力强
有丰富的数据统计分析函数。包括不限于数组、元组、采样计算、JSON处理、高阶聚合函数。万山数据还提供了HTTP操作、自然语言处理、全文检索等扩展功能。
4、数据集成容易
可以直接从kafka、RabbitMQ、Mysql、Postgresql获取数据,可以通过JDBC直接访问几乎所有数据库。
5、成本低
安装于普通设备,维护简单。成本低。
三、Clickhouse能做什么?
1、SAP数据与其他数据融合分析
Clickhouse可以方便简单地集成各种数据库的数据、API接口数据、文件数据、物联网数据(PLC、仪表等),将SAP数据迁移到clickhouse,即实现了SAP数据与其他系统数据、设备数据的贯通融合。跨系统的数据联合分析问题迎刃而解。
2、SAP历史数据挖掘
历史数据的挖掘是一个特别耗时间耗资源的事情,将SAP的历史数据迁移到clickhouse进行分析,可以大大降低SAP的运行压力,同时提升数据分析用户体验。
3、SAP报表加速
在SAP中复杂报表加载速度较慢。将数据迁移动clickhouse中,通过数据治理工具(如ODGC)以实时计算或定时执行任务的方式,将报表数据准备好,可大大提升报表交互的性能。
4、扩展报表使用范围
将SAP的数据拉到clickhouse,使得更多的数据使用场景变得简单,比如可以通过帆软、superset等报表工具实现自主分析;可以更容易地开发固定报表,利用clickhouse的高并发集群让更多人使用(使用人数不受sap的license的限制)。
四、SAP 如何迁移到clickhouse
场景一:HANA迁移到clickhouse
技术方案主要解决两个问题:SAP的数据如何与其他业务系统数据集成到一起?以及如何在数据仓库中进行数据治理,供上层领导驾驶舱、报表、自主分析系统使用。
借助DBH将数据增量或全量同步到clickhouse集群。
业务系统的数据通过DBH增量或全量同步到clickhouse集群。或者通过CDC方式,利用kafka实时同步到clickhouse集群。 数据在数据仓库集群中的治理我们借助ODGC进行。ODGC是一款可视化的数据治理工具。通过配置数据治理任务,治理SQL语句在线配置实现数仓分层以及数据治理。
最后大屏系统、ABI等通过JDBC访问数据仓库集群,实现数据展示,支持自主分析等功能。
场景二:sybase迁移到clickhouse
如果SAP的数据仓库是sybase,我们如何对sybase中的数据进行监控?可以通过OGG+KAFKA+CLICKHOUSE物化视图的方式实现,OGG将sybase的数据库日志文件传输到kafka,clickhouse中建立对应的kafka引擎表和物化视图,将sybase中的数据变化实时同步到clickhouse中。该方案的传输延迟在一秒之内。

五、案例
某制造企业在多年前就引进了SAP财务系统,如今遇到了如下问题:
- 数据展示慢:财务系统中的复杂报表加载时间达分钟级,无法满足财务人员的要求。
- 数据效率低:数据的研发效率低、数据的发现效率低、数据的取数效率低。
- 数据质量不高:缺乏很好的质量管理体系,导致数据算错结果违反常识,开发人员难以快速定位数据质量问题,无法按时产出报表数据。
- 数据口径不统一:公司体量较大,业务形态比较复杂,同一个指标不同的部门可能有各自的口径。
- 资源成本大:“数据上线容易下线难”,数据表上线后无人使用,没有被挖掘出数据价值,却还在还在不停计算、加工、存储、造成资源的极大浪费。
- 想要基于SAP做相关的解决方案,但是报价太贵了。
- 大量明细报表导出需求,服务器压力过大。
- 存在大量手工做账的场景,手工数据集成到数据库中统一分析比较困难。
- ……
万山数据基于clickhouse打造的数据中台,实现了数据可见、数据可管、数据好用,同时中台具有高易用性、功能完善、高扩展性和高稳定性。数据中台架构参见下图。

项目亮点:
亮点一:多源异构数据统一集成到clickhouse集群
亮点二:数据仓库分层,包括准备层、明细层、基础层、实体层、主题层、应用层
亮点三:通过ODGC控制集群上的数据治理任务,对数据治理任务进行调度控制
亮点四:上层报表系统直接应用数据集,实现报表秒级响应
亮点五:手工数据直接入库中,结构化存储,财务人员在报表前端直接查看
相关推荐
-
「PHP」MVC框架是什么?为什么要用它2025-02-25 00:25:41
-
如何用PHP写一个比较安全的API系统(实现)2025-02-25 00:19:49
-
php 解析url获取相关信息2025-02-25 00:15:37
-
mysql命令总结和PyMysql2025-02-25 00:11:35
-
MySQL特性:深入理解ICP2025-02-25 00:11:07