SQLite WAL: общий сетевой каталог не превращает локальную базу в сервер
Фотография конкретного исполнения не приложена.
WAL SQLite использует общий индекс журнала и предполагает, что работающие с базой процессы находятся на одном компьютере. Такой режим не рассчитан на открытие одной базы через сетевую файловую систему с нескольких машин. Доступность общего каталога не подтверждает соблюдение механизмов координации базы.
Для распределённого сбора телеметрии проектируют отдельную границу доступа: например, один владелец локальной базы и прикладной сетевой интерфейс к нему. Это отличается от прямого открытия файла всеми удалёнными клиентами. Выбор архитектуры должен быть сделан до того, как общий путь появится в настройках нескольких сборщиков.
Есть и другая граница атомарности: в WAL изменения нескольких ATTACHed-баз атомарны для каждой отдельной базы, но не для всего набора совместно. Если метаданные пакета и измерения распределены между файлами, единый прикладной результат нельзя считать обеспеченным только наличием одной транзакции в коде.
В приёмке описывают реальные пути хранения, владельцев connection и сценарий отказа между связанными файлами. Проверяют границы предусмотренного интерфейса доступа. Успешный небольшой тест на общем диске не подтверждает поддерживаемую многомашинную WAL-архитектуру или общую атомарность всех файлов архива.
Основание — SQLite official unversioned documentation snapshot; Download index observed 3.54.1, individual pages not version-tagged, разделы 1. Overview; 7. WAL-index shared memory. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Установленная библиотека, сборка, файловая система и база узла не проверялись. Это проектный сценарий; SQL и сервисные операции на реальных данных не выполнялись.