<story><title>Git as a NoSql Database (2016)</title><url>https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/</url></story><parent_chain></parent_chain><comment><author>simonw</author><text>In almost every database-backed application I&amp;#x27;ve ever built someone, at some point, inevitable asks for the ability to see what changes were made when and by whom.&lt;p&gt;My current preferred strategy for dealing with this (at least for any table smaller than a few GBs) is to dump the entire table contents to a git repository on a schedule.&lt;p&gt;I&amp;#x27;ve run this for a few toy projects and it seems to work really well. I&amp;#x27;m ready to try it with something production-scale the next time the opportunity presents itself.</text></comment>
<story><title>Git as a NoSql Database (2016)</title><url>https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/</url></story><parent_chain></parent_chain><comment><author>lisper</author><text>&amp;gt; The reason why it says stupid in the man-pages is that it makes no assumptions about what content you store in it.&lt;p&gt;That&amp;#x27;s not true.  The assumption that you are storing text files is very much built in to the design of git, and specifically, into the design of its diff and merge algorithm.  Those algorithms treat line breaks as privileged markers of the structure of the underlying data.  This is the reason git does not play well with large binary files.</text></comment>