FunDA:一个开源的函数式数据处理工具库,也是Slick的补充
如果你是一个Slick用户,或者你是一个数据库编程人员正在尝试进入函数式编程模式,那么FunDA可能会帮到你。
目前市面上FRM(Functional Relational Mapper),即函数式的数据库处理工具库的选择并不多,Typesafe公司的Slick可能是最通用的选择了。整体上来说:Slick还是一个不错的函数式数据库编程工具,用scala语言,很多地方引用了函数式的抽象模式和对象(functional abstractions and objects)。但是,FRM是一种偏重数据读取(data access)的开发模式,骨子里是一种批次运算模式,缺少了数据处理(data persistence)所惯用的recordset逐行处理方式。对于那些习惯了使用ORM(Object Relational Mapper)的资深数据库软件编程人员来说,这几乎是他们在大型复杂数据库软件开发项目中无法使用Slick的致命弱点。另一方面市面上容易掌握的能实现数据处理并行运算的开发工具也不多,对这方面的需求也比较旺盛。
FunDA在Slick功能的基础上增加了recordset数据集逐行处理功能,让使用者感觉亲切,能更灵活自然的在前台内存里实现强大的数据处理功能。更重要的是FunDA增加了并行运算功能,可以实现对数据库的并行读写、以及数据处理函数的并行运算。此外,FunDA的数据库读取方式支持reactive-streams标准,能对大量数据进行后台缓存,然后逐块输出,保证了资源的安全使用。
虽然作为一个函数式组件库(combinator library),但考虑到FunDA的使用人群是面向那些有着丰富数据库编程经验的编程人员,应该尽量降低用户对函数式编程技能的水平要求。FunDA通过一套自定义函数编程模式能使用户按照固定的方式编写程序,避开函数式编程的多样方式,把精力集中在数据处理功能上。
FunDA现在已经是一个开源项目了。项目地址是:https://github.com/bayakala/funda 欢迎大家下载尝试。希望大家能有良好的使用体验。作为一个开源项目,作者更希望能有更多的人直接参与这个项目的开发,为项目发展作出贡献。
最新文章
- Excel替换应用
- Android多线程文件下载
- VS2008中开发智能设备程序的一些总结
- USACO Section 2.4: Fractions to Decimals
- NFC(9)NDEF文本格式规范及读写示例(解析与封装ndef 文本)
- 适合高级Java程序员看的12本书
- BZOJ_1036_[ZJOI2008]_树的统计Conut_(树链剖分)
- Java里的IO流里的FileReader里的BufferedReader读取并在前打印行数!
- ibatis中的resultClass,parameterClass,resultMap,resultType的使用与区别
- Python常用模块 (2) (loging、configparser、json、pickle、subprocess)
- 【JAVASCRIPT】ECMAScrip (转)
- How to DUMP the vba code protected by Unviewable+ VBA?
- Java全栈程序员之08:MAVEN+JAVA配置
- Linux Shell脚本攻略:shell中各种括号()、(())、[]、[[]]、{}的作用
- Servlet下载文件迅雷不支持问题真相之一
- Python 字典 dict() 函数
- 2018.09.16 loj#10243. 移棋子游戏(博弈论)
- 如何在Windows应用商店中提交您的Windows 8.1 应用更新
- 洛谷P1301 魔鬼之城
- 深入浅出Android开发之Surface介绍
热门文章
- HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(二)
- (三目运算符)PHP中问号?和冒号: 的作用
- React-Native 开发(一) Android环境部署,Hello react-native
- mp4文件格式解析
- Java向上转型的意义
- HTML+CSS-淘宝网页
- Hadoop单机和伪分布式安装
- DapperPoco -- 基于Dapper的、轻量级的、高性能的、简单的、灵活的ORM框架
- .NET Core项目从xproj+project.json向csproj迁移简介
- SQL基本编程,分支语句,循环语句,存储过程,触发器