В экосистеме Go всегда был вопрос: какой драйвер для SQLite использовать? Исторически большинство решений опирались на CGO (вызовы нативной C-библиотеки SQLite), что давало надёжность и предсказуемую скорость. Но у CGO есть и минусы: сложность кросс-компиляции, зависимость от среды, ограничения на лёгкий деплой. Именно поэтому сообщество давно ждало чисто-Go альтернативы. Недавно появился свежий бенчмарк — go-sqlite-bench, где протестировали 9 драйверов под Debian 12 на Intel i7-1165G7. Результаты показали: универсального победителя нет, и всё упирается в конкретный сценарий. В тестах использовались реальные схемы с пользователями, статьями и комментариями. Настройки SQLite заданы жёстко (PRAGMA synchronous=FULL, PRAGMA journal_mode=DELETE), что отражает боевые условия с полной надёжностью записи. Любопытно, что чисто-Go драйверы (modernc, glebarez, ncruces) пока отстают: они удобны (без CGO), но скорость часто хуже в 2–4 раза. Тем не менее факт, что они вообще работают на продакшн-наг
🗄️ Какой SQLite-драйвер выбрать для Go: тесты показали, что всё зависит от задачи
22 августа 202522 авг 2025
6
2 мин