Embedded Server. Загрузка БД из памяти

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
flyingbird
Сообщения: 2
Зарегистрирован: 06 ноя 2014, 14:39

Embedded Server. Загрузка БД из памяти

Сообщение flyingbird » 06 ноя 2014, 15:25

Добрый день!
Есть БД, состоящая из разных таблиц. Часть таблиц относятся к справочным данным, доступ к которым должен быть возможен только из кода программы.
Рассматриваю различные варианты, как это реализовать.
1. "Прозрачное" шифрование полей. Не очень подходит из-за большого кол-во операций шифровки/расшифровки
2. Перенести нужные таблицы в отдельную БД, сохранить ее в главной БД как блоб. При инициализации справочников происходит чтение, расшифровка и распаковка БД со справочниками в память.
При изменении "справочных" таблиц - упаковка, шифрование, update записи.
Думаю, на производительности это сильно не скажется, т.к. записей в этих таблицах не больше 5000, select blobdbfield / update происходят редко (при запуске программы/изменении справочника)

Собственно, вопрос:
Можно ли реализовать Embedded версию так, чтобы Embedded сервер загружал бд не из файла, а из памяти?

Спасибо!

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Embedded Server. Загрузка БД из памяти

Сообщение kdv » 06 ноя 2014, 16:57

Можно ли реализовать Embedded версию так
нет. в том смысле, что кроме вас этого никто делать не будет.
Вы же - да, можете самостоятельно переписать код embedded, чтобы перед createfile некий файл загружался в память, а дальше открывался именно оттуда.
Но если вы будете распространять такую версию Embedded, то вы будете обязаны выложить измененный код. И не будете иметь права называть модификацию Firebird-ом.

flyingbird
Сообщения: 2
Зарегистрирован: 06 ноя 2014, 14:39

Re: Embedded Server. Загрузка БД из памяти

Сообщение flyingbird » 06 ноя 2014, 17:23

Спасибо!
Распространять не буду, назову как-нибудь по-другому :))) Код не жалко)
Просто не хотелось так заморачиваться с переписыванием. Думал, может есть функция типа LoadFromBuf.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Embedded Server. Загрузка БД из памяти

Сообщение kdv » 06 ноя 2014, 20:59

Код не жалко)
тут нет такого, жалко или не жалко. модифицированный код вы обязаны предоставить по условиям лицензии.
Думал, может есть функция типа LoadFromBuf.
просто это никому не нужно. Обычно с БД работают и на чтение и на запись, а в вашем случае изменения будут только в памяти, что на компах пользователей весьма опасно потерей данных.
Я бы вам предложил не морочить голову, а класть ваши секретные таблицы в формат ClientDataSet, который как раз можно и в блоб положить.

Ответить