| | ( to Costas) | ( translit) | | | (релизы ) | Donate |

АвторСообщение
Admin
администратор




Сообщение: 81
Зарегистрирован: 03.04.13
ссылка на сообщение  Отправлено: 18.04.13 12:02. Заголовок: Заметки по формату SQLITE


При настройках по умолчанию SQLite гарантирует целостность БД даже при отключении питания в процессе работы.

Достигается подобное изумительное поведение ведением журнала (специального файла) и хитроумным механизмом синхронизации изменений на диске.

Кратенько обновление данных в БД работает так:

— до любой модификации БД SQLite сохраняет изменяемые страницы из БД в отдельном файле (журнале), то есть просто копирует их туда;
— убедившись, что копия страниц создана, SQLite начинает менять БД;
— убедившись, что все изменения в БД «дошли до диска» и БД стала целостной, SQLite стирает журнал.

Подробно атомарность механизма транзакций описана тут.

Если SQLite открывает соединение к БД и видит, что журнал уже есть, он соображает, что БД находится в незавершенном состоянии и автоматически откатывает последнюю транзакцию.

То есть механизм восстановления БД после сбоев, фактически, встроен в SQLite и работает незаметно для пользователя.

Источник: http://habrahabr.ru/post/149635/

"Мыши плакали, кололись но продолжали жрать кактус" Спасибо: 0 
Профиль Ответить
Новых ответов нет


Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  2 час. Хитов сегодня: 79
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет