-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Milestone
Description
У Аудита есть строгая структура папок и файлов. Необходимо реализовать контракты, позволяющие использовать все достоинства этой структуры (индексы, блобы, гибкость), а также обеспечивающие создание новых сущностей без порчи основного хранилища.
Провайдеры должны абстрагировать систему хранения данных Аудита и быть открыты к расширению любым подходящим хранилищем. Потенциальные провайдеры:
- FileSystem — оперирующий файлами на диске
- InMemory — для кеширования и обеспечения быстрого доступа
- GitHub — позволяющий сразу оперировать документами из удалённого репозитория по HTTP (максимально актуальными данными)
- SQL, Document, S3, Embeded — дающие возможность удобного использования хранилища приложения
План
- Создание источников данных (Aync File System #8, Методы добавления и удаления файлов #12, Test physical file system #17, Add Memory File System #21)
- Создание сессии (танзакции, коннекции, единицы работы) для чтения (Storage level #24)
- Методы сессии чтения данных (одного документа, коллекции документов) (Storage level #24)
- Реестр (Identity Map) записей (Modification workflow #29)
- Механизм отслеживания (Tracking) изменений (Modification workflow #29)
- Методы сессии для записи данных (сохранения, создания, удаления, Unit of Work) (Add deletion to storage #30)
- Защита от одновременных (Concurrent) изменений (потом?)
- Наглядные примеры работы с Аудитом на этом уровне (интеграционные тесты?)
- Обновить README файл, добавив Getting Started с примерами
Metadata
Metadata
Assignees
Labels
No labels