DDIA 读书逐章分享——第二章(上):数据模型与查询语言

作者: 木鸟杂记分类: 计算机技术 发布时间: 2022-02-26 15:57:32 浏览:8809 次

DDIA 读书逐章分享——第二章(上):数据模型与查询语言

x-1586:
map-reduce模型强大不是因为函数式而是因为它是流式编程模型,是因为流式编程模型能解耦代码的书写顺序和执行顺序使其能应用在分布式系统上,而函数式因为函数一等公民的关系使其更容易的应用在函数式语言上。map-reduce和函数式没有那么大的关系。

【回复】回复 @木鸟杂记 :map-reduce在1986年前就发明了,说来自于lisp不过是别人的不知道几手资料罢了[无语]在03年gugoulu的三篇论文发表以前就有不少语言用上了map-reduce。 声明式这个概念实在是太宽泛了,以至于提供不了任何信息。任何编程范式、任何语言都可以是声明式的,你甚至可以说c是一种描述带有堆栈存储结构的过程声明式语言,只不过声明的是操作内存的过程罢了。 map-reduce强大不是因为它是声明式的,而是因为它是流式的,流式编程因其执行流程和书写流程的解耦甚至可以描述无限的数据流。 无状态不等于能做分布式,有状态也可以做分布式啊,只不过要做状态同步罢了。不是因为map-reduce是函数式是无状态,所以能容易的做分布式。 如果map-reduce的一些数学性质没搞明白根本就做不好分布式加速,比如可交换。 学习这样知识比较泛华的书一定要抽出一个健壮有力的逻辑链条,不然就只能落入泛泛而谈,什么都对的情况,这种知识掌握程度对做工程决策是非常不利的。
【回复】回复 @奇葩张 :说来自于lisp,这句话是jeff在map reduce论文里写的,原文大意是:本文灵感来源于lisp等函数式编程的map和reduce原语
【回复】回复 @既向腐鼠_何比鹓鶵 :函数的交换性决定了执行顺序是否能够重排加速。

数据系统 查询语言 设计数据密集型应用 数据密集型应用 数据库 编程开发 分布式系统 数据模型 DDIA

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!