гарантировать согласованность данных с большим количеством транзакций

Я пишу веб-приложение, которому нужна база данных.

Транзакции IndexedDB и websql должны быть короткими, и я читал, что лучше получить все данные с сервера, а затем открыть транзакцию и записать все, чтобы быть уверенным в согласованности.

Моя проблема в том, что мне нужно получить много данных, и я не могу хранить их в памяти (особенно в мобильных браузерах). По этой причине лучше читать фрагмент и записывать фрагмент, таким образом потребление памяти намного ниже. Каждый фрагмент записывается отдельной транзакцией (они короткие и автоматически фиксируются). Разумеется, таким образом я не могу гарантировать согласованность. Каковы наилучшие практики для этого сценария? Есть ли другие решения?


person steeeveb    schedule 26.04.2013    source источник


Ответы (1)


Существует компромисс между более короткой транзакцией для согласованности и более длинной транзакцией для производительности.

В моей библиотеке (YDN-DB) я рекомендую использовать отдельную транзакцию поток для заполнения (параллельный, с несколькими запросами), обновления (последовательный, атомарный) и запросов (параллельный, одиночный).

person Kyaw Tun    schedule 27.04.2013