|
Надежность SQLite
|
|||
---|---|---|---|
#18+
Необходимо сделать нативное приложение работающее с локальной базой по нескольким потоком. Выбрал SQLite. Вроде-бы все препоны с блокировками обошел, настроил приложение, запустил... через пару часов база рухнула, точнее рухнула одна из записей - при попытке редактирования или удаления этой записи навигатор дает ошибку " the database disk image is malformed sqlite ". Редактирование прочих записей выполняется нормально. Вопрос, насколько часто встречается такое разрушение? Как его избежать? Можно-ли использовать SQLite в системах требующих надежной работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2013, 11:07 |
|
Надежность SQLite
|
|||
---|---|---|---|
#18+
Игорь Ч, Разрушения встречаются. но не думаю, что это не связано с блокировками и многопточностью я в приложении FlylinkDC++ достаточно долго использую эту базу для хранения ключевой информации иногда от пользователей приходят жалобы, но сам я на это никогда не наступал http://www.flylinkdc.ru/2010/10/flylinkdcsqlite.html У вас какого плана приложение? много читателей или писателей? Почитайте про 1. PRAGMA journal_mode=WAL + PRAGMA wal_checkpoint 2. PRAGMA synchronous = FULL а что за перепоны с блокировками и как обошли? вы в приложении используете свою синхронизацию между потоками и отключили внутреннюю синхронизацию sqlite через SQLITE_THREADSAFE ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2013, 09:41 |
|
Надежность SQLite
|
|||
---|---|---|---|
#18+
По сути это многопоточный TCP сервис. Читателей и писателей может быт несколько. В базе хранятся настройки работы с каналами (один поток, один канал), общий лог и таблица сообщений отправленных/полученных по каналу. Собственно все. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2013, 14:25 |
|
Надежность SQLite
|
|||
---|---|---|---|
#18+
PPAИгорь Ч, а что за перепоны с блокировками и как обошли? вы в приложении используете свою синхронизацию между потоками и отключили внутреннюю синхронизацию sqlite через SQLITE_THREADSAFE ? обходил через критические секции потока и ожиданием разлочки. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2013, 14:41 |
|
Надежность SQLite
|
|||
---|---|---|---|
#18+
И этот сервис не вешался и не падал при работе? с диском тоже проблем не было по eventlog-у винды? Какие прагмы используете при коннекте к базе журнал транзакций / синхронизация? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2013, 22:49 |
|
Надежность SQLite
|
|||
---|---|---|---|
#18+
Из опыта без/с WAL и сетевым доступом по SMB в Windows-сети с AD, 1Gbit. При активной одновременной работе 3-х клиентов с одной базой 2 Гб (запись простым INSERT-ом, чтение сложными SELECT-ами, индексы на 90% полей, занимающими 5-10 секунд, ежеминутно каждым клиентом, таймаут был выставлен на 10000 миллисекунд) - без WAL 2 года работали ОК. Включил WAL (как только появился в релизах) - через полгода база намертво разрушилась. После этого WAL отключили, пока 1 год без фокусов. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2013, 09:53 |
|
Надежность SQLite
|
|||
---|---|---|---|
#18+
economistalex, SMB? хм. http://www.sqlite.org/wal.html All processes using a database must be on the same host computer; WAL does not work over a network filesystem. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2013, 13:02 |
|
Надежность SQLite
|
|||
---|---|---|---|
#18+
Приложение активно пишет/читает данные в базе из разных потоков с PRAGMA synchronous = OFF; Глюков не замечено ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 15:43 |
|
Надежность SQLite
|
|||
---|---|---|---|
#18+
PPA, не так выразился: вместе с сетевым доступом - был и локальный доступ к той же самой базе, т.к. за файловым "сервером" работает пользователь - один через SQLite Manager, фоновые задачи/потоки - порождались через ADODBAPI - из Python. WAL работал, журнал создавался однозначно. Но иногда база сыпалась. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2013, 15:49 |
|
|
start [/forum/topic.php?fid=54&gotonew=1&tid=2008918]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 406ms |
0 / 0 |