|
|
||
|---|---|---|
| .. | ||
| data_stores | ||
| engines | ||
| schema | ||
| util | ||
| README.md | ||
| __init__.py | ||
| _base.py | ||
| background_updates.py | ||
| keys.py | ||
| prepare_database.py | ||
| presence.py | ||
| push_rule.py | ||
| relations.py | ||
| roommember.py | ||
| state.py | ||
README.md
Storage Layer
The storage layer is split up into multiple parts to allow Synapse to run
against different configurations of databases (e.g. single or multiple
databases). The data_stores are classes that talk directly to a single
database and have associated schemas, background updates, etc. On top of those
there are (or will be) classes that provide high level interfaces that combine
calls to multiple data_stores.
There are also schemas that get applied to every database, regardless of the
data stores associated with them (e.g. the schema version tables), which are
stored in synapse.storage.schema.