diff --git a/MANIFEST.in b/MANIFEST.in index 2b8244f9c5..156d6f04f7 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -13,6 +13,7 @@ recursive-include synapse/storage *.sql.postgres recursive-include synapse/storage *.sql.sqlite recursive-include synapse/storage *.py recursive-include synapse/storage *.txt +recursive-include synapse/storage *.md recursive-include docs * recursive-include scripts * diff --git a/synapse/storage/README.md b/synapse/storage/README.md new file mode 100644 index 0000000000..567ae785a7 --- /dev/null +++ b/synapse/storage/README.md @@ -0,0 +1,13 @@ +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`.