LiteDB 是一个 .NET 开发的小型快速轻量级的 NoSQL 嵌入式数据库,特性:
无服务器NoSQL文档存储
简单的API,类似于MongoDB
单个DLL(小于450kb)中的.NET 4.5 / NETStandard 1.3 / 2.0的100%C#代码
线程安全
具有完整交易支持的ACID
写入失败后的数据恢复(WAL日志文件)
使用DES(AES)加密的数据文件加密
将POCO类BsonDocument映射为使用属性或流利的映射器API
存储文件和流数据(例如MongoDB中的GridFS)
单个数据文件存储(如SQLite)
索引文档字段以快速搜索
LINQ查询支持
类似SQL的命令来访问/转换数据
LiteDB Studio-用于数据访问的漂亮UI
开源,所有人免费-包括商业用途
从NuGet安装: Install-Package LiteDB
示例代码:
// Open data file (or create if not exits)MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
using(var db = new LiteEngine(@"C:\Temp\MyData.db"))
{
// Get a collection (or create, if not exits)
var col = db.GetCollection<Customer>("customers");
var customer = new Customer { Id = 1, Name = "John Doe" };
// Insert new customer document
col.Insert(customer);
// Update a document inside a collection
customer.Name = "Joana Doe";
col.Update(customer);
// Index document using a document property
col.EnsureIndex(x => x.Name);
// Simple Linq support
var result = col.Find(x => x.Name.StartsWith("Jo"));
}
它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
mongodb集群
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持 Golang,RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。
总结
LiteDB 与mongodb都属于nosql数据库,但是LiteDB是小型快速轻量级的 NoSQL 嵌入式文件数据库,有点类似sqlite,可以运行在手机app端,pc端,服务器端,而且仅支持net平台及c#语言。
mongodb则是分布式的nosql数据库,支持网络访问,支持各种编程语言及平台,性能强。
网友回复