iBoxDB的学习与使用
1. 引言
一次偶然的机会接触到了iBoxDB这样一个小型的嵌入式对象数据库。感觉非常惊讶有这样轻巧的数据库。iBoxDB 本身是一个NOSQL 同时也有关系数据库的特点。
说说iBoxDB的优点:
1)无需安装,不像其他数据库比如MongoDB, MySQL 需要安装。iBOXDB只需要某个目录存放终的数据即可。完全就像操作本地文件一 样,应该说比本地文件更方便。
2) 支持多种设备,只需要添加.Net 或者 Java的驱动程序,就可以在多种设备上使用iBoxD,比如Android, Linux,Windows Phone, PC程序等。
3)提供数据库事务支持,可以使用类SQL语法存取对象数据。
4)提供索引,主键以及主从和多主的数据库热同步。
4) 性能优越,这里展示下iBoxDB官方网站提供的和MongoDB性能测试对比结果
在32位机子下的测试结果,代码见Github
这里可以看到iBoxDB有三种运行模式:File 、 MemoryMappedFile、 InMemory。熟悉操作系统的同学对这三个概念肯定不会陌生。它的性能一个比一个高。
2. iBoxDB 的 CRUD 操作
任何DB的肯定包含CRUD的操作,这里给出一个简单的C#实现。
public class Account { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } public string Desc { get; set; } } public static DB.AutoBox InitAndCreateAutoBox() { var dbPath = Path.Combine(Directory.GetCurrentDirectory(), "ibox"); if (!Directory.Exists(dbPath)) { Directory.CreateDirectory(dbPath); } var server = new DB(dbPath); var config = server.GetConfig(); config.EnsureTable<Account>("AccountTable", "Name"); return server.Open(); }
相关文章