Sqlite: формат, которому доверяет библиотека конгресса
Представь: ты архивариус в огромном архиве. Твоя задача — сохранить документы на 100 лет вперёд. Бумага истечёт, диски сломаются, серверы устареют. Что делать?
Вот такую же задачу решают в Библиотеке Конгресса США — крупнейшей библиотеке мира. И знаешь, какой формат они выбрали для важных данных? SQLite (простая встроенная база данных в одном файле).
Почему это вообще важно?
Когда речь идёт о долгосрочном хранении данных, есть проблема: форматы умирают. Вспомни файлы WordStar (древняя программа для редактирования текста из 80-х годов) или древние базы dBase (одна из первых программ для работы с базами данных из 80-х) — чтобы их прочитать, нужно специальное ПО, которого уже нигде не найдёшь.
Библиотека Конгресса озаботилась этим вопросом и составила список так называемых рекомендуемых форматов хранения (recommended storage formats). Это форматы, которые, по мнению экспертов по сохранению цифрового наследия, максимально увеличивают шансы данных пережить десятилетия и остаться доступными.
Раньше в этом списке были XML (язык разметки для структурированных данных — как этикетка с полями), JSON (формат данных, похожий на список свойств объекта) и CSV (таблица в виде простого текста, где значения разделены запятыми). А потом добавили SQLite — причём совсем недавно, в 2018 году.
Что делает формат «рекомендуемым»?
Библиотека Конгресса оценивает форматы по шести критериям:
1. Раскрытие (Disclosure) — насколько открыта документация? Можно ли найти полную спецификацию (подробное описание того, как работает формат) и инструменты для проверки целостности (данные не повреждены и не искажены)?
2. Популярность (Adoption) — кто уже использует этот формат? Чем больше людей и организаций, тем лучше.
3. Прозрачность (Transparency) — можно ли хоть что-то прочитать без specialized tools? Идеально — если данные открываются в обычном текстовом редакторе.
4. Самодокументация (Self-documentation) — содержит ли формат метаданные о себе? Версия, кодировка, структура — чтобы через 50 лет не гадать.
5. Внешние зависимости (External Dependencies) — зависит ли формат от конкретного железа или софта? Чем меньше зависимостей, тем лучше.
6. Патенты и защита — есть ли патенты, которые мешают использовать формат? Зашифрован ли файл так, что его нельзя прочитать без ключа?
SQLite проходит almost везде. Давай разберём.
Почему sqlite победил?
КРИТЕРИЙ │ SQLite │ Традиционные БД ───────────────────────┼─────────────────┼───────────────── Раскрытие │ ✅ Полное │ ⚠️ Частичное Популярность │ ✅ Миллионы │ ✅ Широкая Прозрачность │ ⚠️ Только hex │ ❌ Бинарный blob Самодокументация │ ✅ Схема внутри │ ⚠️ Зависит от Внешние зависимости │ ✅ Ноль │ ⚠️ Сервер, ОС Патентная защита │ ✅ Public Domain│ ✅/⚠️ Варьируется ───────────────────────┴─────────────────┴───────────────── ✓ — проходит ⚠️ — частично ❌ — провал
Главное — SQLite это один файл. Один. Переместил на флешку, записал в архив, положил на полку. Никаких серверов, никаких зависимостей, никакой магии. Через 50 лет откроешь этот файл — и данные на месте. Именно поэтому Библиотека Конгресса добавила его в свой список.
Итого
SQLite — один из немногих форматов, который удовлетворяет всем шести критериям долгосрочного хранения. Неудивительно, что его выбрала крупнейшая библиотека мира.
Ссылки
- SQLite Is a Library of Congress Recommended Storage Format — официальное заявление о включении SQLite в список рекомендованных форматов.
Дмитрий Полухин — продуктовый дизайнер. Пишу про разработку, AI и дизайн интерфейсов. Обо мне, контакты и профили.