powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Низкоуровневая БД для MCU
5 сообщений из 5, страница 1 из 1
Низкоуровневая БД для MCU
    #32676124
v'unosh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Господа.

Первое моё сообщение на sql.ru
Сам я с БД знаком мало - это вероятно самое слабое место в моём программерском education.
Однако появилась у меня задача.
- Есть микроконтроллер: памяти немного, с производительностью всё ещё хуже. Пишу модуль на C. Модуль должен быть оч. хорошо переносим на др. платформу
- Есть разнородные физические объекты, информацию о которых надо хранить в различных видах памяти (eeprom, flash, RAM)
- EEPROM отличается тем, что у неё ограниченное число циклов перезаписи (а значит к некоторым объектам нужно по реже обращаться, если можно)
- Нет даже malloc - т.е. будет заранее выделятся фикс. объём памяти, который затем будет побайтово заполнятся по мере необходимости

Есть выбор:
1)Либо хранить всё в виде последовательности записей фиксированного типа (либо int32, либо string, либо ещё чего-нибудь) (но надо понимать, что это всё равно будет не реляционная Бд: никаких индексов, линков полей в таблицах и пр. не будет). Тогда каждый реальный объект может описываться как одной, так и несколькими единицами данных в БД. Число обращений максимально. Код не красивый - мало похоже на ООП подход . Функции:
get_integer(ID), get_string(ID), get_alarm(ID)


Но легче осуществлять поиск, и как говорят опытные люди, легче модифицировать содержимое БД в будущем. Тем более, что возможно придётся с PC напрямую подменять содержимое БД путём обращения к области памяти, в которой хранится БД.

2) Либо хранить всё по блокам. Каждому реал. объекту - в соотвестствие ставим одну запись в БД.
Тогда работать удобнее, ближе к ООП (чего мне очень хочется), меньше обращений к eeprom.
Функции:
get(ID,void *pObject)




Что выбрать?
Где найти src для какой-нибудь допотопной нереляционной БД?
Заранее спасибо!
...
Рейтинг: 0 / 0
Низкоуровневая БД для MCU
    #32683416
Yossarian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подобного рода задачи решали при проектировании сначала
Newton PDA, потом PAlm. Решили, надо сказать, неважно.
Если разработка ведется для микроконтроллера и по памяти есть
ограничения, то требование
>Модуль должен быть оч. хорошо переносим на др. платформу
само по себе некорректно.
ИМХО проще всего написать что-то свое, уйдет на это месяц
напряженной работы, зато оно будет хорошо соответствовать
задаче.
"Реляционность" БД вообще мало отношения имеет к вопросу. В
частности реляционная модель вовсе не предполагает существования
индексов или "линков"



Washington Irving
...
Рейтинг: 0 / 0
Низкоуровневая БД для MCU
    #32684255
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--допотопной нереляционной БД?


зачем же допотопной. Пользуйтесь XML - легко модифицируемая на любой платформе. НЕту правды реализаций QueryXML на всех платформах.
Но если не заморачиваться с SQL запросам, а пользоваться DOM моделью - то самое то для встаивамых систем и удовлетворяем вашим условиям.
...
Рейтинг: 0 / 0
Низкоуровневая БД для MCU
    #32684792
Shultze
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нуу , какой XML на микроконтроллере... По моему лучше всего определить фиксированную структуру данных и хранить ее в выделенной памяти, при этом держать битовый массив по длине блока памяти где проставлять флаги - занят блок или удален, уже ускорение поиска. Во вторых индекс можно создать в простом массиве отсортировав допустим первые три символа какой либо строки - ключа, еще большее ускорение поиска.
Т.е. в принципе все действия в рамках оптимизации работы с массивами (разреженными массивами).
Можно посмотрет и в сторону связанных списков. Написать собственный менеджер памяти именно для этой задачи (управления структурами данных) в общем поле для деятельности широко, задача интересна
...
Рейтинг: 0 / 0
Низкоуровневая БД для MCU
    #32688529
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--XML на микроконтроллере...

а в чем проблема ?

написанная мной реализация парсера меньше 4К - это не обьем даже для древних микроконтроллеров
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Низкоуровневая БД для MCU
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]