Quick start

This document will help users quickly use FlashDB on the demo platform and experience the actual use of FlashDB

basic concepts

  • Key-Value Database (KVDB): It is a non-relational database that stores data as a collection of key-value pairs, where the key is used as a unique identifier. KVDB has simple operation and strong scalability.
  • Time Series Data (TSDB): Time Series Database (TSDB), which stores data in time sequence. TSDB data has a timestamp, a large amount of data storage, and high insertion and query performance.
  • Time series log (TSL): TSL (Time series log) is the abbreviation of each record in TSDB.
  • Blob: In a computer, blob is often a field type used to store binary files in a database. In FlashDB, both KV and TSL use the blob type for storage, which can be compatible with any variable type.
  • Iterator: It allows users to visit every element in the container through a specific interface without knowing the underlying implementation. Both TSDB and KVDB support traversal access to the database through iterators.

Functional block diagram

Through the following functional block diagram, you can roughly understand the FlashDB functional module division

flashdb_framework

Prepare the development environment

Before use, you need to install the following development software on your PC in advance

Integrated Development Environment

The demo project provided by FlashDB supports two projects by default:

  • RT-Studio: Free to use, easy to use, download address: https://www.rt-thread.io/studio.html
  • Keil MDK: MDK v5 version of the integrated development environment needs to be installed

Serial port tool

Prepare Serial debugging assistant or Serial terminal tool, and you need to use it when viewing the running log later

Get the source code

The latest code is currently hosted on GitHub. The master branch is the development version. It is recommended to download the released version

Choose a demo platform

In the demos directory of the project, the following demonstration platforms are currently provided. You can choose a platform and experience the running process of FlashDB on a real machine.

For more detailed introduction, click on the instructions in the table below to view.

Platform Path Storage Type Instructions
stm32f10x demos/stm32f103ve stm32 on-chip flash click to view
stm32f40x demos/stm32f405rg stm32 on-chip flash click to view
stm32f40x + spi flash demos/stm32f405rg_spi_flash spi flash click to view
esp8266 + spi flash demos/esp8266_spi_flash spi flash click to view
linux demos/linux posix file click to view

View sample description

If you don’t have a suitable demo platform above, you can also check the example instructions you are interested in first.

Sample file Description Detailed explanation
samples/kvdb_basic_sample.c KVDB basic example click to view
samples/kvdb_type_string_sample.c KV example of string type click to view
samples/kvdb_type_blob_sample.c Blob type KV example click to view
samples/tsdb_sample.c TSDB basic example click to view