搜索
bottom↓
回复: 27

【开源】FlashDB V2.1.1 稳定版正式发布

[复制链接]

出0入198汤圆

发表于 2024-10-7 21:18:28 | 显示全部楼层 |阅读模式
FlashDB 的最早的第一个版本是 2020 年在本坛发布的(https://www.amobbs.com/thread-5734466-1-1.html) ,去年10月发布了 V2.0 版本

历经4年,FlashDB 已经被集成到了各种知名品牌的产品中,如:荣耀、小米,VIVO,西门子等等。社区的贡献者也超过了40人,其中还有不少老外。

这两年,还有老外把它集成到了 Zephyr RTOS、RIOT OS、ESP-IDF 中,用在各种海外设备上。

得到这么多企业和开发者的认可,也是我坚持开源维护的动力。希望能在这里持续的得到大家的更多的反馈和支持。

FlashDB 自 V2.0 后,大幅提升了数据库的性能(尤其是 GC)、稳定性和兼容性,新增了一些重要的功能,如:反向迭代器、数据库扩容、垃圾回收改进、完整性检查和 64&128 位写粒度支持,并修复了多个运行时错误和潜在的存储问题。

打磨了一年多时间后,今天正式发布了 V2.1.1 版本,该版本是个 BUG 修正版本,如有需要可以尽快升级。

自 V2.0 开始的更新日志如下:
1. KVDB(键值数据库):
  • 性能优化与错误修复:
    • 修复运行时错误、警告和首次运行时的锁定问题
    • 修复空指针解引用问题
    • 改进缓存清理机制:在设置键值对为默认值之前清除缓存
    • 改善垃圾回收(GC)算法,解决某些情况下的收集失败问题
    • 支持 128 位写粒度、缓存性能优化,垃圾回收速度提升 2 倍
    • 新增 KVDB 完整性检查 API 及数据库扩展功能
    • 优化缓存算法:首次找到键时的缓存处理改进
    • 添加部分 GC 功能以减少 GC 时间
    • 修复写入失败问题和其他已知问题

2. TSDB(时间序列数据库):
  • 错误修复:
    • 修复读取最后一个有效时间序列日志(TSL)的问题
    • 修复在电源异常断电时的闪存覆盖问题
  • 功能增强:
    • 添加反向迭代器功能
    • 改进 TSDB 测试用例

3. 通用改进:
  • 错误修复:
    • 修复错误代码返回不正确的问题
    • 关闭文件流指针时使用 fclose() 进行处理
  • 功能增强:
    • Zephyr 系统:添加外部模块支持
    • 改进对齐处理(FDB_ALIGN,FDB_ALIGN_DOWN)
  • 闪存支持:
    • 支持擦除后为 0 的闪存,如 TC397 芯片上的内部闪存
  • 自动化与测试改进:
    • 改进 CI 自动化测试、KVDB 和 TSDB 的测试用例
    • 优化扇区迭代功能,迭代顺序从最旧到最新

4. Demo 支持更新:
  • ESP32 支持:
    • 添加 ESP32 上的 SPI 闪存演示,支持 IDF 5.x 构建环境
  • STM32 支持:
    • 添加 STM32L4 内部芯片的 FAL 闪存驱动
本坛下载:
GitHub:https://github.com/armink/FlashDB



本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

有一句段子是这样说的,身家过亿的只关心自己的身体,身家千万的,在担心传承,勉强糊口度日才天天看国际新闻,关心国家大事。

出0入18汤圆

发表于 2024-10-7 21:24:51 | 显示全部楼层
膜拜大神。。。。

出0入42汤圆

发表于 2024-10-7 22:55:09 来自手机 | 显示全部楼层
感谢大神,非常好用

出0入51汤圆

发表于 2024-10-8 00:03:35 来自手机 | 显示全部楼层
膜拜大神,感谢分享

出105入79汤圆

发表于 2024-10-8 01:09:12 | 显示全部楼层
非常棒,问一下支持eeprom方便不,现在想用在一个32Kbit的EEPROM上面,存储一些参数

出0入300汤圆

发表于 2024-10-8 01:35:23 来自手机 | 显示全部楼层
好帖,谢了

出110入0汤圆

发表于 2024-10-8 04:42:24 | 显示全部楼层
用过SFUD的路过

出130入129汤圆

发表于 2024-10-8 06:05:22 来自手机 | 显示全部楼层
本帖最后由 68336016 于 2024-10-8 06:09 编辑

关注这个也好几年了,但是还是不太会用,前阵子我有一个项目,开始不知道是用 flashdb还是littlefs。
其实当时要求就很简单,每天根据日期只新建一个文件,将当天测量数据(每次数据都是定长,方便识别处理)存入进去,stm32再有一个简易的文件列表的功能。按照文件存储的话,每天只有一个文件,这样显示的文件数也不会太多。根据文件为单位,跟电脑传输数据。
但是如果用flashDb的话,就不知道如何实现这个文件列表功能了,因为根据时间戳来搜索的话,会将数据都显示出来,这样子列表里面就会显示了太多数据了。而文件方式只有文件名就简洁很多。
目前是用littlefs实现的,我再试着改成flashdb看看。

出20入62汤圆

发表于 2024-10-8 09:06:18 | 显示全部楼层

膜拜大神。。。。。

出140入115汤圆

发表于 2024-10-8 09:16:51 | 显示全部楼层
膜拜大神,感谢分享

出0入8汤圆

发表于 2024-10-8 09:17:24 | 显示全部楼层
膜拜大神,一直想用还没用上

出0入0汤圆

发表于 2024-10-8 09:25:59 | 显示全部楼层
用过大神的easyflash,就是没有flashdb的时序数据库,折腾好久,还好出了flashdb。

出0入0汤圆

发表于 2024-10-8 10:15:34 | 显示全部楼层
用过SFUD。flashdb不会用,楼主能否做个应用教程,感谢!!!

出0入0汤圆

发表于 2024-10-8 10:36:58 来自手机 | 显示全部楼层
68336016 发表于 2024-10-8 06:05
关注这个也好几年了,但是还是不太会用,前阵子我有一个项目,开始不知道是用 flashdb还是littlefs。
其实 ...

(引用自8楼)

我也是不太会用flashdb,现在用的fatfs

出130入129汤圆

发表于 2024-10-8 10:44:27 来自手机 | 显示全部楼层
yixin1851 发表于 2024-10-8 10:36
我也是不太会用flashdb,现在用的fatfs
(引用自14楼)

fatfs是非常方便,cubemx就能自动配置好,但是怕掉电损坏文件系统。

出100入18汤圆

发表于 2024-10-8 14:04:40 | 显示全部楼层
本帖最后由 hcambridge 于 2024-10-8 14:56 编辑

膜拜大神,感谢分享,一直有个存储参数的问题想请教一下:
我有一个应用场景,我需要在windows下生成一个参数数据库,保存为bin之后烧录到flash中给mcu使用。
目前都是结构体的固定地址,没有用数据库,这样两边访问都很简单,缺点就是格式非常固定,修改升级不方便。
如果用sqlite在windows下简单,移植到mcu又觉得太占资源,就考虑过flashDB,好像windows下又无法使用。

才疏学浅,问下我的这种想法和用法是否正确?是否有使用建议?

出0入72汤圆

发表于 2024-10-8 14:25:14 | 显示全部楼层

膜拜大神,感谢分享

出610入1001汤圆

发表于 2024-10-8 14:47:10 | 显示全部楼层
68336016 发表于 2024-10-8 06:05
关注这个也好几年了,但是还是不太会用,前阵子我有一个项目,开始不知道是用 flashdb还是littlefs。
其实 ...
(引用自8楼)

确实不会用。
之前研究了几天,发现不会用。懵逼状态。
如果能加个:教程就好了。

出0入198汤圆

 楼主| 发表于 2024-10-9 14:35:04 | 显示全部楼层
qwe2231695 发表于 2024-10-8 01:09
非常棒,问一下支持eeprom方便不,现在想用在一个32Kbit的EEPROM上面,存储一些参数 ...
(引用自5楼)

支持的哦,对接上 FAL 上就可以用了

出0入198汤圆

 楼主| 发表于 2024-10-9 14:36:27 | 显示全部楼层
68336016 发表于 2024-10-8 06:05
关注这个也好几年了,但是还是不太会用,前阵子我有一个项目,开始不知道是用 flashdb还是littlefs。
其实 ...
(引用自8楼)

你这种可以尝试一下 FlashDB 的 时序数据库 的功能,所有数据支持按照时间序列方式进行存储,查询也支持按照时间格式进行查询,过久的数据还支持自动覆盖

出0入198汤圆

 楼主| 发表于 2024-10-9 14:38:24 | 显示全部楼层
hcambridge 发表于 2024-10-8 14:04
膜拜大神,感谢分享,一直有个存储参数的问题想请教一下:
我有一个应用场景,我需要在windows下生成一个参 ...
(引用自16楼)

windows 也支持的哈,可以用 FlashDB 的 文件模式 ,这样就会在电脑上按照文件方式进行存储,可以参考 Linux  demo ,整个数据库代码非常轻量级,比 SQLite 小多了

出130入129汤圆

发表于 2024-10-9 14:43:26 来自手机 | 显示全部楼层
sunnydragon 发表于 2024-10-9 14:36
你这种可以尝试一下 FlashDB 的 时序数据库 的功能,所有数据支持按照时间序列方式进行存储,查询也支持 ...
(引用自20楼)

哈哈,我试着熟悉下,争取用到以后项目。
FLASHDB简单应用我已经也会,需要再努力下了。

出0入0汤圆

发表于 2024-10-9 15:24:40 | 显示全部楼层
膜拜大神   牛皮牛皮

出100入18汤圆

发表于 2024-10-9 17:23:54 | 显示全部楼层
sunnydragon 发表于 2024-10-9 14:38
windows 也支持的哈,可以用 FlashDB 的 文件模式 ,这样就会在电脑上按照文件方式进行存储,可以参考 Li ...
(引用自21楼)

哦,支持windows啊,那我得好好学习一下!赞!

出0入17汤圆

发表于 2024-10-9 23:38:12 | 显示全部楼层
操作说明的网址打不开,是挂了吗?

出130入20汤圆

发表于 2024-10-10 07:34:25 | 显示全部楼层
大神牛比,easyflash很好用,在某个产品上跑了几年了

出0入169汤圆

发表于 2024-10-12 11:32:56 | 显示全部楼层
newuseruser 发表于 2024-10-9 23:38
操作说明的网址打不开,是挂了吗?
(引用自25楼)

应该是链接变了没修正,看FlashDB/ docs / zh-cn ,说明文档都在里面

出0入198汤圆

 楼主| 发表于 2024-10-27 13:14:56 | 显示全部楼层
newuseruser 发表于 2024-10-9 23:38
操作说明的网址打不开,是挂了吗?
(引用自25楼)

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

本版积分规则

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

GMT+8, 2024-12-10 20:05

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

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