今天给大家介绍一个不错的小巧轻量级的NoSQL文件数据库LiteDB。本博客在2013年也介绍过2款.NET平台的开源数据库:
上面2个数据库我的实际的项目中用过,还不错。当然数据量很小,主要是客户比较变态,必须要用xml文件保存,就想到了,另外NDatabase只是自己觉得好玩,也用了一下。
提示:没有x86,x64之分,可以AnyCPU使用。4.5版本也可以使用,如果需要专门的4.5版本,可以自己编译,另外Mono的问题,官方没有提到,应该是暂时不支持,自己也没有环境,不好测试,希望有环境的朋友,可以用简单代码测试一下。
.NET开源目录:【目录】本博客其他.NET开源项目文章目录
本文原文地址:.NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB
1.LiteDB初步介绍
1.1 基本功能预览
LiteDB是一个小型的.NET平台开源的NoSQL类型的轻量级文件数据库。特点是小和快,dll文件只有200K大小,而且支持LINQ和命令行操作,数据库是一个单一文件,类似Sqlite。
主要特点有(翻译官方介绍,如有不准确,请指正):
1.NoSQL文件存储。这是和传统关系型数据库的主要区别;支持实体类的字段更新;
2.类似MongoDB的简单API;
3.完全使用C#代码,在.NET 4.0环境下编写,核心dll小巧,只有168K;
4.支持ACID事务处理;
5.可以进行写入失败的恢复;
6.存储到文件或者数据流中(类似MongoDB的GridFS);
7.类似Sqlite的单一文件存储;
8.支持文件索引,可以进行快速搜索;可以直接存储文件;
9.支持Linq查询;【这也许是C#编写最直接的好处】;
10.支持命令行操作数据库,官方提供了一个Shell command line;
11.完全开源和免费,包括商业使用;
1.2 使用场景
虽然小巧,但也不是万能的,LiteDB给出了几个可能或者比较适合使用的场景。大家可以根据实际情况进行或者根据需要进行测试,看是不是自己需要的:
1.桌面或者本地小型的应用程序
2.小型web应用程序
3.单个数据库账户或者单个用户数据的存储
4.少量用户的并发写操作的应用程序
2.LiteDB使用基本案例
上面只是基本介绍,先从搞一个简单的案例介绍如何使用。大家可以感觉一下。如果要具体使用,就好好研究下官方的文件。本文下面几节也将大概介绍一下LiteDB的相关原理和技术细节。有空我会做一个大数据下的测试,看看如何。这里只是为了介绍给大家研究而已。
2.1 创建实体类
为了例子需要,我们创建一个简单的实体类,如下面所示,只包括几个基本的属性信息。