Начало » Использование СУБД » Firebird, HQbird, InterBase » Версии записей. ("Про архитектуру".)
Версии записей. [сообщение #1672] |
Wed, 22 February 2023 15:34 |
Сообщений: 198 Зарегистрирован: September 2022
|
Senior Member |
|
|
Плоский (без подуровней) каталог, с файлами (например).
Много Клиентов, все они в режиме RO. И один клиент-Писатель, который иногда меняет данные. Все версии записей данных должны оставаться в системе, физически их не удаляем.
1. Клиент 1 запускается, в момент X коннектится, читает список файлов (имя и, например, размер файла), потом по мере надобности загружает файлы, содержимое которых соответствует моменту X (т.е. когда этот каталог был прочитан). Коннект к БД физически не сохраняется, список файлов хранится в памяти клиента, пока клиент жив. Клиент по мере надобности снова физически коннектится к БД считывает нужные ему файлы (актуальные на момент X).
2. Потом Писатель (возможно, во время работы клиента 1) дополняет/изменяет/удаляет список и содержимое (тело) файлов. А клиент 1 всё так же работает со своей версией данных, актуальной на момент Х.
3. Клиент 2 запускается, в момент Y коннектится, читает НОВЫЙ (измененный в п.2) список и т.д., см. п.1.
3. Потом Писатель опять меняет данные. А клиенты 1 и 2 продолжают работать со своими версиями, актуальными на моменты X и Y соответственно.
... После перезапуска клиенты видят самую последнюю (самую новую) версию данных, и работает уже с ней.
-------------
Что-то когда-то такое обсуждалось, но я уже забыл.
А напомните, пожалуйста. Если помнит кто.
|
|
|
Переход к форуму:
Текущее время: Wed Dec 18 07:39:11 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01065 секунд
|