summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--MANIFEST.in1
-rw-r--r--synapse/storage/README.md13
2 files changed, 14 insertions, 0 deletions
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`.