powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Локальная Б.Д. для Микропроцессора
10 сообщений из 10, страница 1 из 1
Локальная Б.Д. для Микропроцессора
    #36497864
ox0002
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Проекте СУБД должна работать локально, проект - железка по сбору данных на Микропроцессоре , О.С своя (т.е. не Linux/Win32,...) Б.Д. желательно одним Файлом, поскольку по GSM/GPRS каналу файл передаётся на Windows-Компьютер (XP/ W7)

Требования к Б.Д.: сохранение полей с достаточно большими (10... 60 Кб) бинарными данными,
кол-во вложений - до 6 (иерархия) . Число записей - до 1000.

Думаю - SQLite, ибо Си исходники доступны и как я понимаю, не требуется установка Сервера.

Что ещё есть ??

Спасибо.
...
Рейтинг: 0 / 0
Локальная Б.Д. для Микропроцессора
    #36497877
morruth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ox0002,

BerkeleyDB посмотрите
...
Рейтинг: 0 / 0
Локальная Б.Д. для Микропроцессора
    #36498078
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ox0002проект - железка по сбору данных на МикропроцессореУ Вас бедному arm-у или кто там еще настолько нечем заняться, что его, маленького, надо заставлять SQL парсить и планы запросов строить? В порядке трудотерапии
ox0002О.С своя (т.е. не Linux/Win32,...)Угу. И файловая система своя... Без файлов :) Любые исходники придется переписывать основательно.
ox0002Б.Д. желательно одним Файлом, поскольку по GSM/GPRS каналу файл передаётся на Windows-Компьютер (XP/ W7)Что, каждый раз весь целиком заново? На GSM с его 9600 - точно разоритесь, про время помолчим. С GPRS - тоже не дешево. Может, все-таки изменения сливать?
ox0002Требования к Б.Д.: сохранение полей с достаточно большими (10... 60 Кб) бинарными данными
кол-во вложений - до 6 (иерархия) . Число записей - до 1000.
Думаю - SQLite, ибо Си исходники доступны и как я понимаю, не требуется установка Сервера.
Думаю, гораздо легче, чем толстые исходники переписывать, взять любую либу с навигацией по плоским таблицам, типа dbase (не к ночи будь помянут :) ). Как вариант - подумать над собственным бинарным хранением иерархии, например. Вряд ли Вам на контроллере больше 1-го индекса надо, а это на С++, например, реализовать тривиально, да и готовых либ куча.
А на сервере - простенький парсер, вставляющий изменения в любую нормальную СУБД.
...
Рейтинг: 0 / 0
Локальная Б.Д. для Микропроцессора
    #36498750
f_w_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ox0002В Проекте СУБД должна работать локально, проект - железка по сбору данных на Микропроцессоре.
О! На Микропроцессоре ! О!!!
P.S. Вообще то Pentium Core2 тоже микропроцессор. Так что берите Oracle.
...
Рейтинг: 0 / 0
Локальная Б.Д. для Микропроцессора
    #36498885
maniac85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
f_w_p
О! На Микропроцессоре ! О!!!
P.S. Вообще то Pentium Core2 тоже микропроцессор. Так что берите Oracle.А оракл уже портировали на свою ОС?
...
Рейтинг: 0 / 0
Локальная Б.Д. для Микропроцессора
    #36499039
ox0002
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я глупец, действительно!

SQL на MPU + GPRS Глупая идея! Буду Создавать простейшую Табличную Б.Д.(типа списка + DATA), а Сервер + нормальную СУБД реализовывать уже на Windows машине.

Это единственный реальный вариант,

Всем спасибо!
...
Рейтинг: 0 / 0
Локальная Б.Д. для Микропроцессора
    #36501438
maniac85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ox0002Я глупец, действительно!
ну хоть одно обсуждение на этом форуме добилось своей цели)
...
Рейтинг: 0 / 0
Локальная Б.Д. для Микропроцессора
    #36545109
ARTURV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ox000
Взгляните в сторону Sybase ASA
...
Рейтинг: 0 / 0
Локальная Б.Д. для Микропроцессора
    #36546257
Толстый_Троль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ox0002В Проекте СУБД должна работать локально, проект - железка по сбору данных на Микропроцессоре , О.С своя (т.е. не Linux/Win32,...) Б.Д. желательно одним Файлом, поскольку по GSM/GPRS каналу файл передаётся на Windows-Компьютер (XP/ W7)


Что за процессор? Если ARM9 то хоть Firebird. Если что-то типа ARM7 то обычный файл разделённый запятыми (аля CSV) который сжатый библиотекой zlib будет кидатся на хост на котором уже парсится.
...
Рейтинг: 0 / 0
Локальная Б.Д. для Микропроцессора
    #36546718
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ox0002, 2 мар 10, 17:23 [8419991]
Что ещё есть ??
Примерь на свой случай и такой подход:
1. Создаем в среде ПО микроконтроллера "var-массив" или таблицу значений текущего состояния объекта(ов) и несколько программых потоков, его формирующих (аналоговые параметры по важности, дискретные и т.п.)
2. Создаёь программый поток(и) для формирования "снимков" текущего текущего состояния (всего
или фрагмента) по времени, их сериализации в byte[]
4. Создаём подобную конструкцию:
//=========================================================================================

static int изССД = 0; //-- индекс записи
static int ичССД = 0; //-- индекс чтения
const int рцмССД = 1024; //-- размер циклического массива СообщенияСерверуДанных в сообщениях
static byte[][] СообщенияСерверуДанных = new byte[рцмССД][];

//-- Читаем сообщение из циклического массива СообщенияИнтернетСервис
//-- выход: byte[] - байтовая строка сообщения
//=================================================
byte[] fЧтениеСообщенияСерверуДанных_lock() {
byte[] xbb;
lock(СообщенияСерверуДанных) {xbb=fЧтениеСообщенияСерверуДанных();}
return xbb;
}
byte[] fЧтениеСообщенияСерверуДанных() {
byte[] xbb = null;
if (изССД != ичССД) { //-- Есть не обработанный запрос
xbb = СообщенияСерверуДанных[ичССД]; СообщенияСерверуДанных[ичССД] = null;
ичССД= (++ичССД) % рцмССД;
}
return xbb;
}
void fЗаписьСообщенияСерверуДанных_lock(byte[] bbb) {
lock (СообщенияСерверуДанных) { fЗаписьСообщенияСерверуДанных(bbb); }
}
void fЗаписьСообщенияСерверуДанных(byte[] bbb) {
СообщенияСерверуДанных[изССД] = bbb; //-- Запись тела сообщения
изССД = (++изССД) % рцмССД;
if (изССД == ичССД) ичССД = (++ичССД) % рцмССД; //-- При необходимости изменим индекс чтения
}

Это демпфер данных - в каком то смысле аналог база данных неограниченного размера, где новые записи затирают старые с сохранением порядка - FIFO. (текст демпфера на С#, lock - потоковый семафор, остальное понятно из контекста)
5. Создаем программый поток связи с верхним уровнем, что читает снимки из демпфера и передает наверх. Не увлекайся передачей пакетов большого размера - при плохой сети возможны частые повторы передачи для коррекции ошибок, что уменьшит скорость трафика

С уважением, Владимир.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Локальная Б.Д. для Микропроцессора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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