powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / sqlite 3.6.5 + journal_mode = MEMORY
4 сообщений из 4, страница 1 из 1
sqlite 3.6.5 + journal_mode = MEMORY
    #35662234
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Кто тестировал новую фишку версии 3.6.5 (PRAGMA journal_mode = MEMORY) под большой нагрузкой?
не глючит?

--
~PPA() {} //
...
Рейтинг: 0 / 0
sqlite 3.6.5 + journal_mode = MEMORY
    #35663641
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Слишком рискованная штука, чтоб под нагрузкой пробовать - в случае сбоя ПО или железа база почти наверняка будет убита. А как показывает практика, даже самый надежный софт на несколько минут в году выходит из строя, что и так уже неприятно, а если еще при этом и базы лишиться...
...
Рейтинг: 0 / 0
sqlite 3.6.5 + journal_mode = MEMORY
    #35663894
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBG,

хм.
не совсем понял, как может перенос файла журнала в память повлиять на надежность бд.
если навернется память - то может полететь не только база.

имхо, для кончины базы кричитно вот это PRAGMA synchronous=OFF;
...
Рейтинг: 0 / 0
sqlite 3.6.5 + journal_mode = MEMORY
    #35664169
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
PPAMBG,

хм.
не совсем понял, как может перенос файла журнала в память повлиять на надежность бд.
если навернется память - то может полететь не только база.

имхо, для кончины базы кричитно вот это PRAGMA synchronous=OFF;

journal_mode не имеет отношения к файлу журнала - эскулайт в принципе не ведет никакого журнала операций. journal_mode определяет параметры создания файла отката, где хранится информация, необходимая для отката транзакции - при этом все изменения заносятся непосредственно в файл базы, а предыдущая версия измененных страниц данных сохраняется в журнале отката. Таким образом, потеряв журнал отката, невозможно отменить или завершить прерванную транзакцию, что и приведет базу в неконсистентное состояние. Результатом сбоя приложения, ОС, памяти, ФС или диска при journal_mode = MEMORY при незавершенной транзакции будет разрушение базы. Если вы пользуетесь рэйд-контроллером с батарейкой и журналируемой ФС, при synchronous=OFF прерванная транзакция не убьет базу (возможно, даже когда сгорит блок питания, материнка и процессор), поскольку имеется возможность восстановления по журналу отката.

Резюмируя, параметр synchronous=OFF допустим на надежном оборудовании (опасны только сбои диска или ФС), а опция journal_mode = MEMORY требует абсолютной надежности как оборудования, так и всего программного обеспечения (любая прерванная транзакция необратима) и может быть использована лишь для операций над данными в тех случаях, когда критична именно скорость обработки.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / sqlite 3.6.5 + journal_mode = MEMORY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]