forked-synapse/synapse/storage
2019-10-22 11:55:46 +01:00
..
data_stores Merge branch 'develop' of github.com:matrix-org/synapse into erikj/refactor_stores 2019-10-22 10:41:18 +01:00
engines Merge pull request #6156 from matrix-org/erikj/postgres_any 2019-10-10 16:41:36 +01:00
schema Merge branch 'develop' of github.com:matrix-org/synapse into erikj/refactor_stores 2019-10-22 10:41:18 +01:00
util Remove unnecessary parentheses around return statements (#5931) 2019-08-30 16:28:26 +01:00
__init__.py Merge branch 'develop' of github.com:matrix-org/synapse into erikj/refactor_stores 2019-10-22 10:41:18 +01:00
_base.py Fix SQLite take 2 2019-10-10 16:19:40 +01:00
background_updates.py Merge branch 'develop' of github.com:matrix-org/synapse into erikj/cleanup_user_ips_2 2019-09-25 17:53:13 +01:00
keys.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
prepare_database.py Fix schema management to work with multiple data stores. 2019-10-21 16:08:40 +01:00
presence.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
push_rule.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
README.md Add a basic README to synapse.storage 2019-10-22 11:55:46 +01:00
relations.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
roommember.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00
state.py Move storage classes into a main "data store". 2019-10-21 16:05:06 +01:00

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.