Tapdata 实时数据融合平台解决方案(五):落地
作者介绍:TJ,唐建法,Tapdata 钛铂数据
CTO,MongoDB 中文社区主席,原 MongoDB 大中华区首席架构师,极客时间 MongoDB 视频课程讲师。
通过前面几篇文章,我们从企业数据整合与分享的痛点,以及对数据中台的定义、技术需求以及技术产品的选项,都分别做了具体的阐述。
有了这么多解决方案,我们来看一下,如果是基于一个 MongoDB 的方案会是怎么样?我们刚才只是讲的数据平台在做一些选择,但是做一个完善的数据中台的话还需要很多其他模块,所以这里面是用到了另一个产品,就是 Tapdata DaaS。通过 MongoDB 和 Tapdata DaaS 这样一个组合,一起来做这个中台的解决方案。
这本章节里,我们具体来介绍一下 tapdata DaaS 基于 MongoDB 的数据中台落地方案。
为什么选择 MongoDB 作为中台架构的数据平台
我们先来看 MongoDB 作为中台架构的平台优势。
MongoDB 是一个多模数据库。所谓多模数据就是他一套系统里面一套分布式集群,里面可以做很多的不同的事情,有的时候你可以把它作为一个内存数据库,可以把它作为一个目录数据库,也可以把它作为一个 IOT 的数据模型。就是说它的多模性特性是比较有特长的,而且它的自动扩展能力也是非常适合这种中台的统一平台的需求。多模多态,对汇聚性也是非常重要,因为我们需要支撑不同结构、半结构化、非结构化、甚至一些图片文件能够来做到这一些。
另外,就是 MongoDB 的 API 友好能力,采用 JSON 作为传输格式。我们知道现在都是微服务,都是通过 Data API 的方式交付数据中台的数据。前面业务中台往往都是用微服务,也是通过这种 RESTful API, 那 MongoDB 的这种 JSON 模型对新一代的这种架构式有得天独厚的优势,你会发现你花很少的时间就可以把这个 API 构建好。另外,MongoDB 也原生提供这种 Streaming API 帮助来做一些流处理的事情。所以 MongoDB 作为一个中台的统一平台数据库,其实是有非常得天独厚的条件。
当然,除了他的多表关联是可能是缺陷。
MongoDB 另外一个优势就是它的对象模型。我们的 JSON 模型就是非常接近于我们开发的对象,Json 也好,或者是 Java 里边的 Object,python 里面的 Dictionary。
一个传统的数仓,或者是现在的数据中台的数据统一平台,要做很多的数据治理。比如要做一系列的建模的工作有概念建模、逻辑建模、物理建模。而且物理建模就是我们所谓的物理层,那就涉及到关系模型。管理一个逻辑对象,怎么样转化成五张表,十张表,20 张表遵从第三方指示,这里面其实是很复杂,也会很花时间。你要设计一个很好的模型,怎么样来支撑未来的业务,这也是为什么传统数仓会花那么多的落地项目代价来做这个事情。
而 MongoDB 的解决方案能轻松地处理这方面的事情,这就是为什么 MongoDB 会受很多开发者的喜欢:MongoDB 在建模方面是一个非常独特的形式,它的模型是基于类似于这种逻辑模型的对象模型。你可以把它理解为差不多是一对一。业务人员一般都会明白这个概念,比如建模、逻辑建模,这些模型他们心里都有数。他们就是可能不懂那种种 DBA 说出来的的 Oracle 的这种建模方式,但是对于 MongoDB 来说,其实你只需要达到逻辑建模层的话,你就可以把这事情做了。而且这个模型建完了以后,直接可以用 REST API 的方式交付出去。从这一点上来说,它是有一个技术上是非常独到的一个先天性的优势,尤其对我们想做这种基于 API 的这种服务中台来说。
MongoDB 的读写分离,HTAP 支持全渠道业务需求。 有一些开发者会说是 HTAP (Hybrid Transaction and Analytical Process),就是说又可以做分析业务,也可以做的交易型的业务。在 MongoDB 里面,我们怎么样来做这种事情呢?比如说一个集群里面,一个 cluster,一个复制集,我们有五个节点,四个 Secondary,一个 primary。左边的 primary 节点可以用来直接。直接跟我们的手机或者是网页端的应用进行交互收集,采集数据,用户数据。那 MongDB 自动同步把的数据从 primary 同步到 secondary 里面。
然后我们还可以除去左边三个,作为正常的高可用集群来说,我们还可以拿出两个节点专门用来做分析,你看他这个 use=analytics。就是一个标签,就比如说这两个节点是只是用来做于分析型的,那这个时候我们就可以用它来上面。加上我们的 BI connector,或者是直接用我们的 MongoDB charts 和 compass,直接可以对接 MongoDB 数据库做一些展示:kpi,dashboard 等等。我们也可以通过一些大数据接口,比如说 spark connector 来做一些大型的 machine learning 或者是 AI 都是,有很多的这种应用场景,那这些都可以最实时的,在你最新鲜的数据上通过一个读写分离的架构上来完成,你不需要再 ETL。在 MongoDB 里面,这个 ETL 的需求量是非常非常少的,因为可以通过原生的这种同步来提供数据的汇聚,数据放到这个分析集群里面。
MongoDB 还有一个触发器的 API 也是比较实用的。就是大家如果不是太了解的话从 3.6 开始有个 change stream,你可以用来订阅数据库的更新事件。比如从 IOT 设备过来,有一个灯亮了,有一个设备进入一个地理围栏里面发个报警。你都可以通过一个非常简单的订阅方式获取这些事件,然后做一些实时的,响应式的处理,不管是在 dashboard 上面显示个警告,或者是把它推送到一个 Message Queue 、Kafka 之类的都可以,直接就用 MongoDB 的原生的功能来完成。
Tapdata DaaS 是什么?
Tapdata DaaS 是钛铂数据为现代企业加速数字化转型设计的数据平台,通过提供采集、存储、组织和增强等一揽子解决方案,从而得到更加方便和友好的数据服务。
Tapdata DaaS 提供了 4 个主要的功能模块,数据采集和同步、数据转换和治理、元数据管理、和数据服务。
Tapdata: 为 MongoDB 量身定做的中台构建工具集
Tapdata DaaS 可以看做是 MongoDB 生态上一个工具集。 要做一个数据中台,要同步、要治理、要建模、还要做 API 发布,这些都不是 MongoDB 做的事情,MongoDB 主要是做数据库为它的核心的主要的功能,其他的相应的功能就可以通过一些外围的工具。而 Tapdata DaaS 可以快速的来实现这些不需要用代码的方式快速把数据的同步,建模和治理,以及发布给快速的做出来,这个大概就是一个整体,Tapdata DaaS 加 MongoDB 的架构。下图中的蓝色的部分就是中台的几个其他部分, 绿色的就是 MongoDB 的数据平台。
- 数据同步及处理能力:
结合 MongoDB , Tapdata DaaS 这套方案是可以快速落地, 可以最快的时间对接上数据进行建模、同步,然后拉到中台里面并进行把它发布出来。举一些例子,比如说可以从 Oracle database 里面把它的表的数据拖到 Tapdata DaaS 的目标的中台库里面,然后对数据进行 JSON 建模,或者是一对一建模。在这个过程中,还可以是进行实时的同步,基于日志的同步。Tapdata DaaS 数据源可以支持 SQL server、Oracle、Sybase、MongoDB、DB2 、MySQL、Redis、Elasticsearch 等等,也支持文件,比如 excel、CSV。
- 数据建模能力:
基于这种内嵌的模型 Embedded 的模型,把一对一,一对多的关系,甚至多对一的关系就直接就合并到里面去。这个会对客户数据合并、产品数据合并、订单数据合并有非常好的效率的提升。Tapdata DaaS 提供一个可视化的建模见面,就可以很容易完成这种合并工作。
- 数据治理能力:
数据进到库里面,进到中台里面。有来自于不同的数据库,几十套,上百套都有可能,每一套库里面有几百张表在里面必须有一个非常好的分类,非常好的组织能力。按照不同的目的、不同的角色、不同的规则或者数据体系给它分门别类建好在这里面,把这数据打好标签,这样的话可以快速的让大家高效的来使用到这些数据。
- 数据 API 发布能力:
可以通过 RESTful API 快速的交付出去。提供图形化低代码开发工具,只需要几分钟的时间就可以简单的发布数据给其他使用方调用。兼容 Open API,也可以支持行级列级的过滤。同时也会有一些 API 文档的测试能力,权限管控等等,这个是中台必不可少的能力之一。
Tapdata 钛铂数据
- 新一代实时数据融合平台产品和解决方案提供商
- 行业领先的同异构数据库实时同步解决方案提供商
联系我们获取企业版 Demo:team@tapdata.io
立即体验线上异构数据库同步服务:cloud.tapdata.net