Мне нужно создать систему для хранения структур данных Python в системе Linux, но у меня есть одновременный доступ для чтения и записи данных из нескольких программ / демонов / скриптов. Сначала я подумал о том, чтобы создать Unix-сокет, который будет прослушивать соединения и обрабатывать запрошенные данные в виде протравленных структур данных Python. Любые записи клиентов будут синхронизироваться с диском (возможно, в пакетном режиме, хотя я не ожидаю, что он будет иметь высокую пропускную способность, так что кеширование Linux vfs, вероятно, будет в порядке). Это гарантирует, что только один процесс читает и записывает данные.
Другая идея состоит в том, чтобы просто сохранить структуру данных на диске и разрешить доступ только одному процессу через файл блокировки или токен ... Это требует от всех обращающихся клиентов соблюдения механизма блокировки / использования модуля доступа.
Что я пропускаю? SQLite доступен, но я бы хотел сделать это как можно более простым.
Что бы вы сделали?