会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
雪川大虫
Scala泛函编程实践之路
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
12
13
14
15
16
17
18
19
20
···
29
下一页
2017年4月8日
FunDA:一个开源的函数式数据处理工具库,也是Slick的补充
摘要: 如果你是一个Slick用户,或者你是一个数据库编程人员正在尝试进入函数式编程模式,那么FunDA可能会帮到你。 目前市面上FRM(Functional Relational Mapper),即函数式的数据库处理工具库的选择并不多,Typesafe公司的Slick可能是最通用的选择了。整体上来说:Sl
阅读全文
posted @ 2017-04-08 21:31 雪川大虫
阅读(1018)
评论(0)
推荐(0)
2017年4月2日
FunDA(17)- 示范:异常处理与事后处理 - Exceptions handling and Finalizers
摘要: 作为一个能安全运行的工具库,为了保证占用资源的安全性,对异常处理(exception handling)和事后处理(final clean-up)的支持是不可或缺的。FunDA的数据流FDAPipeLine一般是通过读取数据库数据形成数据源开始的。为了保证每个数据源都能被安全的使用,FunDA提供了
阅读全文
posted @ 2017-04-02 15:55 雪川大虫
阅读(409)
评论(0)
推荐(0)
2017年3月31日
FunDA(16)- 示范:整合并行运算 - total parallelism solution
摘要: 在对上两篇讨论中我们介绍了并行运算的两种体现方式:并行构建数据源及并行运算用户自定义函数。我们分别对这两部分进行了示范。本篇我准备示范把这两种情况集成一体的并行运算模式。这次介绍的数据源并行构建方式也与前面描述的有所不同:在前面讨论里我们预知需要从三个独立流来并行构建数据源。但如果我们有一个不知长度
阅读全文
posted @ 2017-03-31 17:48 雪川大虫
阅读(448)
评论(0)
推荐(0)
2017年3月30日
FunDA(15)- 示范:任务并行运算 - user task parallel execution
摘要: FunDA的并行运算施用就是对用户自定义函数的并行运算。原理上就是把一个输入流截分成多个输入流并行地输入到一个自定义函数的多个运行实例。这些函数运行实例同时在各自不同的线程里同步运算直至耗尽所有输入。并行运算的具体函数实例数是用fs2-nondeterminism的算法根据CPU内核数、线程池配置和
阅读全文
posted @ 2017-03-30 17:57 雪川大虫
阅读(379)
评论(0)
推荐(0)
2017年3月26日
FunDA(14)- 示范:并行运算,并行数据库读取 - parallel data loading
摘要: FunDA的并行数据库读取功能是指在多个线程中同时对多个独立的数据源进行读取。这些独立的数据源可以是在不同服务器上的数据库表,又或者把一个数据库表分成几个独立部分形成的独立数据源。当然,并行读取的最终目的是提高程序的运算效率。在FunDA中具体的实现方式是对多个独立的数据流进行并行读取形成一个统一综
阅读全文
posted @ 2017-03-26 16:36 雪川大虫
阅读(450)
评论(0)
推荐(0)
2017年3月21日
FunDA(13)- 示范:用户自定义操作函数 - user defined tasks
摘要: FunDA是一种函数式的编程工具,它所产生的程序是由许多功能单一的细小函数组合而成,这些函数就是用户自定义操作函数了。我们在前面曾经提过FunDA的运作原理模拟了数据流管道。流元素在管道流动的过程中被使用或者更新。在管道中流动的元素都必须继承FDAROW类型,可以细分成几个大类: 1、数据行(dat
阅读全文
posted @ 2017-03-21 12:35 雪川大虫
阅读(576)
评论(0)
推荐(0)
2017年3月1日
FunDA(12)- 示范:强类型数据源 - strong typed data sources
摘要: FunDA设计的主要目的是解决FRM(Functional Relation Mapping)如Slick这样的批次型操作工具库数据源行间游动操作的缺失问题。FRM产生的结果集就是一种静态集合,缺乏动态更新操作方式。FunDA提出的解决方案是把FRM产生的静态集合转变成动态流(stream),流内元
阅读全文
posted @ 2017-03-01 20:37 雪川大虫
阅读(439)
评论(0)
推荐(0)
2017年2月20日
FunDA(11)- 数据库操作的并行运算:Parallel data processing
摘要: FunDA最重要的设计目标之一就是能够实现数据库操作的并行运算。我们先重温一下fs2是如何实现并行运算的。我们用interleave、merge、either这几种方式来同时处理两个Stream里的元素。interleave保留了固定的交叉排列顺序,而merge和either则会产生不特定顺序,这个
阅读全文
posted @ 2017-02-20 14:37 雪川大虫
阅读(743)
评论(0)
推荐(0)
2017年2月16日
FunDA(10)- 用户功能函数模式:User Function Model
摘要: 前面我们提过:FunDA就像一个管道(PipeLine)。管道内流动着一串数据(Data)或者运算指令(Action)。管道的源头就是能产生纯数据的数据源(Source),跟着在管道的中间会有一些节点(WorkNode),我们可以在这些节点施用(apply)用户提供的功能函数(Task)。用户功能函
阅读全文
posted @ 2017-02-16 08:21 雪川大虫
阅读(363)
评论(0)
推荐(0)
2017年2月14日
FunDA(9)- Stream Source:reactive data streams
摘要: 上篇我们讨论了静态数据源(Static Source, snapshot)。这种方式只能在预知数据规模有限的情况下使用,对于超大型的数据库表也可以说是不安全的资源使用方式。Slick3.x已经增加了支持Reactive-Streams功能,可以通过Reactive-Streams API来实现有限内
阅读全文
posted @ 2017-02-14 11:33 雪川大虫
阅读(421)
评论(0)
推荐(0)
上一页
1
···
12
13
14
15
16
17
18
19
20
···
29
下一页
公告