FlashDB学习笔记一

FlashDB简介

FlashDB是一款特别适用于嵌入式系统的数据库,支持系统的片上Flash和片外Flash,具有极强的可靠性。资源占用极底,并加入磨损平衡控制。

数据库模式

  1. 键值对数据库KVDB:键值对数据库是一种关系型数据库,将数据存储为价值对key-value集合,键值key作为数据的唯一标签。
  2. 时序数据库TSDB:基于时间存储的数据库,按照系统时间顺序进行存储,时间戳作为数据的唯一标签。

应用场景

  1. 键值数据库
  • 系统参数的保存,比如:开机次数等
  • 用户配置信息的存储,比如:用户名和密码。
  • 小的数量的存储,比如bootloader和app。
  1. 时序数据库
    -动态记录传感器的数据,比如:温度,湿度,速度等。
    -记录系统运行日志,比如:用户登录信息,系统告警信息等。

数据库特点

  • 磨损平衡,延长Flash寿命。
  • 多个分区,多个实例
  • 支持掉电保护功能。
  • 支持每条TSDB可修改记录状态。
  • 支持KV增量升级,产品固件升级有,KVDB内容也支持自动升级。
  • 支持字符串blob两种KV类型,方面用户操作。
  • 内存占用几乎为0

性能及资源占用(来自FlashDB官方)

TSDB 性能测试1(nor flash W25Q64)

msh />tsl bench
Append 1250 TSL in 5 seconds, average: 250.00 tsl/S, 4.00 ms/per
Query total spent 2218 (ms) for 1251 TSL, min 1, max 2, average: 1.77 ms/per

插入平均:4ms,查询平均:1.8ms

TSDB性能测试2 (STM32F2 onChip flash)

msh />tsl bench
Append 13421 TSL in 5 seconds, average: 2684.20 tsl/S, 0.37 ms/per
Query total spent 1475 (ms) for 13422 TSL, min 0, max 1, average: 0.11 ms/per

插入平均:0.37秒, 查询平均:0.12ms

资源占用(STM32F4 IAR8.20)

Module ro code ro data rw data
------ ------- ------- -------
fdb.o 276 232 1
fdb_kvdb.o 4 584 356 1
fdb_tsdb.o 1 160 236
fdb_utils.o 418 1 024

上面是IAR的map的文件信息,课件FlashDB的资源占用非常低。

官方链接

链接: 进一步学习.

相关推荐

  1. FlashDB学习笔记

    2024-04-13 05:12:05       37 阅读
  2. Zephyr 学习笔记

    2024-04-13 05:12:05       59 阅读
  3. PyTorch学习笔记

    2024-04-13 05:12:05       51 阅读
  4. ResultBuilder 学习笔记()

    2024-04-13 05:12:05       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 05:12:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 05:12:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 05:12:05       82 阅读
  4. Python语言-面向对象

    2024-04-13 05:12:05       91 阅读

热门阅读

  1. CSS学习笔记

    2024-04-13 05:12:05       43 阅读
  2. HTML&CSS(二)---HTML常见标签

    2024-04-13 05:12:05       32 阅读
  3. 2024.4.12清空Google剩余的几个网址

    2024-04-13 05:12:05       42 阅读
  4. Objective-C网络请求开发的高效实现方法与技巧

    2024-04-13 05:12:05       42 阅读
  5. C++ 设计模式

    2024-04-13 05:12:05       39 阅读
  6. mysqlySQL中启用慢查询日志并设置阈值

    2024-04-13 05:12:05       34 阅读
  7. 大模型日报2024-04-12

    2024-04-13 05:12:05       47 阅读