搜索
bottom↓
回复: 18
打印 上一主题 下一主题

【开源】FlashDB V1.1 版本发布,新增文件存储模式

[复制链接]

出0入198汤圆

跳转到指定楼层
1
发表于 2021-10-7 23:12:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunnydragon 于 2022-1-25 20:08 编辑

FlashDB 是什么?

FlashDB 是一款超轻量级的嵌入式数据库,专注于提供嵌入式产品的数据存储方案。与传统的基于文件系统的数据库不同,FlashDB 结合了 Flash 的特性,具有较强的性能及可靠性。并在保证极低的资源占用前提下,尽可能延长 Flash 使用寿命。
FlashDB 提供两种数据库模式:
  • 键值数据库 :是一种非关系数据库,它将数据存储为键值(Key-Value)对集合,其中键作为唯一标识符。KVDB 操作简洁,可扩展性强。
  • 时序数据库 :时间序列数据库 (Time Series Database , 简称 TSDB),它将数据按照 时间顺序存储 。TSDB 数据具有时间戳,数据存储量大,插入及查询性能高。


更多详见文档中心:http://armink.gitee.io/flashdb/#/zh-cn/

新版介绍

从去年 10 月发布 V1.0 版本至今正好一年的时间,FlashDB 已经被应用于工业、医疗、穿戴等各种嵌入式设备中,非常适合设备参数存储,操作日志记录,传感器数据保存,等众多存储场景。

V1.1 是一个功能完善的版本,先来一起看下更新日志:
  • 新增 文件模式,数据库可以直接以文件形式进行存储
  • 新增 ESP8266 平台 demo
  • 新增 linux 平台 demo
  • 新增 fdb_kvdb_deinit & fdb_tsdb_deinit 函数
  • 完善 时序数据库时间处理逻辑,当前时间比时序数据库上次存储记录更早时,丢弃该记录
  • 修复 一些 BUG


新版解读

V1.1 版本最大的更新就是新增了文件存储模式。相比于 V1.0 默认的 FAL 存储模式,文件模式更加的灵活。使用 FAL 时,需要提前分配好分区表,这对于后期修改不太方便。
而有了文件模式后,数据库可以保存至任意位置,不想用也可以移除,更加接近于常见的数据库模式。简单对比下优缺点


FAL 模式
文件模式
性能
更快,详见 首页测试数据
稍慢,低于 FAL 模式 10 倍以上
灵活性
较差,需要提前分配分区表
较好,数据库可以在任意位置存储
资源占用
较小,无其他依赖
较高,需要文件系统的支持,并且依赖 Libc/POSIX 文件系统接口

所以,大家可以结合自己的需要,在数据库初始化阶段,
选择性决定让数据库存储在文件系统或者是 FAL 分区上。

另外,V1.1 的更新也带来的更多平台的支持。ESP8266 虽然也有类似的 NVS 机制,但依然有热心网友将 FlashDB 适配上去,同时也可以用于 ESP32 平台。

除此之外,新增的 Linux 平台,也让 Linux 平台有了更加易于集成的超轻量级数据库的选择。

V2.0 展望

未来 FlashDB 会始终专注在高性能与易用性两个方向上。

KVDB 初始化及 GC 速度会重点,TSDB 也会支持缓存机制。从 API 上,TSDB 会支持逆序迭代器,统一 KVDB 与 TSDB 迭代器 API ,让用户使用更加便捷。


也欢迎大家提出更多想法和建议……


下载





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入4汤圆

2
发表于 2021-10-7 23:26:41 | 只看该作者
又升级了。。

出0入362汤圆

3
发表于 2021-10-7 23:27:28 | 只看该作者
zan
请教一下, 单条记录最大支持到多大?

出0入10汤圆

4
发表于 2021-10-7 23:51:09 来自手机 | 只看该作者
多谢分享!

出140入115汤圆

5
发表于 2021-10-8 00:01:38 来自手机 | 只看该作者
真牛!多谢分享!

出0入42汤圆

6
发表于 2021-10-8 09:43:38 | 只看该作者
赞!感谢开源!谢谢楼主!

出0入0汤圆

7
发表于 2021-10-8 15:01:34 | 只看该作者
义无反顾的支持,好用。

出0入76汤圆

8
发表于 2021-10-8 18:23:12 | 只看该作者
本帖最后由 foxpro2005 于 2021-10-8 18:24 编辑

强烈支持,感谢大神!
另外,老的EasyFlash分支还会继续更新维护吗?

出0入198汤圆

9
 楼主| 发表于 2021-10-9 08:51:30 | 只看该作者
foxpro2005 发表于 2021-10-8 18:23
强烈支持,感谢大神!
另外,老的EasyFlash分支还会继续更新维护吗?

会的,EasyFlash 主要是 V4 及 V3 版本

出0入198汤圆

10
 楼主| 发表于 2021-10-10 11:24:46 | 只看该作者
tomzbj 发表于 2021-10-7 23:27
zan
请教一下, 单条记录最大支持到多大?

最大支持取决于设置的 block_size ,一般最大几 KB 没问题

出0入0汤圆

11
发表于 2021-10-11 11:23:52 | 只看该作者
本帖最后由 登云钓月 于 2021-10-11 11:34 编辑

感谢楼主开源。建议FDB_WRITE_GRAN增加64bit适配,目前使用的STM32G系列内部Flash只支持64bit写入了。
--看到支持64bit写入了(可以配置write_gran)。

出0入198汤圆

12
 楼主| 发表于 2021-10-16 13:46:28 | 只看该作者
登云钓月 发表于 2021-10-11 11:23
感谢楼主开源。建议FDB_WRITE_GRAN增加64bit适配,目前使用的STM32G系列内部Flash只支持64bit写入了。
--看 ...

64 bit 原本是支持的,但是很多写粒度是 64bit 的 Flash 不支持逆序写入动作,所以就临时删除了该功能

你可以先验证一下 G4 支不支持逆序写入

出0入0汤圆

13
发表于 2022-1-10 16:53:07 | 只看该作者
支持FLASH分区,是可以同时用MCU内部FLASH,又能用SPI FLASH做存储吗?

出0入198汤圆

14
 楼主| 发表于 2022-1-16 11:42:42 | 只看该作者
cdyy777 发表于 2022-1-10 16:53
支持FLASH分区,是可以同时用MCU内部FLASH,又能用SPI FLASH做存储吗?

对的,底层是 Flash 的抽象层

出0入0汤圆

15
发表于 2022-1-17 23:24:16 | 只看该作者
sunnydragon 发表于 2022-1-16 11:42
对的,底层是 Flash 的抽象层

好的。非常感谢。

出0入42汤圆

16
发表于 2022-1-18 08:40:58 来自手机 | 只看该作者
感谢分享,非常好用

出0入115汤圆

17
发表于 2022-6-24 16:46:13 | 只看该作者
楼主您好,现在我一个项目用了flashDB,现在发现一个问题,我先遍历了一个分区,遍历结果存在数组里。然后根据遍历结果把这个分区所有key的value设为0,现在发现使用fdb_kv_set_blob后,会出现[FlashDB][kv][env] Error: The KV (@0x00000037) CRC32 check failed,实际fdb_kv_set_blob返回值都是FDB_NO_ERR,请问报crc32校验错误有什么严重后果吗,是什么原因导致这个错误出现的?我的整个项目没有用任何中断,flash是w25q128。

出0入198汤圆

18
 楼主| 发表于 2022-7-2 21:22:36 | 只看该作者
三年模拟 发表于 2022-6-24 16:46
楼主您好,现在我一个项目用了flashDB,现在发现一个问题,我先遍历了一个分区,遍历结果存在数组里。然后 ...
(引用自17楼)

先确保 Flash 驱动没问题吧

出0入115汤圆

19
发表于 2022-7-5 09:17:35 | 只看该作者
sunnydragon 发表于 2022-7-2 21:22
先确保 Flash 驱动没问题吧
(引用自18楼)

已解决,详见github。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-30 11:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表