作者介绍: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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。