搜索
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

出0入198汤圆

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

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

好政策~~多谢莫大支持

出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入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入198汤圆

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

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

出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入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入198汤圆

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

这个在循环写入后会覆盖

出0入198汤圆

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

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

本版积分规则

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

GMT+8, 2024-5-7 10:40

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

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