概述
经过6年的时间,DataRabbit 已经从最初的一个简单的数据访问层发展成为了一套完整的数据存取框架,相对于以前的老版本(对于老版本的DataRabbit的介绍可以参看这里),4.0的变化是巨大的,所以有必要专门开一个专题来介绍它。 尽管目前Linq、Entity Framework如日中天,但是我们一直在使用DataRabbit,并在实践中不断完善它,现在,我们将它共享出来。DataRabbit当然不是完美的,但是对您来说,也许是另一个可供选择的工具。
一.DataRabbit 体系结构
4.0数据存取框架由4大数据设备和一组通用数据存取API构成,分别简述如下:
(1) 数据库访问框架:基于ORM的数据库访问框架,也支持基于Relation的数据库访问(完全支持SqlServer2000/2005/2008)。
(2) Entity缓存:提供5种类型的Entity缓存和可配置可独立部署的缓存服务器。
(3) 面向对象的内存数据库:提供可配置可独立部署的面向对象内存数据库服务器。
(4) 同步复制Slave内存数据库:提供可配置可独立部署的同步复制Slave内存数据库服务器。
(5) 通用数据存取API:四种数据设备使用完全相同的一组API接口进行操作,使得学习和上手的过程更快。
其结构关系如下图所示:
四大数据设备中的Entity缓存服务器、面向对象的内存数据库服务器、同步复制Slave数据库服务器统称为“实体服务器”。
数据库访问框架和Entity缓存都是以数据库作为数据源的;同步复制Slave数据库则可以以任何一个实体服务器作为数据源;面向对象的内存数据库本身自己就是一个独立数据源,它不需要与数据库或其它实体服务器发生关系。
应用程序通过通用的数据存取API与四大数据设备进行交互,这些API都是基于面向对象和组件化的方式构建的,不再需要手动去拼接任何SQL语句,只要调用相应的方法就可以达到数据访问的目的。
二.DataRabbit构成
DataRabbit 4.0 数据存取框架包含多个dll,它们的作用描述如下:
(1)DataRabbit.dll 该动态库是整个数据存取框架的基础和核心,其它的dll都依赖于该动态库。其主要包含通用数据存取API的接口定义,以及对查询条件、聚合、分组、分页、排序等进行面向对象的封装。
(2)DataRabbit.DBAccessing.dll 实现了数据库访问框架的所有功能,支持基于ORM和基于Relation的数据库访问。
(3)DataRabbit.Containers.dll 提供了基础的实体容器功能呢个,作为Entity缓存和内存数据库的基础。
(4)DataRabbit.Caching.dll 实现了Entity缓存所需要的所有功能。
(5)DataRabbit.Memory.dll 实现了内存数据库(包括Master/Slave)所需的所有功能。
这些dll的依赖关系可以用下图表示:
后面的文章会逐一介绍DataRabbit 4.0的通用数据存取API和四大数据设备,这里先给出DataRabbit 4.0相关动态库的下载。
三.下载