Мне поручено реализовать компонент (веб) списка (в Java, но вдохновение может исходить от программистов, использующих другую платформу), которые будут отображаться в виде таблицы со следующими требованиями:
- Подкачка базы данных. Список может содержать несколько тысяч строк. Одно время компонент мог хранить только часть списка в памяти.
- Буферизованное «встроенное редактирование». (Я даже не уверен, что это правильный термин.) Пользователь может изменять данные в любой строке, но это изменение не следует просто сбрасывать / фиксировать в базе данных, пока пользователь не нажмет кнопку «Сохранить».
- Пользователь может отсортировать таблицу из любого столбца или создать фильтры.
Я думаю, что решение выглядит следующим образом:
- Я реализую «буферное» хранилище с возможностью запроса и проверки кластера. Что-то вроде db4o (http://www.db4o.com/). Я не уверен, разумно ли выбирать именно этот компонент .., но вы поняли.
- при запуске потока (поток == между начальной загрузкой страницы и нажатием кнопки «Сохранить»), весь (нефильтрованный) список загружается в хранилище. Компонент списка запросит это временное хранилище.
- Любые изменения в данных во время этого потока будут выполняться для объекта в хранилище.
- когда пользователь нажимает «сохранить», все грязные данные в хранилище возвращаются в реляционную базу данных.
Что вы думаете об этом решении?
Есть ли конкретный компонент / технология, которую я должен попробовать для временного хранилища?