应用案例

应用案例——深圳一道创新 | MatrixOne 助力一道创新构建高性能智能制造AIOT系统

作者:MatrixOrigin发布于

客户简介

深圳一道创新(ETAO Innovation)成立于 2012 年,是一家创新型软件及信息技术服务商,致力于制造细分行业—电子制造业的数字转型服务,构建万物互联的智能工程。一道创新致力于把先进的软件系统、数字平台、人工智能赋能智能工厂,让无处不在的联接成为智能工厂的基础。

一道创新已经服务了上百家电子制造业的数字工厂,已经有超过 15000 个的物联接入点。

面临的业务挑战

一道创新自研了一套智能制造 MES 软件系统,MES 是一套面向制造执行层的生产信息化管理系统。一道的 MES 可以为工厂提供数据管理、计划排程管理、生产调度管理、库存管理、供应链管理、设备管理、质量管理等管理模块,为工厂打造一套全面可靠的制造协同管理平台。一道的 MES 系统架构如下图所示,这套系统已经成功交付了上百家客户,但是在智能制造与数字化转型的背景下,客户的要求变得越来越高,而一道的软件系统也面临着几个新的挑战:

  1. 物联数据庞大

一道除了向客户提供 MES 软件系统以外,还提供一整套生产设备数据采集和接入的方案,包括直接从设备 PLC 中读取数据,外接采集边缘设备,或者从控制台主机上获取数据。这些数据也会同时接入 MES 系统作为智能制造各种产线分析的基础,当前制造行业数据驱动的意识越来越强,客户会要求 MES 厂商将采集的所有数据都保存且利用起来。这些从生产设备上采集来的高频数据,对整个 MES 软件的数据处理系统带来了巨大的压力。一个典型的拥有数十条产线的电子制造工厂,上线 MES 和数采系统后1个月的时间就会累积 TB 级别的数据。为了满足这种高频数据采集和应用的需求,一道在 MySQL 基础上分别引入了 InfluxDB 时序数据库来进行采集。

  1. 系统性能低下

产线的各类数据除了需要保存下来之外,在如报表分析,产品追溯以及一些更先进的预测性维保和工艺流程优化等业务场景中都会有大量的计算需求。尤其是面向过去数月或者数年的数据追溯查询需求,MySQL 也已经远远无法满足这样的业务。一道的工程师为此又不得不在应用层进行预计算,预计算会产生很多JSON类型的半结构化数据,再把这些JSON数据存入 MongoDB 再提供给业务分析。这个优化在一定程度上解决了问题,但是随着客户的产线数据继续增长,这种架构也渐渐无法满足性能要求,且 MongoDB 没有支持各种维度分析的 SQL 能力,所有的预计算逻辑都需要在应用层完成,应用层计算负担及工程成本都很大。

  1. 开发效率被拖慢

由于数据分散在 MySQL,InfluxDB 和 MongoDB 三个数据库中,人,物料,流程,设备等管理模块的数据都在 MySQL 中,而设备采集导的数据在 InfluxDB 中,计算中间结果又在 MongoDB 中。最终服务于业务应用时会存在大量多数据库之间的数据计算和交互,业务逻辑非常复杂。大量本来应该由数据库完成的能力不得不被推到应用层解决,而 MES 在不同的项目交付中往往又需要一定的定制,导致产品的迭代效率收到影响。

解决方案

在了解到矩阵起源 MatrixOne 的产品理念以后,一道的研发负责人很快意识到 MatrixOne 对混合负载的支持可以很好的解决当前的困境。如果有一套数据库可以既能满足管理信息系统对 CRUD 的需求,又能快速写入高频数据,支持进行复杂查询,同时又支持 SQL 语言的话,那么一道现有的 MES 系统架构将会得到极大的简化。大量数据处理的工作都可以交换给数据库层,一道的开发人员就可以专注于应用层的开发,很多来不及给客户呈现的功能都能更快速上线。

项目实施前的技术架构如下图所示:

引入前技术架构

项目实施后的技术架构如下图所示:

引入后技术架构

可以明显的看到,一个 MatrixOne 集群即可以处理结构化和半结构化数据,并且可以删除掉原有系统之间的ETL任务,无需再维护不同种类的数据库系统,并且能够统一数据库与应用程序之间的访问接口,整个 MES 应用再次回到了单一数据库的极简架构。

同时,在整个应用迁移的过程中,MatrixOne 本身与 MySQL 也保持了极高的兼容性,一道可以无缝将 MySQL 的库表直接通过 SQL source 导入的方式迁移到 MatrixOne,并按照建议将 InfluxDB 及 MongoDB 中的时序表及文档结构均顺利迁移至 MatrixOne 中,整个过程仅花费不到一周时间。

客户收益

一道使用 MatrixOne 之后,整体的数据架构实现了大幅精简。一道的 CTO 陈继表示:“现在新招开发都不需要培训好几个数据库了,会一点 MySQL 就可以了,而且以前有很多分析都得让应用去多个地方取数再开发,现在直接在数据库里写 SQL 就简单多了,可维护性和性能都好了很多,我们交付 MES 项目效率也提升了很多。另外我们也开始做很多跟大模型 AI 相关的探索,MatrixOne 也有一些 AI 相关的能力,我们也正在探索和实验中,省的我们又在去引入单独的向量数据库一类的组件了”。

在整个工业制造领域,客户其实都面临着相似的问题,面向混合数据负载只能靠工程师手搓一套数据架构来支撑这样的业务,与之而来的就是越来越高的代码债和运维债。而 MatrixOne 的架构和能力天然就适合这样的业务场景,希望可以帮助到更多的工业客户在实现智能制造的过程中起到关键作用。