Добрый день!
Есть БД, состоящая из разных таблиц. Часть таблиц относятся к справочным данным, доступ к которым должен быть возможен только из кода программы.
Рассматриваю различные варианты, как это реализовать.
1. "Прозрачное" шифрование полей. Не очень подходит из-за большого кол-во операций шифровки/расшифровки
2. Перенести нужные таблицы в отдельную БД, сохранить ее в главной БД как блоб. При инициализации справочников происходит чтение, расшифровка и распаковка БД со справочниками в память.
При изменении "справочных" таблиц - упаковка, шифрование, update записи.
Думаю, на производительности это сильно не скажется, т.к. записей в этих таблицах не больше 5000, select blobdbfield / update происходят редко (при запуске программы/изменении справочника)
Собственно, вопрос:
Можно ли реализовать Embedded версию так, чтобы Embedded сервер загружал бд не из файла, а из памяти?
Спасибо!
Embedded Server. Загрузка БД из памяти
Модератор: kdv
-
- Сообщения: 2
- Зарегистрирован: 06 ноя 2014, 14:39
Re: Embedded Server. Загрузка БД из памяти
нет. в том смысле, что кроме вас этого никто делать не будет.Можно ли реализовать Embedded версию так
Вы же - да, можете самостоятельно переписать код embedded, чтобы перед createfile некий файл загружался в память, а дальше открывался именно оттуда.
Но если вы будете распространять такую версию Embedded, то вы будете обязаны выложить измененный код. И не будете иметь права называть модификацию Firebird-ом.
-
- Сообщения: 2
- Зарегистрирован: 06 ноя 2014, 14:39
Re: Embedded Server. Загрузка БД из памяти
Спасибо!
Распространять не буду, назову как-нибудь по-другому )) Код не жалко)
Просто не хотелось так заморачиваться с переписыванием. Думал, может есть функция типа LoadFromBuf.
Распространять не буду, назову как-нибудь по-другому )) Код не жалко)
Просто не хотелось так заморачиваться с переписыванием. Думал, может есть функция типа LoadFromBuf.
Re: Embedded Server. Загрузка БД из памяти
тут нет такого, жалко или не жалко. модифицированный код вы обязаны предоставить по условиям лицензии.Код не жалко)
просто это никому не нужно. Обычно с БД работают и на чтение и на запись, а в вашем случае изменения будут только в памяти, что на компах пользователей весьма опасно потерей данных.Думал, может есть функция типа LoadFromBuf.
Я бы вам предложил не морочить голову, а класть ваши секретные таблицы в формат ClientDataSet, который как раз можно и в блоб положить.