iBoxDB的学习与使用

2022-04-13 00:00:00 数据 数据库 操作 对象 初始化

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();
        }

相关文章