FlashDB V1.0.0 正式版发布,轻量级嵌入式数据库

2020年10月08日

FlashDB beta 测试版目前已发布数月,在这段时间里, 陆陆续续收到大家的很多意见反馈,有些甚至也已经用在项目上了 。

结合大家的反馈,相关的问题均已修正,并对文档、测试等方面做了挺多完善。

今天正式版终于可以与大家见面了,一起来看下正式版的大致更新内容:

新增在线文档中心

内容丰富,分为:入门、示例及开发三大部分,上手方便,详见: http://armink.gitee.io/flashdb/#/zh-cn/

新增自动化测试

新增基于 Travis CI 的自动化构建检查及自动化测试,保证每次代码提交不仅编译通过,功能也都经过 qemu 模拟器环境下的测试验证。qemu 模拟器下的自动化测试部分日志大致如下,完整日志请查看:https://travis-ci.com/github/armink/FlashDB

新增 KV 迭代器的 API

方便实现对 KVDB 中的全部 KV 进行遍历,感谢网友 eggcar 的贡献。

迭代器示例文档: http://armink.gitee.io/flashdb/#/zh-cn/sample-kvdb-traversal

新增 contorl 控制函数

通过 fdb_kvdb_controlfdb_tsdb_control 的控制函数,用户可以实现一些对于数据库的控制管理功能。比如:设置 加锁和解锁 函数、设置 扇区大小 等

对于 TSDB 的 control 函数,用户还可以

  • 设置让数据库不启动处理滚动写入模式,这样如果数据库满,最旧的数据也不会删除,但无法插入新的数据

  • 获取上次的使用的时间戳,这样即便系统中没有 RTC ,也可以使用软件模拟时间戳功能,适用于一些对于 实时时间不敏感的场景。点击查看更多介绍

其他

  • 完善打印日志

  • 修正一些潜在 bug

FlashDB 简介

FlashDB 是一款超轻量级的嵌入式数据库,专注于提供嵌入式产品的数据存储方案。与传统的基于文件系统的数据库不同,FlashDB 结合了 Flash 的特性,具有较强的性能及可靠性。并在保证极低的资源占用前提下,尽可能延长 Flash 使用寿命。 FlashDB 提供两种数据库模式: 键值数据库 和  时序数据库。

主要特性

  • 资源占用极低,内存占用几乎为 0 ;

  • 支持 多分区,多实例 。数据量大时,可细化分区,降低检索时间;

  • 支持 磨损平衡 ,延长 Flash 寿命;

  • 支持 掉电保护 功能,可靠性高;

  • 支持 字符串及 blob 两种 KV 类型,方便用户操作;

  • 支持 KV 增量升级 ,产品固件升级后, KVDB 内容也支持自动升级;

  • 支持 修改每条 TSDB 记录的状态,方便用户进行管理;

展开阅读全文
18 收藏
分享
加载中
精彩评论
强势围观,#LuatOS# 也准备发新版了
2020-10-09 00:19
2
举报
最新评论 (2)
希望有一些设计上的介绍
2020-10-19 12:57
0
回复
举报
强势围观,#LuatOS# 也准备发新版了
2020-10-09 00:19
2
回复
举报
更多评论
2 评论
18 收藏
分享
返回顶部
顶部