#95. 流数据库
6 Apr 2022 · 71 min
在本期《牛油果烤面包》播客中,主持人(SPEAKER A、SPEAKER C)与 SingularityData 创始人兼 CEO 吴英俊进行访谈,系统阐述了流(实时)数据库的概念、与传统批处理数据库的根本区别以及云原生流数据库的技术架构。节目通过多个行业案例(实时广告分析、欺诈检测、监控、车载遥测)展示了流数据库在低时延数据处理中的价值。随后,吴英俊重点讨论了流处理系统面临的核心技术挑战——容错与状态恢复,解释了在持续计算场景下节点故障对中间状态的影响以及必须具备的快速恢复机制。访谈的尾声转向人才培养与招聘,吴英俊给出进入流数据库行业的学习路线建议,强调系统底层(操作系统、文件系统、数据库内核)和云工程(分布式系统、通用软件工程)知识的重要性,同时指出公司也欢迎非技术岗位(运营、媒体、设计等)的人才。节目最后回顾了 SingularityData 的公司愿景、全球招聘布局以及对听众的鼓励。
Chapters
在 传统 的 数据库 中 数据 是 禁止 的 用户 需要 主动 操作 和 查询数据库 而 在 另 一种 数据库 中 数据 则 不断 流入 数据库 而 数据库 不断 执行 预先 设定 好 的 任务 这 就是 流 数据库 本期 节目 我们 请 到 了 流 数据库 领域 的 专家 SingularityData 公司 的 创始人 和 CEO 吴 英俊 来 给 我们 聊一聊 旅游
数据库 是 怎么回事
这里 是 牛油果 烤面包 大家 好 我 是 斯 特加特 我
是 Vindy 我 是 Sean 我 是
Kat 今天 我们 有幸 请 到 了 SingularityData 这个 创业 公司 的 创始人 和 CEO 吴 英俊 来到 我们 的 节目 来 和 我们 聊一聊 刘 数据库 打个招呼
吧 哈 喽 大家 好 我 是 吴 英俊 然后 现在 是 SingularityData 这家 公司 的 创始人 兼 CEO 今天 很 高兴 来 去 参与 这个 节目 SingularityData
在 这个 推特 的 中文 成员 圈 是 个 网红 公司 啊, 吴文俊 给 我们 介绍 一下 在 一个 数据库 创业 的 这个 有 什么 感受 吗?
OK, 好 的, 好 的, 就 首先 啊, 就是 我 肯定 也 不敢 去 自称 这个 是 网红 公司 啊, 因为 我 相信 现在 有 很多 公司 都 是 网红 公司, 然后 呢, 我们 公司 可能 只是 在 一个 非常 非常 小 的 圈子 当中, 有 很多 人来 去
讨论, 就 千叙千叙 了 啊, 我 听 那个 圈子 说 你们 是 中国 值得 去 的 波 多哥 公司 几家 公司
之一 哇, 这个 评价 真的 是 好
高 啊, 相当 相当 高 啊 我 没有 混 这个 圈子 所以 的话 我 可能 很难 去 做 这个 评价 但是 我 相信 现在 的确 不管 是 国内 还是 国外 我们 都 可以 看到 有 非常 多 的 数据库 公司 像 在 硅谷 的话 Databricks 是 吧 大家 都 知道 Databricks 啊 还有 像 这种 Snowflake 就 更加 不用说 了 以及 像 confluent 这些 公司 他们 都 很 火 然后 在 国内 的话 也 是 现在 也 会 有 很多 公司 出来 去 做 这个 创业 所以 的话 我 觉得 肯定 我们 只是 他们 当中 的 其中 一家
了 你们 的 公司 在 哪 啊
我们 公司 其实 跟 很多 公司 都 不 太 一样 的 地方 是 在 于是 我们 是 在 一下 globaldistributor 的
公司 传球 化 的 公司 是 吧
必须 说 的 一点 是 我们 其实 是 有 office 但是 呢 我 必须 说 一点 就是 我们 公司 的 成立 的 背景 是 怎么样 的 我们 成立 的 背景 是 在 201 年 年初 也 就是 在 这个 疫情 非常 严重 的 时候 当时 是从 AWSReshift 离职 然后 来 去 创 了 这家 公司 我 大概 是 在 二月份 离职 的 然后 从 那个 时候 开始 就 已经 开始 做家 公司 了 然后 呢 我们 在 各个 地方 去 招人 我 到 了 当年 六月份 的 时候 我 回趟 中国 然后 在 中国 去 招 了 很多 程序员 以及 是 一些 其他 的 team 包括 像 这些 SRteam 以及 其他 一些 team 然后 呢 又 其实 又 返回 到 美国 在 美国 也 是 去 招 了 一些 人 然后 我们 后来 就 发现 了 在 中国 与 美国
的 成本 都 非常 高 都 非常 高 啊 就是 中国 的 程序员 已经 快 对标 美国 的 这个 就是 公司
待遇 我 相信 肯定 不至于 是 对标 美国 的 公司 待遇 啊 但是 可以 看到 一点 是 美国 现在 不管 是因为 通货膨胀 原因 还是 说 像 DatabricksSnowflake 这些 太能 给钱 了 嘛 所以 把 整个 的 一个 市场 价格 都 拉 得 非常 非常 高 我 反正 看像 一亩 三分 地上 啊 有人 去 讨论 是 说 OK 刚 毕业 的 学生 就 有 30 万 的 大包 这样的话 其实 我们 是 很 难 去 跟 这些 大厂 去 竞争 吧 那 如果说 到 中国 的话 中国 我们 也 是 发现 现在 的 程序员 工资 也 是 越来越 高 了 然后 对于 一些 很 好 的 程序员 的话 还 不至于 超英 赶美 但是 可能 会 有 相对 于 美国 的话 是 大概 是 70% 左右 的 cost 然后 再 加上 中国 要交 这些 无险 一金 以及 其他 一些 福利 那么 其实 综合 成本 来说 是 非常 高 的 那么 我们 这时候 就 会 去 考虑 一点 那么 我们 怎么 去 更加 进一步 的 去 降低 这个 成本 呢 那 这时候 的话 我们 就 想到 了 像 新加坡 这些 地方 新加坡 税 很 低 啊 对 新加坡 税 特别 低 我 自己 之前 是从 新加坡国立大学 读完 PhD 然后 再 来 美国 的 所以 我 对 那边 相对来说 也 比较 了解 也 从 NUS 的话 也 就是 新加坡 国际 大学 也 相对来说 比较 好 招人 而 新加坡 整体 来说 这个 地方税 很 低 它 对于 个人所得税 的话 也 就 在 10% 到 20% 左右 然后 整体 一个 公司 经营 的 这些 需要 交 的 一些 influence 这些 税 的话 也 不过 也 就是 10 到 20 这 样子 一个 比例 所以 在 这方面 的话 我们 就 可以 考虑 到 那么 我们 是不是 可以 从 新加坡 招 人 那么 如果 再 去 放眼 全球 的话 我们 就 会 发现 像 印度 啊 欧洲 啊 一些 地方 甚至 是 像 北美 的 像 加拿大 甚至 是 南美 的 巴西 这些 地方 其实 他们 都 是 有 一些 人才 然后 考虑 到 现在 整体 的 一个 疫情 原因 大家 都 已经 人多 的 习惯 了 像 比如说 我 在 AdvancedReshape 的 时候, 我 自己 就是,
就 从来 没有 上过 班 是 吧?
我 可能 上 了 几个 月 班, 然后 就 开始, 对, 大家 就 只能 在家 办公 了。 所以 的话 我 觉得 大家 都 已经 习惯 了, 至少 我 自己 是 习惯 了, 那么 我 相信 我们 公司 的 员工 也 应该 会 逐渐 去 习惯 这 一点。 对, 所以 的话 我们 现在 就 变得 这 样子 吧。
那 你们 现在 一共 有 多少 分部 啊? 多少 个 地区 会 有人?
如果 按照 国家 来算 的话, 那么 国家 算, 我们 就 按 国家 来算 好 了, 那么 可能 是 美国 加拿大 中国 新加坡 印度 还有 是 亚洲 的话 我们 还有 印度尼西亚 然后 在 欧洲 的话 对 像 这些 荷兰 还有 德国 以及 像 瑞士 塞尔维亚 罗马尼亚 波兰 这些 地方 它 其实 都 有 一些 波兰 还有 啊
哇 这 就是 不止 10 个 了 听 上去 应该 是 我 自己 其实
没有 算过 但是 但是 的确 很 有意思 就是说 我们 会 去 在 这些 地方 去 找到 一些 不错 程序 然后 整体 的 开销 也 不是 特别 大 这
就是 告诉 我们 的 听众 朋友 啊 你 要 加入 SingularityData 这家 网红 公司 你 在 全世界 各个 地方 都 可以 啊 上 至 北极 下 至 南极 啊 所有 地方 都 可以 呃 北极
南极 我 不 太 确定 因为 你 必须 有 网络 是 吧 所以 的话
那个 地方 可能 要 慎重考虑 买 一个 那个 ElonMusk 那个 叫 什么 哦 星链 星链 啊 我们 刚才 聊 了 这么 多 这个 啊 SingularityData 这些 非技术 方面 我们 聊聊 技术 方面 SingularityData 你们 的 主打产品 是 什么 你们 作为 一个 数据库
创业 的 公司 我们 现在 最 主要 的 一款 产品 是 叫 用 英文 来讲 就是 CloudNativeStreamingDatabase 也 就是 云 原生
流逝 数据库 云 原生 流逝 数据库 这 听 上去 非常 的 高调 上 好 高级 对云 原生 不明 觉厉 这个 我们 后面 会 讲 到 什么 叫云 原生 对 吧 有些 听众 朋友 可能 不太 了解 这鸟 飞 在 天上 的 感觉 但 我们 今天 主要 聊 的 就 叫 流 数据库 这 就是 我们 今天 聊 的 话题 流 数据库 这 听 上去 也 非常 的 厉害 有云有 水
就 感觉 是 一幅 山水画 的 感觉
就 出来 了 真的 大家 不 知道 无人 镜 下面 后面 就是 一幅 山水画 数据库 大家 都 知道 是 什么 把 数据 放在 那 然后 你 可以 查询 流 这个 词是 一个 比较 玄 的 词 经常 说 流媒体 信息流 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的,
可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的,
可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以
的, 可以 的, 可以 的, 可以 的,
可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的,
可以 的, 可以 的, 可以 的, 可以
的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的, 可以 的 那么 为什么 叫 数据流 呢 因为 它 这个 跟 普通 的 数据库 当中 存 的 数据 不太 一样 也就是说 它 这个 数据 它 是 流进来 的 也 就是 它 一直 不停 的 插入 到 数据库 当中 它 是 一个 数据流 而 不是 就是 简简单单 一批 数据 或者 所谓 的 在 英文 当中 是 abatchofdata 它
不是 这样 的 一个 概念 我们 这个 传统 的 数据库 是 什么 样子 就是 我 数据库 我 就 插进去 比如说 我 一个 学生 成绩 的 数据库 对 吧 我们 出 一个 成绩 我们 就 往里 插 一条 他 得 了 多少 分
什么 科目 你 这个 例子 就 感觉 大学 的 时候 上 数据库 的 作业
的 那种 感觉 就 出来 出来 一条 数据 对 吧 这个 数成 了 一个 数据库 然后 你 查询 你 就 说 查询 平均分 是 多少 查询 这个 同学 的 总分 是 多少 对 吧 他 就 一个 查询 的 一个 语句 放进去 然后 他 就 会 告诉 你 结果 这 就是 传统 的 数据库 对 吧 我 数据 出来 一个 放进去 然后 我 查询 出来 出来 一个 结果 那 这个 流 跟 他们 不 一样 吗 我们 数据 也 流进去 了 我们 成绩 也 流进去 了 这个 评论 说 也 都 流 出来 了 那 这个 这个 叫 数据流 是 怎么 流法 呢 我 觉得
这个 是 一个 很 好 的 问题 就 在于 传统 的 数据库 当中 我们 是 把 这个 数据 先 插入 到 数据库 当中 然后 我们 再 去 做 计算 但是 在 现在 的 我 刚 所说 的 这种 流 数据库 当中 它 实际上 是 反过来 的 也就是说 我 这个 数据 插入 到 数据库 之前 我 就 应该 做 计算 了 那么 我 在 这里 的话 我 觉得 可以 去 提 一篇 paper 因为 我 之前 自己 是 混 学术 圈 的, 所以 对 这些 paper 相对来说 比较 熟。 有 一篇 paper 是 VRDB20 的, VRDB 它 是 一个 数据库 顶级 会议, 然后 它 有 一篇 paper 是 Stonebreaker, Stonebreaker 这个 人 也 是 拿 图名 奖, 他 写 了 一篇 paper, 这个 paper 的 title 叫 MonitoringStreams。 然后 是 anewclassofdatamanagementapplication 然后 它 是 一种 新型 的 这种 数据管理 的 20 年 的 20 年 的 对 已经 是 20 年前 的 东西 了 所以 他 当时 就 把 这个 问题 就 解释 的 非常 清楚 他 就 说 传统 的 数据库 都 是 HumanActiveDBMSPassive 那 Human 就是 人嘛 Active 就是 主动 那么 DBMS 就是 数据库 那 Passive 就是 被动 的 也就是说 他们 认为 是 说 这个 传统 数据库 它 都 是 人 是 主动 的 那么 数据库 它 是 被动 的 那 什么 意思 呢 也就是说 我 这个 数据库 当中 存 了 数据 我人 进行 查询 然后 我人 就 主动 的 把 这个 query 塞 给 了 这个 数据库 然后 这个 数据库 被动 的 把 这些 查询 的 结果 返回 给 人 推送 给 人 这 是 传统 数据库 数据库
放 那 什么 事 都 不 做 等 人 过来 说 你 插 一条 你 取 一条 他 才 做 一点 事 告诉 你 结果 是 的 是 的 是 的 人 不 过去 数据库 就是 什么 事 也 不 做 了
嗯 然后 当时 的话 他们 就 发现 哎 我 其实 有 很多 application 传统 数据库 不能 满足 比如说 我 想 现在 去 做 一个 数据 的 报警 或者 是 说 我 想 去 做 一个 所谓 的 frauddetection 欺诈 检测 就是 他们 现在 有 一种 新型 的 应用 就是 这种 反 欺诈 的 这种 应用 那么 在 这些 应用 当中 那 我 肯定 不能 人 一直 在 那边 等 着 这个 就是 主动 的 去 查 现在 有没有 这些 欺诈 产生 我 肯定 是 希望 这个 数据库 能够 主动 地 把 这些 结果 是否 有 欺诈 或者说 是否 有 一些 异常 主动 地 推送 给 人 基于 这个 动机 所以 他们 就 提出 来 是 说 我们 可以 去 做 一个 东西 叫 streamingdatabase 然后 这个 东西 它 是 DBMSactive 留 数据库 了 留 了 对 的 然后 他 就是说 这个 数据库 DBMS 它 应该 是 active 的 DBMS 应该 是 主动 的 而 Human 应该 是 passive 的 数据库 是
主动 的 干活 我 在 那 什么 事 都 不 干 对 的 数据库 告诉 我出 了 个 什么 事 他
通知 一下 我 对 也 就是 我 这人 就是 应该 是 非常 lazy 的 非常 懒 的 在 那边 等 着 结果 这个 数据库 把 这个 结果 告诉
我 就 可以 了 水 就 在
那流, 然后 你 把 这个 信息 告诉 人而人 的话 就 应该 是 躺平 了 然后 就 可以 去 等 着 这种
结果 回来 了 举个 例子 比如说 刚才 你 提到 了 一个 欺诈 检测 就 可能 说 之前 那种 比较 静态 的 被动 的 数据库 就是 可能 我 一个 数据库 的 DB 的 一个 Admin 可能 是 管理员 我 把 很多 数据 全部 都 录入 进去 然后 录入 完 了 之后 我要 看看 有没有 欺诈 那 我 可能 会 上面 去 写 一些 具体 的 查询 然后 查询 一些 规则 说 最后 查出来 结果 我 自己 看看 有没有 欺诈 主动 的 就 做 了 这么 两步 你 要 录入 数据 我 录入 数据 你 问 我查 什么 我 给 你 什么 东西 但現 在 流數 據庫 相當 於 是 在 數據 輸入 的 時候 輸入 過去 之後過 一會兒 他 就 自己 能夠 運行 一些 計算 分析 說 這些 剛才 進入 的 數據裡面 有 詐
騙 是 的, 也就是说 为 人 来讲 的话 人 他 应该 做 的 事情 就是 事先 告诉 数据库 OK, 我 有 这样 一些 规则 然后 你 只要 是 满足 这些 规则 的 你 就 把 这个 结果 告诉 我 就 可以 了 就 把 这个 这些 信息 推送 给 我 就 可以 了 那么 人 在 定义 了 这些 规则 之后 那么 就 可以 去 躺平 了 他 就 不 需要 再 去 干预 这个 数据库 了 那么 数据库 他 就 会 去 自动 的 去 帮 这些 最新 进来 的 这些 信息 做 一些 检测 然后 去 看 一下 有 什么 问题 或者说 是不是 满足 这样 的 规则 如果 有 规则 的话 他 就 会 东北 人 如果 没有 的话 那么 就 什么 事 都
不 干 了 就 感觉 省下 了 很多 重复劳动 因为 之前 可能 说 是 我 新来 进来 一批 数据 我要 用 这个 规则 查 一下 新 进来 一点 查 一下 现在 相当于 是 我 规则 定 完 之后 数据 就 来 吧
嗯 是 的 是 的 是 的
我 再 插回去 我 刚才 那个 例子 啊 就是 如果 还是 学生 成绩 的
报表 大学 数据库 给 你 多 大清
零 我 不是 说 我 插 一条 插 一条 然后 我 最后 查询 说 谁 是 最高分 最低 分是 平均分 我 就 知道 我要 算 平均分 最高分 我 就 把 这条 查询 说 数据库 你 给 我算出 最高分 算 出 平均分 来 一个 新 的 成绩 我们 就 更新 一下 最高分 然后 我 在 那 看着 哦 现在 最高分 是 上 听 上去 好 刺激 啊 kat 超过 了 现在 最高分 是 katwindy 超过 了 结束 了 是 不顾 应景 奥运会 不 就是 这样 的 吗?
来个 古艾玲, 对 吧?
把 前面 的 人全 推翻 了。 你 要 这么 说, 这是 信息流, 就 这么 流嘛, 对 吧? 好 吧, 我 这个 例子, 我 本来 想 说 个 笑话, 有点 过 了, 好 吧。 我 又 想 起来, 就是 我们 在 数据仓库 那集 提到 过, 就是 有 一篇 著名 的 论文, MaxwellBreaker, 刚才 吴云军 提到 MaxwellBreaker。 他 在 205 年, 刚才 说 是 20 年 对, 20 年 205 年 他 发表 了 一篇 著名 论文 叫做 OneSizeFitsAllAnIdeaWhoseTimeHasComeAndGone 他 认为 同 一种 数据库 处理 所有 的 应用 的 时代 已经 过去 了 205 年 他 这么 说 他 提出 的 两个 需要 特别 开发 应用 的 数据库 一个 是 数据仓库 还有 一个 就是 流 数据库 能 不能 給我們 講一個 具體 的 例子 我們 剛才 是 一個 很 好 的 例子 但是 你 能 不能 給我們 高級 一點 從頭 到 尾
的 一些 現實 的 例子 現在 我們 感覺 例子 還是 大學 作業 的 水平
我 觉得 可以 去 讲 一下 流 数据库 或者说 这种 流 处理 技术 最为 广泛 的 应用 的 一个 场景 了 就是 广告 计算 当然 我 首先 说 一下 就是 流 处理 它 应用 场景 有 很多 广告 计算 像 我 刚刚 说 的 这种 反 欺诈 实时 监控 这种 实时 报表 包括 现在 成绩单 对 成绩单 不要 再说 成绩单 了 对 然后 还有 像 ElonMusk 他 搞 的 这些 车 联网 啊 是 吧 这些 OK 你 汽车 上 肯定 有 很多 的 传感器 啊 是 吧 这些 数据 都 可以 用来 去 当 这个 流 数据 来 去 处理 那 我们 就 讲 一类 就是 这种 广告 计算 那 我们 就 可以 想象 一下 我们 在 比如说 推特上 投放 一行 广告 然后 我们 就 想 看 一下 这个 广告 在 美国 的 每 一个 城市 它 点击 次数 如果 传统 来 做 的话 那 我们 可能 是 想 的 OK 今天 到 了 凌晨 比如说 零点 的 时候 然后 我们 把 这个 点击 的 次数 全部 拉 出来 然后 可以 看 一下 在 三藩 多少 次 点击 纽约 有 多少 次 点击 芝加哥 有 多少 次 点击 然后 我 得出 一个 结果 OK 三藩 有 10 次 点击 芝加哥 有 20 次 点击 或者说 纽约 有 30 次 点击, 然后 我们 就 得到 这些 数据 了。 这种 做法, 那 就是 很 传统 的 批处理 的 思路, 也 就是 最 传统 的 数据库 的 思路, 说 OK, 我人会 主动 的 每天晚上 去 看 一下 这个 数据 是 怎么样 的。 那么 对于 如果 是 刘 处理 的话 刘 处理 就 把 这个 问题 变 了 一种 形式 来 去 解决 了 刘 处理 的话 就是 我 只要 点击 这 条 广告 我 就 会 去 看 OK 这条 广告 是 属于 是 点击 源 来自 于 三方 那 我 就 把 那个 三方 的 那个 counter 技術器 加上 1 點擊來 這自個 於 西雅圖 我 就 把 那個 西雅圖 那個 技術器 加上 1 那麼 這樣子 的 話 那 我們 就 可以 得到 一個 結果 就是 說 OK 我 這個 實時 的 我 這個 人 可以 每時 每刻 我 在 看 這條 廣告 被 哪些地方 的 用戶 所點擊 了 那麼 這樣子 有 什麼 好 處 呢 很 顯然 一方面 我 從 用戶 角度 來講 的 話 我 可以 以 一种 非常低 延时 的 方式 来 去 获得 这些 结果 更 重要 一点 是 说 我 获得 这种 结果 之后 我 可以 去 调整 比如说 我 自己 的 广告 策略 我 发现 这 条 广告 其实 在 纽约 根本 没什么 看 那么 我 就 干脆 把 这个 预算 去不去 投 纽约 了 那 我 就 去 把 这些 预算 放到 比如说 三藩 阿 西亚 图 这些 用户 更加 感兴趣 的 地方 那么 这 就是 一个 在 广告 计算 当中 流 处于 它 的 一个 非常 典型 的 应用 了 在
这个 例子 里面, 流 数据库 就是 一个 把 点击 事件 变为 一个 这些 一些 知识 啊 这 是 一些 统计数据 的 一个 工作 它 不停 在 运行 信息流 进来 上游 进 到 数据库 里 来 就是 点击 的 事件 每次 发生 一个 点击 它 就 这个 信息流 就 流到 这个 流 数据库 里面 然后 呢 流 数据库 不停 在 处理 不停 在 工作 然后 它 流到 下游 的 就是 这些 指标, 这些 统计 的 这些 结果, 然后 下游 不管 是 机器 还是 人 还是 什么, 最终 是 下游 有 它 在 处理, 但是 下游 可能 又 是 一个 下 一个 旅游 数据库, 也 可能 是 下 一个 应用, 也 可能 是 人, 对 吧? 是不是 这个 意思?
嗯, 我 觉得 这个 还是 一个 非常 好 的 解释 了, 对。
这 感觉 是 比 传统 的 更 灵活 很多。
效率 更高 一些 是 吧 你 可以 想象 过去 这种 没事 就要 把 成天 的 数据 扫 一遍 算 一遍 算 一遍 这个 你 就是 非常 来 一个 稍微 的 加一 加加 一 加减 减 然后 就是 非常 有效率 啊 也 是 非常 的 快 对 吧 每次 你 要 扫个 全表, 哪扫 的 多少 秒, 多少 分钟 啊? 你 这次 多少 毫秒 是 吧? 结果 就 更新 了 是 吧? 这多 厉害 是 吧?
这个 可能 更好 的 说法 就是 延时 方面 可以 降低 很多, 也 就 是从 人 的 角度 来讲 的话, 我 这个 计算结果 的话, 我 就 可以 去 非常 短 的 时间 就 可以 把 拿到 这个 结果 了。 我 不再 需要 去 等 很 长时间 去 得到 这个 结果 了。
做 互联网 的 平时 像 我们 作为 用户 这边 就是 可以 深刻 的 体会 到 这个 问题 就 我 记得 每次 以前 要 处理 一些 用户 数据 的 时候 都 是 要 凌晨 的 时候 因为 凌晨 的话 相当于 是 你 可以 拿到 之前 那天 所有 的 数据 然后 你 可能 凌晨 要 爬起来 在 那边 写 一个 query 点击 那个 运行 按钮 开始 睡觉 可能 运行 要 运行 个 老半天 然后 差不多 起来 的 时候 发觉
之前 那个 query 写错 了 我们 这个 做后 端 服务 的 就是 两个 词 一个 叫 Latency 就是 延迟 是 吧 就是说 你 这个 你 想 知道 这个 结果 需要 等 多长时间 是 几秒 还是 几分钟 还是 不到 一秒 叫 Latency 还有 另外 一个 叫做 Freshness 是 吧 就是说 我 就算 我 可以 一秒钟 得到 结果 或 半秒钟 得到 结果 但是 它 未必 我 数据 就 这么 新 也 可能 它 只能 截止 到 了 昨天晚上 12 点 对 吧 那 我 从 昨天晚上 12 点到 现在 的 数据 都 没有 这 就是 不够 新 对 吧 这个 流 数据 可不可以 解决问题 就是 既 延迟 比较 低 既 快 又 新 就是 latency 和 freshness 都 是 非常 非常 的 好 是 的 并且 还 非常
便宜 心动 的 感觉 听 上去 像是 诈骗 怎么 会 有 这么 好 的 东西
详细 上次 那个 这个 SongBreaker 那篇 205 年 那种 李承辉 的 书签, 他 提到 两个, 那 篇文章 上 提到 两个 数据, 一个 是 金融 数据, 就是 一堆 金融公司 在 处理 一些 路透社、 彭博社 的 新闻, 然后 转换 为 这个 他们 的 自动 交易 还是 什么, 他 有 一些 流出 的 信息, 这是 205 年 他们 认为 的 用力 啊, 还有 一个 是 叫 什么 传感器 系统, 越来越 多 的 东西 用 传感器 系统。 这些 东西 听 上去 都 是 现在 好像 比较 边缘 的, 现在 这个 流 数据库 主要 都 用 在 什么 地方 呢?
嗯, 我 觉得 像 你 刚刚 说 的 这 两个 意思 的话, 还是 很 典型 的 这种 金融 场景 啊, 是 吧? 因为 当时 那个 那个 时候 的话, 最好 的 科技 肯定 我 相信 还是 上 军工 啊, 或者说 从 金融 场景 肯定 是 先用 上, 因为 并 肯定 是 军工 以及 是 金融 这些 公司 是 最 有钱 的。 最 愿意 去 投钱 在 这些 超级 的 技术 上 的, 比如说 像 我 之前 在 IBMresearch, 我 之前 第一份 工作 是 在 IBMresearch, 就 在 阿玛顿, 阿玛顿 是 在 那个 SanJose 的 那个 山上, 南边 的 SouthSanJose 的 那个 山上, 然后 我们 做 的 东西 是 什么 东西 呢? 我 当时 在 做 一个 东西 就是, 就是 叫 eventstore, 那 什么 是 eventstore 呢? 其实 这个 东西 也 是 跟 流 数据库 有点 关系。 因为 就是 他们 那边 场景 就 在 于是 我 就 帮 这些 卫星 公司 这种 发 火线 的 这些 公司 然后 我 去 看 这些 帮去 计算 这种 传感器 的 信息 因为 IBM 它 是 作为 这种 老牌 2B 企业 它 的 用户 都 是 这些 不管 是 军工 啊 航空航天 啊 卫星 啊 或者 是 银行 这些 企业 嘛 对 这些 就是 我 觉得 跟 你 刚刚 说 的 这种 路透社 这些 新闻 或者说 这些 他们 的 这些 数据 有点 类似 但 我 觉得 现在 技术 嘛 它 的 一个 发展趋势 就是 在 于是 普惠 比如说 之前 看似 很 高端 的 数据 我们 可能 会 希望 是 更 多 的 人 去 能够 去 利用 这些 数据 我 觉得 这个 现在 的 场景 当中 很 显然 像 我 刚刚 说 广告 计算 它 就是 一个 非常 普惠 的 一个 技术 了 那 比如说 大家 每天 刷 手机 刷 推特 或者 是 刷 这种 Facebook 我们 实时 的 这些 看到 这些 广告 其实 都 是 有 这些 流 数据 计算 这些 平台 它 的 支撑 像 我 刚刚 说 的 这种 车 联网 是 吧 我们 买 ElonMusk 的 车 买 Tesla 那么 Tesla 上面 有 很多 这些 信息 其实 Tesla 其实 还是 有 一点 信息 的 嘛 是 吧 这些 信息 还是 给 了 Tesla 的 那么 Tesla 的话 其实 还是 可以 通过 他们 这些 数据中心 来 去 实时 的 处理 一些 记录 或者说 实时 的 处理 一些 信息 看 一下 他 这个 车有 什么 问题 嘛 这些 都 是 在 现在 这些 场景 当中 非常 非常 多 的 应用 了 包括 现在 像物 联网 这个 领域 其实 我们 当时 那个 年代 也就是说 像 stonebreaker 这种 056 年 也 就是 20 年 到 201 年 那个 时候 说 的 物 联网 我 觉得 跟 现在 说 的 物 联网 还 不 太 一样 那个 时候 都 是 说 了 一些 传感器 这些 OK 我 去 监测 一个 天气 质量 或者说 去 卫星 上 这种 传感器 但 现在 说 的 这些 所谓 的 IoT 智能 家机 比如说 我 自己 家里 买 的 那个 Alexa 是 吧 这个 东西 它 就是 一个 可以 认为 它 是 一个 传感器 它 肯定 是 有 很多很多 传感器 的 一些 元件 了 包括 OK 买 这些 摄像头 它 也 是 属于 这种 IoT 的 这种 家具 嘛 包括 现在 我 自己 家里 用 了 冰箱 那个 三星 的 然后 三星 的话 它 还 可以 有 那个 它 也 是 可以 你 直接 用 手机 去 操控 那个 冰箱 它 的 一些 功能 OK 什么 时候 去 该 把 这个 温度 降到 多少 啊 这些 都 是 传感器 这些 数据 都 可以 用 这些 流 数据库 来
去 处理 了 互联网 时代 这个 数据 非常 的 多 并且 都 是 流 数据 啊 非常适合 于 也 是 非常适合 于 这个 流 数据库 啊 我们 这个 这个 节目 的 特点 是 第二 部分 是 要说 历史, 吴 英俊 能 不能 帮 我们 介绍 一下 旅游 数据库 大概 有 什么 历史 吗?
旅游 数据库 其实 我 觉得 最早 最 标志性 的 一个 历史 就是 像 我 刚刚 说 的 是 吧, 20 年 像 Stonebringer 他们 发 的 一些 paper, 然后 那 时候 开始 学术 学院 开始 关注 这个 问题, 当然 我 知道 20 年前, 对 20 年前, 当然 我 知道 有 一些 人 他 会 把 这些
历史 推得 更久 一些, 壓力 是 多得是 吧, 聖經 的 壓力 是不是 得 一半
呢 那 倒 不 至於, 那 可能 是 像 這種 發電報 啊 可能 手機 還沒有 普及 起來 的 時候 他們 都 會 有 去 說 一些 討論 一些 OK 這東西 也 是屬 於 流出去 當然 了 我 可能 自己 我 自己 也 是 90 後 了 所以 我 可能 自己 也 沒 有 太 多 的 一個 那麼 多 的 一些 經驗 了 那麼 我們 就 從 20 年 那個 時代 開始 說 起 了 其實 在 這個 流出 力 這個 階段 他 經歷 了 三個 階段 第一个 阶段 是 单机 数据库 的 时代, 也 就是 大家 看到 的 那种 单机 传统 的 Oracle, IBMDB2, MicrosoftSQLServer, 这些 都 是 属于 单机 数据库。 那个 时代 它 是 第一个 时代 那么 第二个 时代 呢 是 离 我们 更加 近 一点 的 也 就是 201 年 的 那 时候 大 数据 时代 单机
数据库 但 就是 大概 你 说 stonebreaker20 年 有 一些 就是 传统 的 数据库 大厂 会 推出 一些 这样 的 流 数据库 产品 那 他们 有没有 什么 著名
的 系统 吗 那个 时候 肯定 是 很多 时候 都 是 学术 圈先 有 吧 然后 我们 可以 看到 像 在 学术 圈 当中 像 stanford 斯坦福大学 它 有 一个 系统 叫 stream 是 吧 就是 流 对流 然后 但是 它 那个 解释 应该 是 叫 Stanford 什么 什么 东西 这个 我 也 不 太 清楚
这个 具体 是 个 缩写 对 它
是 一个 缩写 然后 这个 缩写 就
叫 stream 它 是 一个 流 数据库 吗 就是 一个 单机 的 流 数据库
对 我 觉得 是 可以 这么 认为
的 那 它 的 里程碑 意义 是 在 哪 呢?
我 不 觉得 像 Stream 称为 叫 里程碑 了, 我 应该 是 说 那个 时代 的 数据库 都 应该 称之为 里程碑, 怎么 说 呢? 因为 我 如果 把 斯坦福 的 这些 东西 说成 里程碑 的话, 那个 MIT 肯定 不干 了 嘛, 因为 MIT 以及 像 布朗 尔 大学 啊, 这些 学校, 他们 也 有 一个 联合 的 项目 叫 Aurora, 还有 叫 Boris, 看來 是 每家 都 有 里程碑 對 他 其實 是 那個 時代學術 圈 一個 很大 特點 就是
百花 齊放 是 吧 百家 爭鳴 那 他們 那 時候 的 這個 大概 接口 是 是 什麼 樣子 的 呢 哎
这就是说 到 了 我们 这个 跟 工业界 怎么 结合 了 就是 那个 时候 大家 还是 想 的 那 既然 是 我们 有 单机 数据库 那么 我们 就是 用 单机 数据库 的 接口 就是 SQLSQL 这个
语言 就 SQL 比如说 我们 平时 怎么 写 呃 我们 这些 求和 啊 我们 的 平均数 所有 的 分数 平均数 又 回到 我们 的 成绩单 了 每个 学生 的 总分 这个 sum 这个 加 一下 是 吧 我们 就是 大概 这个 SQL 语言 就是 这样 写 的 所以 他们 的 那些 流 数据库 也 是 同样 的 方法 写 就是说 我算 一下 每个 学生 的 总分 只不过 数据 过 了 以后 的 结果 不 一样 是 大概
这个 意思 嗯 我 觉得 很大 程度 上 是 类似 的 当然 了 像 流 数据库 呢 他们 因为 是 表达能力 的 原因 他们 会 发明 一些 特有 的 像 流 数据库 特有 的 一些 语言 或者说 流 数据库 特有 一些 算子 比如说 像 这种 windowfunctionOK, 窗口 函数。
窗口 函数, 这 窗口 什么 意思?
窗口 函数 它 的 意思 就 在 于是 说, 我 做 数据 计算 的 时候, 如果 是 我 把 整个 历史记录 都 拿 出来 算 一遍, 那么 这个 时代 太大 了, 我 这个 历史 算 不 完。 可能 效率 也 非常低 而且 我 可能 也 不 太 关注 于 非常 非常 老 的 数据 那么 窗口 函数 它 的 意思 就是说 OK 那 我 现在 只要 关注 在 这个 窗口 内 的 数据 那 什么 是 窗口 呢 也就是说 一个 所谓 的 timewindow 一个 时间段 比如说 过去 10 分钟 它 就是 一个 窗口 那 窗口 有 多 大 呢 也 就是 10 分钟 那 我 就是 计算 在 这个 10 分钟 过去 的 10 分钟 之内 这个 计算结果 是 怎么样 的
说 这件 事情 意思 就是说 你 过去 表单 就是说 我们 还 用 广告 做 例子 就是 你 是 说 北京 有 多少 北京 人点 了 广告 我 过去 比如说 一天 是 多少 那 窗口 就是说 我们 不是 每天 统计 一次 我们 说 我们 要 我们 可以 看到 过去 每 一分钟 北京 人点 多少 次 广告 大家 还会 有 一个 历史 的 一个 统计数据 啊 一个 一个 类似 于 这个 画出 一条线 来 每分钟 这个 一分钟 就 有 窗口 就是 一个 窗口 是 的 是
的 因为 毕竟 如果 我们 去 做 一个 广告 推荐 这种 系统 的话 我们 去 拿 一个 比如说 一周 之前 的 数据 可能 也 没有 太 多用 了 作为 用户 来说 的话 我 可能 更加 关注 的 是 说 我 投放 出 这个 广告 之后 过去 一分钟 之内 我 这个 广告 效果 怎么样 如果 有 什么 问题 的话 我 就 可以 及时 去 更正 这个 窗口 函数 就是 这么 用 的 就是说 我 去 拿到 最近 这些 固定 时间段 的 一些 数据 结果 所以
说 他 就是 在 传统 的 数据库 查询语言 SQL 的 基础 上 再加 了 一个 跟 这个 时间 有关 的 是 吧 有 一个 时效性 的 一个 一些 功能 大概 就是 那个 时代 早期 的 这些 学术界 的 这些 几个 历程 碑 的 这个 系统 大概 使用 这个 接口
是 吧 嗯 是 的 是 的 是 的 回到 刚刚 这个 问题 了 就是 工业界 是 怎么样 的 吗 那么 工业界 其实 他们 也 是 按照 这个 思路 来 做 的 毕竟 那个 时候 我们 看到 的 系统 就是 所说 的 三 大厂 OracleIBMMicrosoft 是 吧 微软 是 吧 IBM 他们 都 是 有 自己 的 数据库 那么 都 已经 有 自己 的 干净 数据库 了 那 他们 肯定 不 可能 是 推翻 重 来 可以 从头 写 一个 流 数据库 是 吧 他们 就是 在 想 OK 我 肯定 可以 给 我 现有 的 数据库 加上 一些 流 处理 的 功能 那么 他们 做 出来 什么 东西 呢 在 Oracle 当中 的话 Oracle 就 做 了 一个 东西 叫 OracleSQL 大家 注意 一下 就是说 这个 SQL 它 不是 SQL 它 是 CQL 也 就是 英文 当中 continuousquerylanguage 它 这个 读音 还是 挺 一样 的, 但是 写法 不 一样, 它 是 CQL 像 IBM 的话, 它 做 了 一个 系统 叫 IBMSystemS 然后 像 MicrosoftSQLServer 的话 他们 也 做 了 一个 东西 叫 MicrosoftSQLServerStreamInsight 也 就是 流 的 insight 是 吧 就 叫 streaminsight 所以 他们 就 做 了 这些 系统 也就是说 他们 给 之前 自己 的 这些 单机 数据库 或者说 自己 之前 的 这些 数据库系统 加上 了 流
处理 的 能力 听 上去 非常 的
混 啊 对 这个 可能 是 挺 混 的 但是 但是 他们 就 觉得 我 不 可能 是 重新 写 一套 系统 那么 作为 为了 处理 这个 流 数据 的话 那 我 只要 给 这个 数据库 加上 一些 流 处理 的 功能 就 可以 了 这 就是 当时 的 这个 时代 的 一些 他们 做 的
事情 听 上去 是 一个 并 没有 改变 世界 的 一个 事情 啊 那 就是 第一阶段 有点 认为 这种 就是 原始时代, 恐龙 时代 了 那 我们 是不是 要 进入 第二 时代 了 改变 世界 的 时代 要来 了 是 吧 在 这个
流 数据库 或者说 流 数据 这个 领域 改变 这个 领域 主要 是 两个 原因 吧 第一个 原因 是 感谢 Google 发了 一篇 paper 叫 MapReduce 又 要 callback
了 吗 对 对 对 我们 吐槽 过 一次 啊 简单 的 回顾 一下 MapReduceMapReduce 就是说 在 大 数据 时代 如何 处理 太量 的 数据 Google 呢 就 出 了 一个 非常 糙 的 一个 计算 的 一个 框架 对 吧 大概 就是说 它 可以 让 你 你 可以 写 一些 程序 它 给 你 这个 大批量 分布式 的 并行计算 出 你 的 结果 不管 做 的 有 多糙 多 低效 但是 你 基本上 什么 事 都 能 做 大概 就是 这么 一件 事是 吧 就是 MapReduce 首先 我 也 是
感谢 像 Google 提供 的 这些 写 了 一篇 paper 叫 Biproduce 然后 告诉 我们 这个 东西 怎么 在 一个 大规模 数据 上 做 分析 第二个 我 觉得 就是说 这种 物 联网 SocialMedia 社交 网络 的 兴起 那 这 就 提到 像 FacebookTwitter 这些 厂商 的 兴起 那么 Twitter 很 显然 就是 一个 大规模 利用 流 计算能力 的 一个 厂商 推特 这 公司 它 就是 大家 都 可以 在 推特 上面 发推文 嘛 是 吧 那么 发推文 的话 那 很 显然 这些 推文 它 就是 一个 流 数据 吧 那么 那 时候 大家 就 在 想 我 怎么 在 这个 推文 上面 比如说 做 一些 数据分析 啊 或者 是 说 OK 广告 这些 点击 我要 去 收费 嘛 这些 也 是 可以 去 做 的 那么 当时 这个 大刀 大 数据 的 时代 MapReduce 它 其实 是 推广 这个 大 数据 时代 这个 进程 吧 那 时候 很多 公司 都 在 想 OK 那么 Google 能 去 搞 这个 大 数据 那 我们 自己 也 可以 搞 大 数据 搞 这个 MapReduce 比如说 大家 就 出现 了 Hadoop 这样 的 一个 系统 那么 Hadoop 这样 的 一个 系统 其实 间接 的 我 觉得 是 影响 了 流 处理 系统 这个 领域 的 进程 的 那 为什么 这么 说 呢 因为 当时 就 出现 了 一个 非常 里程碑 的 一个 流 处理 平台 叫 Storm 分报 就是 这个 叫 Storm 这个 系统 呢 我 觉得 可能 也 不 应该 称之为 叫 Twitter 发明 的 这个 系统 因为 写 Storm 的 这个 哥们 的话 他 其实 是 应该 是 写 了 这个 系统 之后 才 加入 了 Twitter 所以 不 应该 是 说 这个 Twitter 写 了 这个 系统 而是 或者说 Twitter 发明 了 Storm 这个 系统 是 吧 但是 呢 的确 Storm 这个 系统 当时 是 非常 非常 流行 的 一个 流 处理 平台 我 当时 那 时候 做流 处理 的 时候 大家 都 是 用 的 这种 Storm 来 去 搭 系统 的 可以 搭 这种 流 处理 的 这种 平台 或者说 流 处理 的 这些
应用 的 那 他们 的 接口 是
大概 是 对 他 这个 接口 就 非常 受 ManfredLewis 的 影响 了 因为 呃, 对, 大家 可能 听众 我 也 不 知道 听众 知不知道 了, 但是 像 mapReduce 来讲 的话, 那么 大家 都 会 需要 去 写 所谓 的 叫 mapfunction 或者 叫 reducefunction 写 类似 于 什么
for 是 吧, 对 写 非常 if 啊, 加加减减 啊, 就是 写 的 就是 一个 传统 的, 大家 认为 写 的 程序 是 吧, 就是 程序 C语言 是 吧, 是 python, 厉害 的 那些 语言 是 吧, 就是 你 就 写 到 上面, 然后 他 再 给 你 运行 的 吧 那 这个 storm, 这个 风暴 也 是 一样 的 吗?
我 觉得 非常 类似, 因为 它 跟 MapReduce 这样 的 系统 非常 一样 的 特点 就 在 于是 说 它 给 用户 暴露出 了 非常 非常 多 的 操作 底层 的 能力, 也就是说 我 不再 提供 给 用户 这种 SQL 这种 比较 高阶 的, 或者说 面向 于 广大 人民 群众 的 这些 语言, 它 不再 提供 给 这种 广大 人民 群众 这样 的 一个, 相对来说 比较简单 抽象 的 一个 接口 了。
不用 写 for, 不用 写 if。
因为 它 暴露 出来 的 像 Storm 这种 这 暴露 出来 就是 非常 底层 的 这些 接口 了 那么 你 要 去 写 这个 Storm 的话 那 你 就 必须 去 是 一个 程序员 你 必须 是 一个 工程师 用 Java 然后 呢 去 写 一些 东西 那么 其实 像 Storm 我 不得不 提 一点 就是 当时 还 不 适用 的 这种 Java 这些 大家 耳熟能详 的 编程语言 了 它 用 的 语言 叫 closure 这个 closure 也 是 挺 莫名其妙 的 一个 语言 就是 非常 非常 小众 的 一个 语言 它 是 一个 非常 非常 小众 的 编程语言 但是 呢 STORM 就是 基于 它 来 写 的 所以 其实 要 去 用 这个 STORM 这个 系统 的话 大家 还是 要 有 非常 非常 深厚 的 编程 功底 的 哦, 学 一门 语言,
对 对 了, 有两下子, 科班出身 这种 感觉
啊 啊, 对, 当然 了, 后来 的话, Storm 也 发现 这 问题 啊, 写 closure 的 人 实在 太少 了 那 所以 他 其实 还是 提供 了, 后来 也 提供 了 一些 像 Java 这些 接口 以及 啊, 再 最近 的话, 我 可能 也 不 太 清楚 了, 反正 就是 给 大家 更好 用 了 里程碑
的 数件 STORM, 非常 非常 难用 的, 需要 有 编程 的 功底 的 人才 能用 的。 后来 又 发生 了 什么 事? 这 大概 是 哪 年 的 事?
STORM 的话, 我 也 可能 也 不 太 清楚 它 是 哪一年 了, 但 可能 估计 在 不止 10 年 了, 可能 是 在 08 那 几年。
我来 Google 一下 第一个 版本 是 0.5
是 201 年 9 月 所以 就 Storm 它 就是 一个 大 数据 时代 那个 时候 非常 非常 流行 的 一个 流 数据系统 了 在 这个 Storm 之后 的话 下 一个 非常 非常 流行 的 系统 就是 叫 Flink 了 Flink 也
是 一个 在 中国 非常 非常 流行 是 的, 是 的, 这 公司 是 被 阿里巴巴 买 了 是不是? 对,
是 被 阿里巴巴 买 的, 我 觉得 可能 也 是 这个 原因 是 在 中国 非常 非常 火 了, 因为 最早 这个 Flink 的 系统 它 其实 就是 一个 学校 的 项目, 这个 项目 叫 Stratosphere, 平流层 好像 是 这样 的。 你们
这个 领域 都 是 非常 的 那 什么, 有风 啊, 雨 啊, 感觉 跟 气象 很 有 关系, 对 啊, 流水 啊, 平流层 啊, 平流层, 对, 这个 这个
平流层 这个 系统 或者 叫 Stratosphere 这个 系统 呢, 就是 当时 就 有 几个 学生 啊, 在 TUBerlin, 也 就是 啊, 这个 叫 柏林 工业 大学, 那个 数据库 组 他们 几个 学生 一起 写 了 一个 系统, 然后 之后 到 了 2014 年 的 时候 他 就是 改了 名字 改名 称 叫 ApacheFlink 是 改名 称 Flink 然后 捐赠 给 了 Apache 基金会 所以 的话 他 现在 就 叫 ApacheFlink 然后 我 记得 这 公司 是 到 17 年 还是 18 年 的 时候 可能 是 17 年 的 时候 就 被 阿里巴巴 买 了 当时 那个 价格 还 挺 低 的 当时 那个 只花 了 90 万 欧元 所以 是 一个 非常 非常低 的 价格 我 觉得 这个 也 是 阿里巴巴 挖到 了 很大 一笔
所以 他 的 特点 是 什么 呢? 他 和 Storm 这个 区别 在 哪 呢? 他 的
很大 一个 特点 在 于是 说 他 就 觉得 Storm 特别 难 用。 要学 新 的 语言。 对, 我 其实 跟 这个 Flink 稍微 有 一点点 渊源, 还是 挺 有 关系 的, 因为 我 其实 也 是 这个 Flink 非常 非常 早期 的 一个 所谓 contributor, 贡献者。 哎 呦,
开发者, 哎呀呀 呀, 有点 内幕消息 的 啊。 对, 那
时候 还 不 叫 flink, 那 时候 叫 stratosphere, 还 没有 改名 成 flink 呢, 然后 我 就 在 那个 时候 呢, 呃 在 网上 看到 一个 项目, 哎, 我 觉得 这个 项目 特别 特别 有意思, 那么 它 是 流鼠 尾 系统, 那么 它 有意思 的 点 在 什么 地方 呢? 因为 我 当时 实在 受够了 这个 storm 了, 我 当时 在读 PhD, 然后 呢, 我 觉得 这个 storm 实在 太难用 了, 我 这个 使得 我 这个 phppaper 这个 产出 非常 非常低, 那 我 就 在 想 啊, 是 有没有 什么 办法 去 是 吧, 能够 提高 一下 我 这个 产出, 多发 点 paper, 早点 毕业 是 吧, 然后 那 时候 我 就 在 网上 看到 这个 项目 叫 stratosphere 这 项目 他 就是 我 还 很 清楚 记得 当时 最 吸引 我 一点 就是说 他 就 贴 了 三行 代码 三个 命令 了 他 不是 三行 代码 三行 命令 然后 他 就 说 你 只要 贴 了 这 三行 命令 在 你 的 那个 share 上面 你 就 可以 去 做 一个 最 简单 的 一个 流 处理 了 我 当时 就 觉得 这个 东西 很 有意思 因为 简单 吗 对 非常简单
就要 三行 相当 有意思 对 这 我
就 觉得 非常 非常 惊艳 啊 三行 代码 就 可以 去 做 这个 刘 厨艺 了 是 吧 明年 就 毕业
了 不用 学新 的 语言 啊, 哎,
他 当时 就是说 学 java 吧, 大家 吧, 其实 大家 如果 科班出身 的话, 大学 当中 一般 都 学过 吧, 或者 其实 或多或少 都 应该 知道 怎么 写 吧, 那 肯定 要 比 你 去 搞 一个 closure 这个 语言, 这个 这么 这么 小, 这种 语言 的 要 舒服 多
了, 学 了 没 啥 用, 是
吧, 学 了 没 啥 用, 也 找 不到 工作, 是 吧, 那么 我 肯定 就是 去 投靠 flink 了, 对, 当时 就是 javascript 了。 然后 当时 的话 因为 他们 的 项目 非常 非常 小 当时 我 记得 我 去 的 时候 可能 才 十个 人 可能 都 不到 我 已经 忘 了 有 多少 人 了 但是 非常 非常 小 的 一个 团队 然后 当时 我 就 记得 我们 在 讨论 是 说 我们 做 一个 系统 就是 要 一个 很 简单 的 然后 好用 的 系统 那 什么 叫 简单 好用 呢? 它 不仅仅 应该 说 是 贴 三行 代码 这么 简单 而且 更 重要 的 是 说 OK 我 这个 计算 它 还要 能够 去 简单 的 处理 复杂 的 计算 那 什么 意思 呢? 因为 对于 流 处理 来说 它 很 重要 一点 就 在 于是 说 我 做流 处理 的 时候 它会 需要 去 管理 这些 状态 所谓 的 状态 就是 计算 的 状态 也 就是 计算 中间 结果 我 去 做 一个 我 刚刚 说 的 这种 广告 计算 吧 然后 我 去 看 一下 纽约 有 多少 点击 是 吧 我 这时候 那么 或者说 旧金山 有 多少 点击 那么 点击 量 那么 在 我 这个 计算 平台 当中 表示 出来 是 什么 东西 呢 它 是 一个 counter 它 是 一个 计数器 那 我 就 去 必须 把 这个 计数器 存在 哪个 地方 是 吧 因为 我 这个 计数器 它 如果 一 丢 的话 那 我 这个 计算 不得 重新 来 吗 所以 他 非常 流 处理 当中 非常 重要 一点 就是 他 要 去 管理 这些 技术 器 或者说 管理 这些 所谓 的 计算 的 中间状态 或者 叫 中间 结果 那么 这时候 那么 Flink 他 这个 当时 我们 就 在 想 我们 一定 要 做 一个 非常简单 的 能够 支持 这种 状态 管理 的 一个 流 处理 引擎 所以 这时候 的话 我们 就 有 这个 Flink 这样 的 一个 故事 了 后来 他 把 这个 东西 做 得 非常 好 然后 还 卖 给 阿里巴巴 然后 现在 也 是 发展 成 一个 火遍 大江南北 不仅仅 是 在 中国 了 在 美国 在 欧洲 都 非常 火
的 一个 项目 稍微 的 理解 一下, 就是 Storm 这个 项目 里面 实际上 就是 给 你 一个 好 计算 的 这么 一个 任务, 信息流 进来, 你 这堆 代码 就 处理, 处理 完 了, 你 再 信息流 出去, 你 爱 怎么 流 怎么 流, 对 吧? 比如说 你 要 做 一个 加法, 那 你 加到 几 了, 这个 数 你 自己 管, 对 吧? 比如说 你 一个 流 处理 就是 简单 的 加 和, 对 吧? 把 这个 数都加 起来, 但是 你 加到 一半 的 时候, 你 得 存 一下 这个 数, 要不然 你 这个 需要 重做 怎么办 呢 要 坏 了 怎么办 呢 是 吧 数得 自己 存是 吧 你们 搞 一个 不管 搞 一个 数据库 啊 还是 本地 文件 呀 怎么样 你 自己 处理 这个 数据 但是 呢 flink 就是 它 有 专门 的 一个 功能 就 替 你 处理 这 有点 数据库 那个 意思 就是 它 有 一个 小 数据库 在 里面 你 可以 把 它 因为 它 的 接口 是 这个 加和存 进去, 然后 它 替
你 管。 对, 也就是说 Storm 这 东西 啊, 风暴 这 东西 啊, 太 粗暴 了。 它 就是 给 你 提供 了 一个 编程 框架, 然后 呢 你 去 写 代码, 中间 计算结果 你 得 自己 管 起来, 不然的话 你 这个 丢掉 了, 那 就 得 重 算了。 而 Flink 来说 的 一点 是 在 于是 说 OK, 我 不仅 给 你 这个 中 提供 这个 编程 框架, 我 连 这些 像 什么 这些 中间 结果 啊, 这些 东西 都 帮 你 管 起来 了。 那么 你 也 不用 再 去 关心 OK 我 这个 计算机 会 不会错 之类 的 是 吧 因为 我 这些 东西 都 已经 帮 你 用 框架 形式 已经 提供 给 你 这些 能力 了 所以 这样的话 用户 可以 更加 专注 于 在于 写 它 的 一个 应用 的 逻辑 上面 了 而 不再 去 关心 这个 底层 该 怎么 去 搞
了 就是说 Storm 还要 你 还要 管 这个 东西 挂 了 怎么办 是 吧 这个 机器 挂 了 你 还要 重新 算 这 重新 你 怎么 你 丢 了 多少 你 要 重新 算 这个 这个 这种 这种 意思 是 吧 嗯 对 Flink 就 不用 管 你 就 只用 想 你 就 只要 写 一个 说 我 这个 数据流 进来 我 怎么 搞 怎么 流出去 然后 怎么 存 中间 结果 然后 他 怎么 挂 了 就是 Flink 替 你 管挂 了 你 把 你 的 代码 重新 转 一遍 就是 其实 不 可能 有 问题 大家 这个 这个 厉害 了 很多, 这个 就是说 我 根本 就 不用 考虑 这些 东西 会出 故障, 就是 系统 替 我 管 了。
是 的 是 的, 也 就是 你 有 一个 更加 好 的 或者说 更加 可以 依赖 的 一个 底层 系统
了。 那 除了 就是说 管理 这个 状态, 管理 这些 机器 挂 了 怎么办 以外, 那 这个 这个 大 数据 时代 还有 一些 什么 其他 的 一些 创新 呢? 或者 还有 一些 什么
其他 的 一些 东西 呢? 时代 还有 一个 挺 有意思 的 东西 啊 这个 东西 叫 中文 里面 叫流 p 一体 流 p 一体 这个 词 我 觉得 不是 特别 好 找到 一个 英文 的 对应 啊 叫 streamgashunified 这个 这个 挺怪 的 但是 就是
我们 数据仓库 和 我们 流 数据 就是 一个 系统 做 完 了 有点 这个 感觉 了 哇 这 厉害 了 哇 onesizefitsall
它 就是说 我 一个 系统 它 既 可以 做流 计算 又 可以 做 P 处理 那么 这个 东西 在 Flink 里面 Flink 的 想法 就是 在 于是 我 既然 是 数据流 那么 数据流 的话 但是 我流 了 一定 多 的 时候 它 就 变成 一批 数据 了 我 就 可以 用流 处理 的 方式 来 去 处理 P 数据 这个 它 就是 Flinger 的 一个 设计 逻辑 了 那么 另外 一种 设计 逻辑 是 什么 呢 另外 一种 设计 逻辑 呢 这个 东西 就要 扯 到 了 Databricks 上面 了 是 吧 专开 公司 Databricks 它 在 搞 什么 它 搞 一个 最 有名 的 就是 Spark 是 吧 那么 当时 他们 又 写 了 一篇 paper 叫 SparkStreaming 我用 Spark 这 东西 去 做 streamprocessing 我用 Spark 这 东西 去 做流 处理 那 他 怎么 做 呢 他们 的 想法 是 说 OK 他 同样 是 觉得 OK 流嘛 它 就是 很多很多 小 的 p 非常 非常 多 的 minibatch 然后 mini 就是 小嘛 batch 是 p 嘛 非常 非常 多 的 小 p 那 我 就 可以 把 这个 流 计算 抽象 成 一个 一个 非常 小 的 一个 P 计算 然后 用 P 计算 的 方式 来 处理 流 数据 这边 可能 说 的 比较 绕 了 但是 我 还 总结 一下 的话 他 就是 Flink 他 的 设计 逻辑 就是说 我用 流 计算 的 处理 方式 来 处理 P 数据 而 Spark 他 的 想法 就是说 我用 P 计算 的 处理 方式 来 处理 流 数据 玻璃
二 向性 了 有 可能 对, 它
两者 呢 都 是 想 做 去 做 这个 所谓 的 流批 议题 也 就是 把 这个 流 处理 以 批处理 去 统一 结合 在 一起 批 就是说
回到 刚才 上 说 的 例子 就是 我们 过去 说 那种 就是 大 数据处理 就是 我们 运行 一个 很大 的 一个 查询 很 长时间 把 东西 都 给 查询 完 了 那 流批 议题 就是说 既然 这个 数据 是 流进来 的 那 我们 这个 大 查询 也 可以 用流 的 方法 把 它 刘 的 接口, 刘 的 查询方法 把 它 查出来, 而 另外 一些 人 说, 我们 只要 把 这个 查询 可以 把 它 砍 得 越来越 小, 越来越 小, 不 就 变成 刘了 吗? 这个 感觉 是 吧? 我们 还是 做 这些 查询。 但 只不过 我们 把 这个 查询 可以 想 办法 做 的 非常 小, 然后 我们 不停 做, 不停 做, 不停 做, 就 变成流了, 对 吧? 大家 就是说 天下 大势 分 就 必合, 合 就 必分, 是 吧? 现在 我们 到 了 合 的 状态, 有 那么 一些 人 认为 他们 可以 合在一起, 是 吧? 成功 了 吗 我
觉得 现在 也 是 也 没有 所谓 成功 不 成功 吧 因为 毕竟 都 是 啊 两套 体系 所以 的话 看看 大家 更加 想想 用 哪种 啊 因为 比如说 像 flink 的 支持者 的话 他们 都 会 觉得 是 说 ok 我 主要 是 在 做 流出 力 那么 我 这个 批出 也 能力 的话 我 也 不 需要 太强 是 吧 因为 flink 能够 给 我 特点 就是 ok 我 能够 去 有 一个 超低 的 延时 但是 他们 就 会 去 喷 OK 你 这个 SparkStreaming 就 做不了 一个 低 延迟 因为 其实 你 还是 用 这种 所谓 的 VP 的 mini batch 的 这种 思路 来 去 做 的 那么 延迟 还是 要 比 Flink 高 那么 对于 这些 Flink 者 来说 他们 肯定 是 不能 接受 SparkStreaming 这种 做法 的 那么 对于 Spark 这些 用户 来说 的话 他们 都 觉得 我 反正 主要 大多数 是 在 做 P 处理 那么 流 处理 这个 系统 呢, 这个 延迟 高 一点 就 高 一点 吧, 我 也 不在乎 反正 我用 一套 系统 来 去 做 两件 事情, 我 也 做 的 还 算 舒服, 我 也 不再 去 关注 ok, 我 怎么 再 去 要 有 更 低 的 延迟 了, 那 可能 我 也 对 自己 也 对 这种 延迟 也 不 敏感, 所以 就 很难说 是 谁 来 成功 啊, 但是 可能 都 成功 了 吧, 你 毕竟 都 成为 两大
的 学派 了 是 吧。 我们 第一阶段 说 到 那个 阶段, 从 这个 学术界 和 工业界 都 喜欢 用 SQL 这个 语言, 这种 传统 的 数据库 查询语言 的 一些 遍体, 那 是不是 SQL 现在 就 已经 抛弃 了? 我
觉得 这个 SQL 大家 是 抛弃 了 一段时间, 我 觉得 应该 是 被 工程师 抛弃 了 一段时间。 但是 后来 啊, 怎么 说 呢? 这个 大家 还是 发现 还是 c 哥好 用, 那 为什么 这么 说 呢? 又 回来 了 吗? 对, 他 就是 因为 大家 都 还是 觉得 啊, 我 这个 学习 门槛 实在 太高 了。 这 大家 都 可以 想 嘛 我 要 去 用 一个 flink 嘛 那 flink 它 是 用 java 写 的 那 我 要 去 用 这个 系统 那 当时 我 就 必须 去学 什么 是 java 是 吧 这个 那 你 要 去 懂 java 那 你 至少 是 个 工程师 吧 是 吧 如果 你 不是 工程师 的话 那 可能 就 花 很多 时间 去学 java 了 那 我 不仅 要 学会 java 怎么 写 我 还要 再 去 考虑 就是说 我 这个 怎么 去 用 这个 flink 的 API 因为 它 自己 有 一套 自己 的 API 它 又 不是 一套 通用 的 API 它 是 flink 自己 的 API 那 我 这个 东西 就 麻烦 了 我 这个 东西 学习 门槛 实在 太高 我 要 去 用 一个 flink 的话 我 肯定 一周 肯定 是 止不住 了 那么 我 还 没有 是 说 是 这个 运维 这个 成本 呢, 那个 运维 的话, 那 我 也 要 一堆 工程师 来 去 运维, 因为 反正 这么 这么 难 用 一个 这种, 他 又 不是 卖 SICO, 对 啊, 对 啊, 他 这个 就 难 了。 那 所以 大家 肯定 在 想 的 一件 事情 是 说, 我 怎么 去 更加 简化 这个 使用 吗? 降低 我 这个 使用 门槛。 那 所以 后来 就 开始, 大家 又 又 开始 搞起 了 SICO, 我 觉得 这个 称之为 叫 SICO 的 复兴 了, 对。 这
还是 简单 的 好 对 还是 简单 的 好 所以
说 现在 所有 的 主要 系统 都 开始 回到 SQL 的 这么 一个 这个
语言 了 是 吗 对 我 觉得 他们 就是 有 非常 大 一个 趋势 就是 回到 SQL 它 是 一个 非常 大 的 趋势 我 不敢 说 他们 就 完全 抛弃 了 之前 这套 逻辑 或者说 这些 借口 因为 相信 那些 借口 他们 也 有 自己 的 好处 他们 的 表达能力 更强 但是 我们 如果 想用 让 更 多 的 用户 来 去 接受 流 处理 这个 概念 的话 那 我们 还是 说 更加 希望 是 用 大家 都 能够 接受 的 一种 比较简单 的 借口 来 去 做 这个 事情 会 相当于 比较 好 所以 SQL 也 是 在 复兴 过程 当中 啊 对 我 刚刚 这边 想 说 是 说 其实 我们 可以 再 考虑一下 这个 流 处理 这个 我们 看到 了 可以 是从 这个 SQL 最早 第一阶段 是 SQL 嘛 然后 第二阶段 我 说 OK 那大 数据 大家 都 开始 报 的 成 底层 接口 了 那么 其实 我们 在 那个 批处理 那个 领域 其实 我们 也 看 同样 事情 啊 我们 最早 是 吧 大家 都 是 使用 什么 Greenblum 啊 Teradata 是 吧 那些 系统 啊 那些 所谓 的 数据仓库 啊 提供 给 用户 SQL 这种 接口 了 然后 后来 大家 开始 用 Hadoop 是 吧 开源 版 的 MapReduce 是 吧 Hadoop 然后 Hadoop 的 商业 公司 Impala 那些 都 是 提供 给 用户 一些 相对来说 底层 的 接口 然后 到 这个 年代 的话 我们 又 开始 看起来 像 这种 最近 很火 的 这种 Snowflake 这种 云上 的 树仓 他们 又 开始 提供 他们 就 不 提供 底层 接口 了 他们 就 觉得 给 用户 用 SQL 挺 好 的 挺好用 的 我 为什么 要 去 给 用户 增加 一些 烦恼 呢 是 吧 所以 的话 这 就是 我们 看到 这个 C core 复兴 它 不仅仅 是 在 这个 流 处理 这个 领域 它 复兴 了 这个 在 至少 数据仓库 这些 领域
它 也 复兴 了 建议 我们 听众 可以 再 去 听 我们 数据仓库 那集 我们 也 聊 了 这个 C core 的 问题 我们 这边 说完 了 第二个 阶段 就是 我们 的 这个 现在 基本上 是 我们 现在 主流 的 一个 就是 大 数据 阶段 我们 的 这个 吴 英俊 说 的 大 数据 阶段 我们 现在 要 进入 未来 了 就是 我们 的 SingularityData 等 公司 的 阶段 这是 一个 什么样 的 未来 呢 那 我们
就 说 这个 第三个 阶段 首先 我 必须 说 一下 这个 第三阶段 它 又 是 一个 百花 齐欢 的 因为 其实 第三阶段 我 自己 把 这个 阶段 称之为 云 时代 了 就 cloud 云 的
意思 就是 数据 都 在 天上 都 在 天上 就是 东西 你 不管 是 有人 给 你 管 比如说 什么 百度 云 阿里 云给 你 管 计算 给 你 管 存储 给 你 管运维 所有 东西 都 有 专门 的 云厂 给 你 管 了 你 就 做 你 的 事 就行了 那个 叫云 对 吧 那 这个 云 对于 数据库 来讲 这个 云流 数据库 又 是 什么 意思 呢
我们 做 这个 流 数据库 来讲 这个 云 时代 它 有 好几个 特点 了 我 觉得 真的 是 百花齐放 百家争鸣 它 有 好几个 特点 第一个 特点 就是说 云嘛, 大家 都 能 用, 像 刚刚 说 的 这种 百度网 盘 啊, 什么 阿里 云 啊, 或者说 像 国外 的 dropbox 是 吧, 或者说 像 AWS 是 吧, 这个 亚马逊 云 科技 是 吧, 这些 都 是 云, 它 非常 重要 一点 就是 在 于是 说, 它 给 所有人 都 能 用 那 所以 的话 那 什么 叫 给 所有人 都 能 用 呢 那 就是 给 大家 提供 更 多 的 一个 更加 普惠 的 接口 比如说 Python 是 吧 Python 它 就是 新起 的 嘛 然后 另外 一个 特点 就 在 于是 说云 这个 时代 便宜 我们 之前 刚刚 说 了 买买 这个 网盘 是 吧 网盘 其实 挺 便宜 的 它 比 你 自己 去 买 一个 固态 硬盘 要 便宜 多 了 因为 你 这 固态 运盘 说不定 还会坏 是 吧 你 放在 网盘 上面 的话 它 自动 帮 你 做 了 好多个 备份 它 反正 也 不会 去 丢 那 所以 去 综合 一下 成本 的话 它 肯定 会要 比 自己 去 买 一个 盘要 低 很多 了 那 所以 这个 说 回来 这个 那么 在 这个 云 时代 对于 流 处理 这件 事情 它 有 什么 意义 呢 那么 它 的 意义 就 在 于是 说 对于 我们 来说 我们 会 发现 我们 可以 通过 这个 云天 上 的 这个 云 或者说 这个 AWS 亚马逊 云 科技 或者说 像 Google 的 CloudGoogle 云 这些 它们 提供 的 一些 能力 来 去 专门 的 特化 设计 这个 流 数据库 那么 它 怎么 去 特化 设计 呢? 那 就 这 就 牵扯 到 这个 云 它 有 什么 特点 了 云 这个 特点 就 在 于是 说 它 这个 数据 首先 第一点, 资源 它 可以 认为 是 无限 的 我 这个 在 亚马逊 语音 上面 我 根本 不 知道 这个 亚马逊 能 有 多少 能 用 多少 机器 是 吧 我 只要 是 付钱 我 这个 资源 就是
无限 的 只要 你 花 得 起
钱 就 有 对 他 只要 是 花 得 起 钱 就 可以 买 然后 另外 一点 是 在 于是 说 他 这个 叫 有 个 概念 叫 存算 分离 也就是说 这个 存储 与 计算 分离 了 那 什么 叫 存储 与 计算 分离 它 不是 说 把 这个 计算器 直接 砍成 两半 了 就是 OK 一半 是 存储 一半 是 计算 它 是 说 我 这个 资源 你 可以 单独 的 买 计算资源 也 可以 单独 的 买 存储资源 了 那 这 事情 它 就是 跟 普通 的 我们 去 买 一台 电脑 就 很 不 一样
了 如果 我们 听众 听不懂 这个 可以 去 听 我们 这个 分布式文件系统 这集 啊 我们 的 嘉宾 给 我们 解释 的 很 清楚 这个 存算 分离 是 怎么回事
啊 我 这边 的话 就是 用 另外 一种 方式 哎 就是说 ok 你 买 资源 的 时候 你 想 买 计算资源 就 买 计算资源 想 买 成熟 资源 就 买 成熟 资源 你 想 买 什么 就 买 什么 你 不再 需要 去 跟 买 一台 笔记本电脑 一样 你 还要 考虑 这台 笔记本 是 买 多 大 的 然后 你 可能 发现 存储 不够 了 那 我 又 不得不 去 买 一台 新 的 电脑 了 那么 在 云上 的话 你 只要 是 想 去 买 什么 就 买 什么 你 想 买 存储 就 买 存储 想 买 计算 就 买 计算 还有 一大 特点 就 在 于是 说 所有 的 用户 都 希望 是 这个 数据库 我 想 用 的 时候 才 付钱, 我 不用 的 时候 我 就 不 付钱
了。 数据 多 的 时候 我 就 付钱, 突然 我 没 数据 了, 我 就 不 付钱 了, 我们 考试 考完 了, 我 这个 诚意 就 不用 付钱 了。 哎 对 就是说 我
这个 呃 我 计算 的 时候 我 才 我 才 给 你 这个 钱 是 吧 我 我 作为 用户 我 才 付给 你 这个 厂商 钱 我 不用 不用 你 这 东西 的 时候 你 不 应该 来 我 收 我 钱 了 那 这个 它 就是 一个 云
的 特点 了 具体 场景 我们 回到 广告 里 就是 比如说 白天 广告投放 的 多 那 我们 就 付钱 晚上 没有 什么 人 看 广告 那 我们 就 少付 点钱 大概 这个 意思 嗯 是
的 是 的 所以 就 变成 非常 弹性 了 那么 根据 我 这个 流量 来 去 可以 控制 了 那 我 白天 的话 我 就 付 你 10 块钱 然后 晚上 的话 可以 这个 流量 实在 太少 了 我 就 付 你 个 10 块钱 那么 这样的话 就 把 综合 成本 给 降下来 了 用户 不再 需要 是 付 很多 钱 了 相比 于 之前 这些 大 数据 时代 也好 还是 说 在 所谓 这种 私有化 户数 这些 都 会 省 很多 钱以 你们
为首 的 这批 公司 充分利用 这些 云 平台 的 这些 特点 能够 给 用户 节省成本 提高 有效性 是 这 样子 能够
符合 抠门 老板 的 需求
是 啊 是 啊, 一方面 是 符合 這個 科文 老 闆 的 需求 就是 降 成本 是 吧 另外 一方面 很 重要 一點 就是 說 我們 提供 的 接口 也 更加 相比 於 大數據 時代 那個 像 剛所 說 的 Storm、 風暴 以及 Flink 這些 系統 來講 我們 也 是 提供 一個 更加 簡單 的 接口 也 就是 SQL 這樣 的 話 可以 把 這個 用戶 的 使用 門檻 也 降低 總 的 來 說 啊 就 比大數 據 時代 那個 時代 的 一些 產物 要 更好 用 更 便宜
扣门 老板 可以 付给 那个 他 找 找 那个 员工 更 低 的 工资 因为 要求 是 更 低 的 是
的 是 的 是 的 所以 从 某种程度 来讲 不 说 云 原生 啊 就 说 云厂 来说 也 是 给 用户 来说 是 有 很大 的 优势 的 因为 他 不用 自己 搭 系统对 吧 你 如果说 你 搭 一个 flink 他 需要 买 服务器 你 需要 租 服务器 你 需要 上 上 运维 作为 一个 云 系统 那 自然而然 他 就 花 了 钱 你 就 买 了 对 吧 而 你们 的 实现 又 是 云 原生 的 那么 就是 在 云 系统 里面 来 一个 非常 好 的 实现 又 便宜 又 有效 又
可靠 嗯 是 的 是 的 因为 毕竟 如果 你 要 去 自己 搭 这种 系统 的话 坦白说 你 买 机器 的 钱 也 是 小钱 了 你 买 机器 钱 可能 是 吧 两千两 三千 美金 可能 就 买 一台 不错 的 机器 一 万美金 可能 买 非常 好 机器 但是 你 要 在 硅谷 工程 区去 维护 这个 系统 的话 那么 可能 三十 万美金 二三十 万美金 总是 需要 的 吧 是 吧 所以 的话 就 这个 就 把 这个 成本 的话 就 大幅 的 降低 对人 太贵 好 我们
就 讲 到 了 这个 现在 的 未来 发展趋势 啊 大概 singularitydata 这个 什么 我们 作为 这个 节目 的 特点 的 硬核 特点 要 给 我们 稍微 观众 朋友 们 稍微 讲 一 讲 这个 技术 的 这个 挑战 在 哪 呢 听 上去 很 容易 啊 对 吧
嗯 哦 那 这边 就 讲 到 一些 稍微 比较 硬核 的 一些 技术 啊 那么 其实 我们 可以 看 一下 这个 流 数据 技术 它 其实 有 几大 特点 第一个 特点 就是说 它 要求 所谓 叫 一致性 那 什么 意思 呢 比如说 因为 我 这个 数据 它 是 流进来 的 吧 那么 我 肯定 是 希望 是 说 我 这个 数据 每个 数据 只要 数据 一 进来 它 一定 会 被 处理 而且 呢 它 只会 被 处理 一次 那 什么 意思 呢 那 比如说 像 所谓 的 这个 frauddetection 反 欺诈 这个 检测 是 吧 那么 这 事情 我们 肯定 是 希望 每 一条 数据 都 一定 会 被 处理 一次 因为 我 不 希望 是 说 漏掉 任何 一个 欺诈 信息 是 吧 而且 另外 一点 是 说 我 希望 每 一条 数据 仅 被 处理 一次 那 什么 意思 呢 那 比如说 像 这种 广告 的 场景 因为 每次 像 Google 这种 厂商 用户 点击 一次 广告 它 就 会 收费 嘛 那 我 肯定 不太 希望 是 说 可以 我 这个 用户 点 了 一次 广告 然后 Google 查询 了 我 两次 那么 这个 事情 对于 我 这个 广告投放 商 那 肯定 是 不能 接受 的 事情 所以 对于 在 流速 语 当中 它 这个 一次性 要求 又 非常 高 那么 在 一次性 的话 我们 就是说 希望 能 做到 每个 数据处理 仅备 处理 一次 英文 当中
叫 exactlyonceexactlyonce 啊 这个 听 起来 很 简单 但是 我们 做 软件 工厂 的 感觉 也 并 不是 很 容易 的 事情 啊 因为 你 要 想 机器 会 挂掉 的 好几千 机器 那 你 挂掉 了 重启 了 那 你 怎么 保证 上次 处理 到 那个 地方 你 正好 从 那 就 开始 呢 或者说 你 这个 你 有 多个 数据源 进来 它 并 没有 排序 的 那 你 挂掉 之后 怎么 能够 继续 呢 是 吧 这个 听 上去 并 不是 一件 很 简单 的 事 我 觉得 在
这点 方面 flink 它 其实 是 提供 了 最 早期 的 一些 技术支持 了 也 就是 现在 的 很多 技术 都 是 继承 也好 或者 是 说 跟 flink 类似 的 解决方案 也就是说 它会 去 在 你 这个 处理过程 当中 它 去 标记 你 这个 所谓 的 progress 那 也 就是 进度 是 吧 那 我 每 一个 突破 每 一个 或者说 每 一个 数据 进来 之后 我 就 帮 他 打 上 了 ok 我 这个 进度 已经 到 哪边 了 第一天 先 量 数据 我 就 标记 好 了 那么 第一千 零 一条 进来 的 时候 我 也 标记 的 是 OK 社交 数据 是 一千 零 一条 那么 等 这个 机器 挂 了 时候 那 我 就 会 去 记录 一下 OK 我 这个 东西 计算 到 第一 千条 时候 挂 呢 还是 说 计算 到 一千 零 一条 的 时候 挂 这样的话 我 就 可以 去 保证 一个 每个 数据 它 处理 且 仅 被 处理 一次 嘛 这个 它 是 一个 非常 重要
的 一个 技术 很 有 高科技 啊 还有 什么 主要 的 挑战 吗 就是
其实 我们 刚才 也 提到 了 就 所谓 弹性 嘛 因为 比如说 像 推特 是 吧 推特 就是 美国版 的 微博是 吧 他 这种 他 就是 有 一个 非常 大 的 特点 也就是说 这个 网站 白天 这个 流量 都 非常 高 每个 人 都 在 发 推特 是 吧 每个 人 都 在 发 推文 是 吧 那么 到 凌晨 的 时候 那 就 没人 看 了 那么 所以 这时候 的话 他 就 需要 去 我 要 有 一个 弹性 的 扩缩种 elastic 电脑
可以 用来 干 别的 是 吧 可以 算 比特 币 什么 的 这个 东西
就 变成 了 就是 早上 来 去 帮 你 算 这个 广告, 你 赚 就是 广告 赚 了 多少 钱, 广告 点击 怎么样? 那到 晚上 的 时候 我 就 开始 算 比特 币, 我 就 说 这个 挖矿, 是 吧? 这 就是 一个 非常 典型 的 一个 弹性 的, 呃 作用 啊, 是 吧? 还是 还是 那句话 就是 省钱, 是 吧? 这个 反正 我 都 买 那么 多 资源, 我要 省钱, 哎, 当然 其实 说 到 这个 买 这个 资源 啊, 其实 在 云上 这个 弹性, 它 其实 就 变成 了 是 说 他 跟 大 数据 时代 不太 一样, 因为 大 数据 时代 我们 这个 公司 内部 他 自己 有 这个 所谓 datacenter 数据中心, 那么 反正 我 都 有 这么 多台 机器 了。 那么 那个 时候 他 的 所谓 弹性 就是说, OK, 我 早上 去 做广告 计算, 晚上 我 就 挖 比特 币 是 吧? 但是 在 云 这个 时代, 这个 弹性 他 其实 不太 一样, 这个 弹性 就 变成 了 我 早上 从 亚马逊 输个 10 台 机器。 那 我 到 晚上 的 时候 我 只要 从 亚马逊 租个 10 台 机器 就 可以 了 那么 这样的话 就 我 就 把 这个 成本 就 降下来 了 嘛 因为 反正 我 也 不是 一天到晚 开 这个 机器 的 反正 是 这些 机器 都 是 amazon 的 我 只不过 就是 租 过来 机器 啊 这 就是 弹性 的 一个 特点 了 非常 的
高级 的 一个 技术 啊 能 自动 哎 没 数据 了 哎 收回 去 了 哎 有 数据 了 啊 赶紧 上来 啊 听 上去 是 很 高科技, 怎么 做 的 快, 怎么 做 的 不 影响 性能, 也 是 听 上去 很难 的。 还有 什么 核心 的 挑战
吗? 还有 这个 核心 挑战 就是, 其实 你 刚刚 也 说 了, 就是 容测 嘛, 就是 所谓 计算机 肯定 会 挂。 这个 计算机 挂, 那 我 这个 该 怎么 去 搞 呢? 是 吧? 但是 我 必须 说 的 一点 是 在于 流 处理 这个 领域 它 这个 计算器 挂法 跟 我们 在 这种 所谓 的 数据仓库 或者说 传统 数据库 当 这个 计算器 挂 了 还 不 太 一样 那 不 太 一样 点 在 什么 地方 呢 因为 我们 在 这种 去 做 一个 比如说 在 数据仓库 里 去 做 一个 计算 那 我 这个 有 一台 机器 挂 了 挂 了 就 挂 了 呗 那 反正 我 这个 东西 重算 一遍 就 可以 了 我 要 去 求 一个 现在 班上 考试成绩 最高分 是 吧 这 东西 我 反正 这时候 突然 有台 机器 挂 了 没 问题 我 把 这个 机器 重新 挤 起来 然后 呢 重新 算 一遍 就 可以 了 但是 对于 流 处理 这个 事情 它 就 不 太 一样 什么 地方 不太 一样 呢 因为 它 这个 数据 呢 它 这个 一直 是 进来 的 然后 你 这个 计算 呢 是 在 持续 的 进行 的 那 所以 我 在 假设 我 这个 数据 挂 了 我 就 不得不 去 考虑 是 说 我 在 什么 地方 挂 了 其次 我 这个 计算 的 中间 结果 是 什么 长 什么样 或者说 这个 中间 结果 是 多少 那么 我要 把 这个 中间 结果 恢复 了 出来 我 才能 从 最近 挂 的 那个 地方 开始 重算 就 假设 没有 这个 能力 的话 那 那 大家 就 惨 了 那 比如说 我 这个 计算 都 已经 是 跑 了 一天 多 了 是 吧 刘厨 也 都 已经 处于 一天 多 了 然后 我 这个 计算 突然 挂 了, 那 我 肯定 不能 重算。 你 也
回到 结算 前。 对, 那 我 就
可能 得 回到 一天 之前 了, 那 就 不能 接受 了。 所以 在 流 处于 系统 当中, 这个 容错 它 就是 特别 的 非常 重要 一点
了。 听 上去 非常 大 的 挑战, 看来 我们 的 Singularity 也 是 非常 高科技 的 公司, 也 是 前沿 的 公司, 遇到 这么 多 的 挑战 是 要 解决。 好, 我们 最后 我们 问 所有 的 嘉宾 一个 问题, 就是 如果 我们 的 听众 朋友 们 觉得 这个 领域 非常 的 有 前景, 非常 的 有 前途, 想 进入 你们 公司 或者 类似 的 公司, 那 他们 应该 做 哪些 准备 呢?
OK 想 进入 这个 行业 的话 我 觉得 我 就 说 我们 公司 不太 了解 其他 公司 但是 对于 我们 公司 来说 如果 你 想 从事 这个 数据库 内核 开发 的话 那 我 肯定 还是 建议 是 科班出身 会 相对来说 比较 有 一些 优势 学
计算机 对学 计算机 重点 学 一些 什么
东西 呢 对 还是 说 需要 去学 这种 系统 方向 的 课 了 就 比如说 像 什么 操作系统 啊 文件系统 啊 数据库系统 啊 计算机 内核 的 一些 课程, 不是 说 像 我 知道 现在 很多 人 都 在 学像 机器 学习 啊, 深度 学习 啊, 是 吧, AI 啊, 是 吧, 这些 可能 对于 我们 来说 可能 就 相对来说 比较 远 一些 了, 当然 我 也 相信 他们 在 那些 领域 的话 有 非常 多 聪明 的 人才, 然后 他们 很快 就 能够 去 学会 系统 方向 一些 课程 或者说 系统 方向 一些 知识, 那 肯定 是 没 问题 的。 那么 如果 想 去 从事 这个 数据库 内核 开发 的话 那 肯定 还是 说 不仅 在 需要 去学 这些 课程 那 我们 肯定 还是 说 希望 去 对于 这些 系统 设计 有 比较 好 的 感知 了 比如说 我 这个 数据库 怎么 跑得快 是 吧 怎么 更好 去 利用 这个 计算机 的 CPU 是 吧 这个 计算机 的 处理器 或者说 怎么 去 把 这个 数据 更好 存放 在 我 这个 磁盘 上面 或者说 存放 在 这个 云 上面 这些 文件格式 啊 这些 东西 都 是 需要 去 有 一个 比较 好 的 一个 设计
的 感知 的 接地 气 啊 当然
了 就是 我们 这个 行业 其实 毕竟 是 在 做 云 数据库 嘛 那么 其实 通常 来讲 其实 学 这个 云 的话 那么 可能 更 多 的 就是 更加 通用 的 软件工程 方面 的 一些 知识 比如说 ok 你 怎么 去 搭 这个 云 系统 这个 前端 搭 这个 云 系统 的 这些 后 端 怎么 去 利用 亚马逊 上面 的 云 上面 的 一些 资源 啊 谷 歌云上 的 一些 资源 啊 是 吧 这些 东西 也 是 需要 有 一个 比较 通用 的 计算机 的 一些 基础知识 的 对 所以 我 觉得 如果 是 要 去 用 这个 这个 行业 的话 那么 最好 是 要么 就是说 你 想 去 做 这些 底层 的 开发 或者说 数据库 内核 开发 那么 就 对 这种 系统 比较 有 感知 那么 要么 的话 就是说 做 这种 云 这样的话 相对 是 比较 通用 的 软件工程 方面 的 课 最好 上 上 或者说 就是 有 一些 软件工程 的 写 代码 的 基础 吧 是 吧 这样的话 会 是 相对 是 比较 好 当然 了 我们 公司 毕竟 作为 一个 商业 公司 肯定 还是 广泛 的 招纳 人才 的 所以 比如说 如果 你 是 做 销售 的 做 运营 的 做 媒体 的 做 艺术设计 啊 是 吧 是 吧 甚至 我们 是 做 这些 所谓 的 播客 是 吧 我们 之后 说不定 也 去 搞 这种 如果 对 做播 客有 基础 或者说 就是 特别 喜欢 听播客 的 那 说不定 也 是 可以 来 去 我们 公司 来 好 那
非常 的 感谢 我们 的 吴 英俊 来到 我们 的 节目 啊 以 一个 专家 的 视角 来 给 我们 介绍 了 我们 这个 刘 数据库 是 怎么回事 啊 深入浅出 的 介绍 了 下 啊 我们 也 祝 他们 公司 越办 越 好 啊 这个 网红 公司 越来越 成功 那 就 感谢 收听 我们 的 节目 喜欢 我们 的 节目 不要 忘记 在 各大泛 用型 播客 平台 订阅 所有 的 可以 留言 的 地方 给 我们 留言 然后 我们 也 招 志愿者 我们 的 志愿者 的 信息 会 放在 我们 的 shownote 上 可以 和 我们 联系 那 我们 就 后会有期 拜拜










