问:如何用“异构数据源的整合”的方式解决"流式计算"的问题?

本文作者结合自身经验,探讨如何利用异构数据源的整合方法解决流式计算问题。文中提到,通过将控制服务器用DSL描述,减少重复的async-query服务组装,利用Node.js的异步IO特性,可以构建高效的数据适配器。作者提出了数据整合的核心在于对外请求数据和数据adapter的有限形式,并讨论了query解析和执行的可能方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了让淘宝的朋春大牛来指点一下,我一口气写了三篇文章放这了,也不知道他会不会看到,并指点一下

      在做”流式计算“上有一定的经验,一直在计划把我的流式计算控制模块用DSL描述出来,这样我就不用来回的把大量服务组装成千篇一律的async-query之类的server了,而是直接用编译器生成我的server,我甚至做了个半成品的server生成器了,那次听了淘宝的张轩丞(朋春)讲的 ”异构数据源的整合“,发现这就是我想要的,虽然那次他提到了流式计算,但没明确的将”异构数据源的整合“和”流式计算“放一块来讲。

我带个头来说一下

为了写这篇文章特意写了上一篇【流式计算的总结】,其中有个中心模式,简单描述一下就是:一个control-server,要完成一件事情,它需要从N个不同server拿到不同的数据,以完成自身的计算,而自身的计算不推荐太大,甚至是不用计算,只是数据的adapter;

流式计算的需求:

如果N个不同的server,是非常独立的server,可重用性非常高;那么我们有可能可以利用这N个server,组装成多个不同的control-server,如果这些control-server不需要计算的话,那么他就是纯粹的adapter + aysnc-io(我猜这也是朋春选择node.js的原因之一),这样我们会发现这些control-server基本上是千篇一律,可以进行更高一级的抽象;

朋春需求二(我猜的可能不对哦):

他们有N种不同的数据,希望有一层可以将这些数据重新组织,提交给用户,显然数据重新组织的方式是非常多样性的,以致每次一个新的需求都得做数据的adapter+async-io;


从算法的角度来看这个问题,大家都想解决一个问题就是:将不同域的数据进行归一,字面上来看就是”异构数据源“的”整合“;

细想这个问题是个很夸张很大的问题,因为好像所有的server都可以将它归结为这类问题,所以它肯定得有很大的约束。

(以下纯粹的个人观点,很希望朋春大牛来指点)

当然还有个最重要的问题要弄清楚:到底是否可能做一个底层框架,能够支持“任意”或者大量的整合;我不知道!

// =======来个NB的分割线========

// =======来个NB的分割线========

// =======来个NB的分割线========

如何约束?

其实我已经说过了:

  1. 主要就是对外请求数据;
  2. 基本上只涉及到纯粹的数据adapter,此adapter仅仅为下一个请求或者用户需要;
  3. adapter的形式应该是有限的

怎么做?(没做过,先发表一下拙见,然后坐到大牛来指点)

  1. 要达到高效毫无疑问用异步IO,因为本身没啥计算,都是网络IO;
  2. 数据的adapter纯粹是一种机制性的,支持A2B,B2C,A2C,等等,用户自定义各种不同的adapter;
  3. query-parser
  4. query的执行计划,是定死的还是动态的?
  5. query的执行
  6. 还有啥?

// =======后续的分割线========

// =======后续的分割线========

// =======后续的分割线========

后续

4月6日 23:27

我是aleafs:抱歉回晚了,这几天比较忙。我理解的流计算引擎要做到通用性和实时性兼顾还是比较困难的。淘宝目前的做法还处在针对需求的定制化阶段,也就是说规则是预先定义的。异构数据源的整合,目的是为了屏蔽底层不同系统、不同接口对上游使用方的复杂化,并在不同数据源之间做数据JOIN和整合。

 回复

4月7日14:21

简网-贺利军:回复 @我是aleafs:非常多谢,这么看来我的理解是正确的。由于底层数据的多样性,用户使用起来很麻烦;我的问题也是一样的,我的计算服务种类也很多,经常需要将这些服务组装起来,也是一样的麻烦;之所以说两者一样是因为:存储服务和计算服务对用户是没有本质区别的;

回复


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值