Database
Код компонент Database інкапсулює роботу з базами даних таким чином, що при переході, скажемо, з MongoDB на PostgreSQL необхідно лише міняти код цих компонент.
Приклад:
with database.get_and_update(pk=uid) as obj:
...
Database НЕ імплементує бізнес логіки! (Для цього є StateClasses)
Виклики компоненти Database відбуваются тільки з Views!
Serializers, StateClasses не мають робити запити до БД, зробить їх заздалегіть і покладіть в конекст запиту (він для цього існує).
Таким чином робимо більш наглядною роботу з БД, що буже важливо. Наприклад, коли ми працюємо читаємо і пишемо декілька об’єктів в БД треба контролювати атомарність/конкурентність всіх або частини операцій, що просто неможливо коли запити розкидані по всьому коду.
Сховище даних (Store)
TODO
Текст
Колекції даних (Collection)
TODO
Текст
Автоматичні дії при записі в базу
TODO
Оновлення дати модифікації та технічних полів
Індекси для бази даних по яким будується фід оновлень (Indexes)
TODO
Текст
Транзакції (Transactions)
TODO
Текст