搜索
bottom↓
回复: 43

【开源】FlashDB 新增 STM32F10X/F4XX 系列 demo

  [复制链接]

出0入198汤圆

发表于 2020-7-14 22:31:49 | 显示全部楼层 |阅读模式
本帖最后由 sunnydragon 于 2020-7-14 22:35 编辑

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

更多介绍详见:https://github.com/armink/FlashDB

近期,FlashDB 新增更新如下:

  • 新增 STM32F10x 芯片 demo
  • 新增 STM32F4xx 及 SPI Flash demo
  • 新增 CI 自动化测试

目前已经有不少开发者正在使用 FlashDB  在项目中进行实际测试,欢迎更多小伙伴前来体验

本坛下载:
GitHub 最新版:https://github.com/armink/FlashDB





本帖子中包含更多资源

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

x

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

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

出0入0汤圆

发表于 2020-7-15 07:43:41 | 显示全部楼层
非常好的应用,顶一下~~~

出140入8汤圆

发表于 2020-7-15 08:55:05 | 显示全部楼层
跟随大神的脚步…
早都成为项目的标配了

出0入0汤圆

发表于 2020-7-15 09:00:23 | 显示全部楼层
请问能否移植到操作spi fram?

出0入0汤圆

发表于 2020-7-15 09:23:07 | 显示全部楼层
留位占座,测试试用一下看看。

出16690入6953汤圆

发表于 2020-7-15 13:12:51 来自手机 | 显示全部楼层
打赏50汤圆!

庆祝论坛“打赏”功能实施, 现在开始发技术主题,可以获得打赏
https://www.amobbs.com/thread-5735948-1-1.html

出0入198汤圆

 楼主| 发表于 2020-7-15 13:47:02 | 显示全部楼层
armok. 发表于 2020-7-15 13:12
打赏50汤圆!

庆祝论坛“打赏”功能实施, 现在开始发技术主题,可以获得打赏

好政策~~多谢莫大支持

出250入8汤圆

发表于 2020-7-15 14:01:48 | 显示全部楼层
好东西,收藏备用

出0入0汤圆

发表于 2020-7-15 14:24:49 | 显示全部楼层
是个好东西,正好有个项目考虑使用,请问能支持新增,删除,排序吗,并且时间性能怎么样

出0入12汤圆

发表于 2020-7-15 15:50:02 | 显示全部楼层
同问,能否针对铁电给个例子。另外,如果定义分区发生变化时,需要怎么做?

出0入0汤圆

发表于 2020-7-15 17:28:24 | 显示全部楼层
本帖最后由 小溪 于 2020-7-15 17:30 编辑

有这么一个需求,不知道用这个flashDB能否满足?记录大概20000笔记录吧,一条记录会记录有10来个变量数据记录,每次设备在线是需要上传记录,如果脱机需要区别未上传的记录,所有记录在开辟的存储区内循环存储循环覆盖,上传和未上传有区别标志来识别,当在线时检索到未上传记录,按时间先后顺序上传。不知道对于20000条记录这款轻量级的嵌入式数据库检索性能如何,时间快慢如何?

出0入198汤圆

 楼主| 发表于 2020-7-15 19:32:37 | 显示全部楼层
小溪 发表于 2020-7-15 17:28
有这么一个需求,不知道用这个flashDB能否满足?记录大概20000笔记录吧,一条记录会记录有10来个变量数据记 ...

这个功能需求没问题,性能需求也没问题

出0入198汤圆

 楼主| 发表于 2020-7-15 19:33:20 | 显示全部楼层
coolhorse 发表于 2020-7-15 14:24
是个好东西,正好有个项目考虑使用,请问能支持新增,删除,排序吗,并且时间性能怎么样 ...

时间性能绝对杠杠的,查询的数据默认就是按照时间排序的

出0入10汤圆

发表于 2020-7-15 21:30:09 | 显示全部楼层
sunnydragon 发表于 2020-7-15 19:33
时间性能绝对杠杠的,查询的数据默认就是按照时间排序的

有备份的功能吗?比如一组关键参数 读取失效后 用备用区替代

出0入0汤圆

发表于 2020-7-16 08:55:52 | 显示全部楼层
sunnydragon 发表于 2020-7-15 19:33
时间性能绝对杠杠的,查询的数据默认就是按照时间排序的

最差的情况是查完20000条记录,最后一条就是所要的记录,不知道测试时间是多长?另外其实查询条件不只是时间来检索,还要附加一个未上传的标志位作为限制条件,另外还没有完全看懂和熟练使用这个嵌入式轻量级数据库,如果记录10个变量,是不是表结构还需要修改一下,改动有多大,仅仅是修改增加定义的表字段而不需要动别的地方吗?

出0入198汤圆

 楼主| 发表于 2020-7-16 09:32:55 | 显示全部楼层
jaywen 发表于 2020-7-15 21:30
有备份的功能吗?比如一组关键参数 读取失效后 用备用区替代

读取失效是什么意思?

FlashDB 有掉电保护功能,断电时保存失败了,会自动还原之前的最后一次正确记录

出0入198汤圆

 楼主| 发表于 2020-7-16 09:36:54 | 显示全部楼层
小溪 发表于 2020-7-16 08:55
最差的情况是查完20000条记录,最后一条就是所要的记录,不知道测试时间是多长?另外其实查询条件不只是 ...
  1. 最差的情况是查完20000条记录,最后一条就是所要的记录,不知道测试时间是多长
复制代码


这块可以看下 FlashDB GitHub readme 上的测试数据

  1. 另外其实查询条件不只是时间来检索,还要附加一个未上传的标志位作为限制条件,
复制代码


建议这部分在真机上测试一下,示例代码及 demo 在仓库里都有的,开箱即用

  1. 另外还没有完全看懂和熟练使用这个嵌入式轻量级数据库,如果记录10个变量,是不是表结构还需要修改一下,改动有多大,仅仅是修改增加定义的表字段而不需要动别的地方吗?
复制代码


FlashDB 目前对于表结构没有太多依赖,非常灵活,改动很小,欢迎试用

出0入198汤圆

 楼主| 发表于 2020-7-16 09:38:10 | 显示全部楼层
waterx3 发表于 2020-7-15 15:50
同问,能否针对铁电给个例子。另外,如果定义分区发生变化时,需要怎么做? ...

暂时没有铁电的例子,你可以先用片上 flash 体验一下功能

没有太理解你说的分区变化是什么意思

出0入198汤圆

 楼主| 发表于 2020-7-16 09:38:52 | 显示全部楼层
ffbiao 发表于 2020-7-15 09:00
请问能否移植到操作spi fram?

当然可以的

出0入12汤圆

发表于 2020-7-16 09:53:18 | 显示全部楼层
sunnydragon 发表于 2020-7-16 09:38
暂时没有铁电的例子,你可以先用片上 flash 体验一下功能

没有太理解你说的分区变化是什么意思 ...

测试时建立一个分区用来测试功能,然后根据实际需要增加分区,改变分区大小。

出0入198汤圆

 楼主| 发表于 2020-7-16 10:20:31 | 显示全部楼层
waterx3 发表于 2020-7-16 09:53
测试时建立一个分区用来测试功能,然后根据实际需要增加分区,改变分区大小。 ...

分区不予许动态修改的,电脑上也是这样的,除非备份下数据,重新格式化,搬运过去

出0入10汤圆

发表于 2020-7-16 10:26:54 | 显示全部楼层
sunnydragon 发表于 2020-7-16 09:32
读取失效是什么意思?

FlashDB 有掉电保护功能,断电时保存失败了,会自动还原之前的最后一次正确记录 ...

就是比如 某一次读取flash的值 crc错误  那么数据应该用备份区的数据替代

出0入0汤圆

发表于 2020-7-16 14:47:59 | 显示全部楼层
printenv无法打印中文,如key=10086,value=中国移动通讯

出0入198汤圆

 楼主| 发表于 2020-7-17 14:38:53 | 显示全部楼层
jaywen 发表于 2020-7-16 10:26
就是比如 某一次读取flash的值 crc错误  那么数据应该用备份区的数据替代

这种功能挺简单的,没有问题

出0入198汤圆

 楼主| 发表于 2020-7-17 14:39:17 | 显示全部楼层
coolhorse 发表于 2020-7-16 14:47
printenv无法打印中文,如key=10086,value=中国移动通讯

修改你使用终端工具的字符编码

出0入0汤圆

发表于 2020-7-20 15:52:28 | 显示全部楼层
希望楼主抽时间再出个STM32L系列的demo

出40入18汤圆

发表于 2020-7-23 15:54:48 | 显示全部楼层
请问楼主你的文档在哪里找?想用但是没看懂

出0入0汤圆

发表于 2020-7-23 17:47:30 | 显示全部楼层
TSDB要删除其中某条怎么办?好像只看到全部清除的接口。

出0入198汤圆

 楼主| 发表于 2020-7-24 15:37:46 | 显示全部楼层
cooltommy 发表于 2020-7-23 15:54
请问楼主你的文档在哪里找?想用但是没看懂

目前还没有文档,正在准备中,可以直接看下示例文件,里面有详细的注释

出0入198汤圆

 楼主| 发表于 2020-7-24 15:39:26 | 显示全部楼层
flamma 发表于 2020-7-23 17:47
TSDB要删除其中某条怎么办?好像只看到全部清除的接口。

可以使用修改状态的 API 进行操作

出0入8汤圆

发表于 2020-7-24 16:13:03 | 显示全部楼层
有计划推出stm32H74x 的qspiflash用的demo吗

出0入0汤圆

发表于 2020-7-25 15:18:56 | 显示全部楼层
linux demo 来一个~

出0入0汤圆

发表于 2020-7-25 17:19:31 | 显示全部楼层
很不错,谢谢分享

出0入0汤圆

发表于 2020-8-4 00:49:25 | 显示全部楼层
sunnydragon 发表于 2020-7-16 09:38
暂时没有铁电的例子,你可以先用片上 flash 体验一下功能

没有太理解你说的分区变化是什么意思 ...

如果在铁电上使用?   有哪些需要注意的地方?

出0入0汤圆

发表于 2020-8-7 14:16:15 | 显示全部楼层
感谢,在嵌入式的kv这一块,不用东奔西走了

出0入0汤圆

发表于 2020-8-7 18:21:07 | 显示全部楼层
  stm32g0 系列的 不知道是否可用

出0入0汤圆

发表于 2020-9-13 20:47:38 | 显示全部楼层
早就想移入项目了,非常感谢。

出0入17汤圆

发表于 2021-3-2 17:02:44 | 显示全部楼层
大佬牛逼

出0入0汤圆

发表于 2021-3-3 18:32:44 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2021-7-24 23:26:51 | 显示全部楼层
sunnydragon 发表于 2020-7-24 15:39
可以使用修改状态的 API 进行操作

我看到文档说只是设置了删除标志,如何和KVDB一样删除,并收集垃圾?

出0入198汤圆

 楼主| 发表于 2021-7-25 17:28:22 | 显示全部楼层
fcmer2016 发表于 2021-7-24 23:26
我看到文档说只是设置了删除标志,如何和KVDB一样删除,并收集垃圾?

这个在循环写入后会覆盖

出0入0汤圆

发表于 2021-7-31 20:27:29 来自手机 | 显示全部楼层
能增加对esp32的支持吗

出0入198汤圆

 楼主| 发表于 2021-8-12 18:10:37 | 显示全部楼层
luoji 发表于 2021-7-31 20:27
能增加对esp32的支持吗

目前有支持 esp8266 的,都是基于 idf 的,应该都适用的吧?

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-12-11 10:45

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

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