RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite как формат файла приложения

Примечание: текущая страница это краткий обзор того, почему SQLite делает хороший формат файла приложения. Тему рассматривают в деталях в отдельном техническом примечании.

SQLite использовался с большим успехом в качестве формата на дисковом файле для настольных приложений, таких как системы управления версиями, финансовые аналитические инструменты, каталогизация СМИ и видеомонтажные приложения, пакеты CAD, программы ведения учета и т.д. Традиционная операция File/Open вызывает sqlite3_open(), чтобы присоединить файл базы данных. Обновления происходят автоматически, когда содержимое приложения меняется, опция File/Save становится лишней. File/Save_As может быть осуществлена, используя backup API.

Есть много преимуществ для использования SQLite как формат файла приложения, включая:

  1. Лучшая работа
    • Чтение и написание базы данных SQLite часто быстрее, чем чтение и написание отдельных файлов. Посмотрите на 35% быстрей файловой системы и внутренние и внешние BLOB.
    • Приложение должно только загрузить данные, в которых оно нуждается, вместо того, чтобы читать весь файл и держать полный разбор в памяти.
    • Маленькие изменения переписывают только части файла, которые изменяются, уменьшая время записи и износ твердотельных дисков.
  2. Уменьшенная прикладная стоимость и сложность
    • Никакой код I/O файла для приложения не нужен.
    • К содержанию можно получить доступ и обновить его, используя краткие SQL-запросы вместо долгого и подверженного ошибкам процедурного доступа.
    • Формат файла может быть расширен в будущих выпусках, просто добавив новые таблицы и/или колонку, сохранив совместимость.
    • Приложения могут применять полнотекстовый поиск и индексы RTREE, а также использовать триггеры, чтобы осуществить стек undo/redo.
    • Исполнительные проблемы могут часто решаться, даже поздно в цикле разработки, используя CREATE INDEX, избегая дорогостоящей модернизации.
  3. Мобильность
    • Файл приложения портативный через все операционные системы, 32 бита и 64 бита.
    • Куча программ, возможно написанных на различных языках программирования, может получить доступ к тому же самому файлу приложения без проблем совместимости.
    • Многократные процессы могут обращаться к тому же самому файлу приложения и могут читать и писать, не вмешиваясь в другие приложения.
    • Разнообразное содержание, которое могло бы иначе быть сохранено как груда файлов, заключено в капсулу в файл для более простой транспортировки через scp/ftp, хранилище с интерфейсом USB и/или почтовое приложение.
  4. Надежность
    • Содержание может обновляться непрерывно и атомарно так, чтобы минимальная работа была потеряна при перебое в питании.
    • Ошибки намного менее вероятны в SQLite, чем в написанном обычном коде файлового ввода-вывода.
    • SQL-запросы во много раз меньше, чем эквивалентный процедурный код, а так как число сбоев на строку кода примерно постоянное, это означает меньше ошибок в целом.
  5. Доступность
    • Содержание базы данных SQLite может быть рассмотрено, используя много разных инструментов.
    • Содержание, сохраненное в базе данных SQLite, более вероятно, будет доступно в будущем, еще долго после того, как все следы исходного приложения будут потеряны. Данные живут дольше, чем код.
    • Файлы базы данных SQLite рекомендованы US Library of Congress как формат хранения для долгосрочного сохранения цифрового контента.

SQLite позволяет файлам базы данных иметь любое желаемое расширение файла, таким образом, применение может выбрать свое расширение файла для своего собственного использования при желании. Прагма application_id может использоваться, чтобы установить целое число "Application ID" в файле базы данных так, чтобы такие инструменты, как file(1), могли решить, что файл связан с вашим приложением и не является просто универсальной базой данных SQL.