1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Armink-FlashDB

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 7.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 08.03.2025 14:12 ad660a1

GitHub Action License Documentation

EN | Русский

Введение

FlashDB — это сверхлегковесная встраиваемая база данных, ориентированная на предоставление решений для хранения данных в продуктах с ограниченными ресурсами. FlashDB поддерживает традиционный режим работы с базой данных на основе файловой системы и сочетает в себе характеристики флэш-памяти, обеспечивая высокую производительность и надежность при минимальном потреблении ресурсов.

FlashDB предлагает два типа баз данных:

  • Ключ-значение (KV) : Это нереляционная база данных, которая хранит данные в виде набора пар ключ-значение, где ключ является уникальным идентификатором. Операции с KV базой данных просты и масштабируемы.
  • База данных временных рядов (TSDB) : База данных временных рядов (Time Series Database, TSDB) хранит данные в порядке времени. Данные TSDB имеют метку времени, что позволяет эффективно хранить большие объемы данных и быстро выполнять операции вставки и запроса.

Приглашаем вас звездить и форкать проект: https://gitee.com/armink/FlashDB

Примеры использованияСегодня количество продуктов Интернета вещей постоянно увеличивается, а типы и объёмы данных, создаваемых во время выполнения, также становятся всё больше. FlashDB предлагает различные решения для хранения данных, которые обеспечивают низкое потребление ресурсов и большую ёмкость хранения, что делает его идеальным выбором для продуктов Интернета вещей. Вот некоторые основные примеры применения:

  • Ключ-значение (KV) :
    • Хранение параметров продукта
    • Хранение информации конфигурации пользователя
    • Управление малыми файлами
  • База данных временных рядов (TSDB) :
    • Хранение динамически генерируемых структурированных данных: например, данные от датчиков температуры и влажности для мониторинга окружающей среды, данные о здоровье человека, записанные в реальном времени смарт-часами
    • Хранение логов выполнения: история выполнения продукта, записи об ошибках и тревожных сообщений

Основные характеристики- Минимальное потребление ресурсов, использование памяти практически равно 0;

  • Поддержка нескольких разделов и нескольких экземпляров. При большом объеме данных можно детализировать разделы, снижая время поиска;
  • Поддержка балансировки износа, продлевая срок службы флэш-памяти;
  • Поддержка функции защиты от потери питания, повышая надёжность;
  • Поддержка двух типов данных для ключ-значения (строка и blob), что удобно для пользователей;
  • Поддержка инкрементального обновления ключ-значения, позволяющее автоматически обновлять содержимое KV базы данных после обновления прошивки продукта;
  • Поддержка изменения состояния каждой записи TSDB, что удобно для управления данными пользователем.## Пропускная способность и использование ресурсов### Тест производительности TSDB 1 (SSD NOR Flash W25Q64)
msh />tsl bench
Добавление 1250 TSL за 5 секунд, среднее значение: 250.00 TSL/с, 4.00 мс/пер
Запрос всего затратил 2218 (мс) для 1251 TSL, минимальное время 1 мс, максимальное время 2 мс, среднее значение: 1.77 мс/пер

Среднее время вставки: 4 мс, среднее время запроса: 1.77 мс

Тест производительности TSDB 2 (STM32F2 On-Chip Flash)

msh />tsl bench
Добавление 13421 TSL за 5 секунд, среднее значение: 2684.20 TSL/с, 0.37 мс/пер
Запрос всего затратил 1475 (мс) для 13422 TSL, минимальное время 0 мс, максимальное время 1 мс, среднее значение: 0.11 мс/пер

Среднее время вставки: 0.37 мс, среднее время запроса: 0.12 мс

Использование ресурсов (STM32F4 IAR8.20)

    Модуль                 код RO   данные RO  данные RW
    ------                 -------  --------   --------
    fdb.o                      276         232          1
    fdb_kvdb.o                4 584         356          1
    fdb_tsdb.o                1 160         236
    fdb_utils.o                   418       1 024

Выше приведена информация из файла map IAR, видно, что использование ресурсов FlashDB очень низкое.

Как использовать

FlashDB предоставляет полное руководство пользователя, подробнее см.: https://www.bookstack.cn/read/flashdb-2.1-zh/README.md

Быстрый доступ:

Поддержка

Если FlashDB помог вам решить проблему, не забудьте воспользоваться QR-кодом выше и пригласить меня на кофе!

Лицензия

Используется лицензионное соглашение Apache-2.0, детали см. в файле LICENSE проекта.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Armink-FlashDB.git
git@api.gitlife.ru:oschina-mirror/Armink-FlashDB.git
oschina-mirror
Armink-FlashDB
Armink-FlashDB
master