Что такое формат файла SQLITE?
Файлы с расширением .sqlite - это файлы баз данных, созданные с использованием библиотеки SQLite - автономной безсерверной системы для хранения и управления реляционными базами данных. Данные в файлах .sqlite организованы в таблицы, и каждая таблица может состоять из любого количества столбцов и записей, предназначенных для хранения различных типов данных. Внутри файл использует структуру B-дерева (B-tree), разделенную на страницы фиксированного размера, и всегда начинается с 16-байтовой магической строки ASCII SQLite format 3, что делает его узнаваемым независимо от используемого расширения - та же база данных может также иметь расширения .db, .sqlite3 или .db3.
Доступ к файлам .sqlite никак не ограничен, и управление ими может осуществляться с помощью многих программ и языков программирования, которые распознают и поддерживают этот формат. В результате файлы баз данных .sqlite используются для хранения многих видов структурированных данных: списков клиентов, каталогов товаров, настроек приложений и любого другого контента, требующего упорядоченной структуры. Поэтому формат обычно встроен в веб-браузеры, мобильные операционные системы и бесчисленные настольные приложения в качестве встроенного движка базы данных, не требующего отдельного серверного процесса.
Безопасность и защита
РИСК: MEDIUMФайл .sqlite - это данные, а не код, поэтому открывать его в просмотрщике безопасно. Однако относитесь к СОДЕРЖИМОМУ как к конфиденциальному: базы данных SQLite приложений и браузеров часто содержат личные сообщения, контакты, историю, токены и данные о местоположении - не загружайте личные базы данных в онлайн-просмотрщики и отдавайте предпочтение локальным инструментам (DB Browser/sqlite3). Никогда не запускайте SQL из ненадежного источника в своей базе данных (это может привести к удалению данных через DROP/DELETE). Имейте в виду, что у базы данных могут быть сопутствующие файлы -wal/-shm, содержащие последние изменения.
Детали формата
в двух словахПрограммы, открывающие файлы SQLITE
Технические подробности
глубокая спецификация| Движок хранения | B-дерево; строки таблиц хранятся в B-деревьях таблиц, записи индексов - в B-деревьях индексов |
| Размер страницы | от 512 до 65 536 байт на страницу; по умолчанию 4 096 байт (начиная с SQLite 3.12, 2016 г.) |
| Заголовок файла | Фиксированный 100-байтовый заголовок базы данных; первые 16 байт - магическая строка ASCII «SQLite format 3», за которой следует NUL-байт |
| Порядок байтов | Big-endian для всех многобайтовых целых чисел в заголовке файла и страницах B-дерева |
| Кодировка текста | UTF-8, UTF-16LE или UTF-16BE; выбирается при создании и записывается в заголовке файла |
| Типы данных | Пять классов хранения: NULL, INTEGER, REAL, TEXT, BLOB; динамическая система типизации (type affinity) |
| Модель транзакций | ACID-совместимая; поддерживает режимы журнала отката (rollback journal) и упреждающей записи (WAL) |
| Макс. размер базы данных | До ~281 ТБ (теоретический максимум при размере страницы 65 536 байт и максимальном количестве страниц) |
| Параллелизм | Блокировка на уровне файла; режим WAL позволяет нескольким параллельным читателям работать одновременно с одним писателем |
| MIME-тип | application/vnd.sqlite3 (также application/x-sqlite3 в старых версиях) |
| Каталог схемы | Внутренняя схема хранится в таблице sqlite_schema (ранее sqlite_master) внутри самого файла |
| Альтернативные расширения | .db, .sqlite3, .db3, .s3db - формат идентифицируется по магическим байтам заголовка, а не по расширению файла |
| Автовакуум | Дополнительный режим AUTOVACUUM автоматически освобождает пустые страницы; без него свободные страницы используются повторно на месте |
| Встроенное использование | Используется внутри Android, iOS, Firefox, Chrome, Safari, macOS и многих других платформ |
| Выпущен | SQLite 1.0 in 2000; the current SQLite 3 file format since 2004 |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.sqlite.org |
Конвертации SQLITE
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах SQLITE.