]> Sergey Matveev's repositories - public-inbox.git/blobdiff - Documentation/design_notes.txt
doc: add notes on scalability
[public-inbox.git] / Documentation / design_notes.txt
index f81a616f9fa4ce8dd6dd23c9b0273197e21d3478..286f35c0cd0ce37a030755a093e234cfb38c14da 100644 (file)
@@ -128,6 +128,20 @@ Web notes
 * Raw text endpoint allows users to write client-side JS endpoints
   without hosting the data themselves (or on a different server).
 
+Scalability notes
+-----------------
+
+Even with shallow clone, storing the history of large/busy mailing lists
+may place much burden on subscribers and servers.  However, having a
+single (or few) refs representing the entire history of a list is good
+for small lists since it's easier to lookup a message by Message-ID, so
+we want to avoid splitting refs with independent histories.
+
+ssoma will likely grow its own builtin ref rotation system based on
+message count (not rotating at fixed time intervals).  This would
+split the histories and require O(n) lookup time based on Message-ID,
+where `n' is the number of history splits.
+
 Copyright
 ---------
 Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.