Скорость работы и объем хранения

Ренат

Участник
#1
Доброго дня. Хотелось бы для себя понять, удобство использования Книги, в частности очень понравилась идея хранения данных в Книге под паролем. Насколько я понял, в этом случае при открытии Книги на чужом Компе, никакие сведения на Компе - не сохраняться. Планируется, что Книга будет храниться на внешнем (переносном) диске. Отсюда вопросы: во-первых, происходит ли сжатие файлов при сохранении их в книге (т.е. смогу ли я сэкономить место на диске). Во-вторых, какой способ открытия файла будет быстрее: обычное открытие файла просто хранящегося на внешнем диске или открытие файла хранящегося в Книге на этом же внешнем диске. (почему спрашиваю: пользуюсь Базой Руна, и заметил, что открытие базы хранящейся на самом компьютере осуществляется значительно быстрее этой же Базы хранящейся на внешнем (переносном) диске подключенному к этому же компьютеру. (Примечание: я понимаю, что это связано с месторасположением Базы Руна, но хотелось бы понять что будет оперативней, хранить файлы кучей просто на диске или же "засунуть" их все в Книгу). Заранее благодарю за ответ.
 

Vladimir

Администратор
Команда форума
#2
Добрый день.
При установке пароля для книги, файл базы данных (SQLite) шифруется по алгоритму AES, а все приложенные файлы из внешних каталогов (по каталогу на каждую запись) перемещаются в базу данных. Соответственно файл БД увеличивается на размер всех файлов. При большом числе файлов или их больших размеров, файл БД может очень существенно увеличиться, что заметно скажется на скорости работы с книгой.
При открытии приложенного файла из зашифрованной книги, он помещается во временную папку и открывается штатными программами операционной системы. Также при работе с зашифрованной книгой допускается работа только с одним файлом.
На время сеанса работы программы, производится слежение за извлечённым файлом и, в случае обнаружения его изменения, он записывается обратно в базу. При закрытии программы производится попытка удаления копии приложенного файла. Также при открытии программы производится поиск файлов во временном каталоге и удаление копий ранее открытых файлов.
Вся работа производится только в каталоге программы - в другие места рабочего компьютера информация не помещается, соблюдая конфиденциальность работы.
Сжатия файлов не производится, так как это замедлит и так длительную операцию извлечения файла из зашифрованной БД. Ну и скорость работы конечно зависит от быстродействия накопителя, на котором производится работа.