<story><title>Just use Postgres</title><url>https://mccue.dev/pages/8-16-24-just-use-postgres</url></story><parent_chain><item><author>adityapatadia</author><text>Almost all statements about MongoDB are wrong.&lt;p&gt;&amp;gt; You know exactly what your app needs to do, up-front&lt;p&gt;No one does. Mongodb still perfectly fits.&lt;p&gt;&amp;gt; You know exactly what your access patterns will be, up-front&lt;p&gt;This one also no one knows when they start. We successfully scaled MongoDB from a few users a day to millions of queries an hour.&lt;p&gt;&amp;gt; You have a known need to scale to really large sizes of data&lt;p&gt;This is exactly a great point. When data size goes to a billion rows, Postgres is tough. MongoDB just works without issue.&lt;p&gt;&amp;gt; You are okay giving up some level of consistency&lt;p&gt;This is said for ages about MongoDB. Today, it provides very good consistency.&lt;p&gt;&amp;gt; This is because this sort of database is basically a giant distributed hash map.&lt;p&gt;Putting MongoDB in category of Dynamo is a big mistake. It&amp;#x27;s NOT a giant distributed hash map.&lt;p&gt;&amp;gt; Arbitrary questions like &amp;quot;How many users signed up in the last month&amp;quot; can be trivially answered by writing a SQL query, perhaps on a read-replica if you are worried about running an expensive query on the same machine that is dealing with customer traffic. It&amp;#x27;s just outside the scope of this kind of database. You need to be ETL-ing your data out to handle it.&lt;p&gt;This shows the author has no idea how MongoDB aggregation works.&lt;p&gt;I don&amp;#x27;t want fresh grads to use SQL just because they learn relations (and consistency and constraints and what not). It&amp;#x27;s perfectly fine to start on MongoDB and make it the primary DB.</text></item></parent_chain><comment><author>orf</author><text>&amp;gt; This is exactly a great point. When data size goes to a billion rows, Postgres is tough.&lt;p&gt;You’ve been led astray. You can handle a billion rows on a developer laptop, let alone a production grade instance.</text></comment>
<story><title>Just use Postgres</title><url>https://mccue.dev/pages/8-16-24-just-use-postgres</url></story><parent_chain><item><author>adityapatadia</author><text>Almost all statements about MongoDB are wrong.&lt;p&gt;&amp;gt; You know exactly what your app needs to do, up-front&lt;p&gt;No one does. Mongodb still perfectly fits.&lt;p&gt;&amp;gt; You know exactly what your access patterns will be, up-front&lt;p&gt;This one also no one knows when they start. We successfully scaled MongoDB from a few users a day to millions of queries an hour.&lt;p&gt;&amp;gt; You have a known need to scale to really large sizes of data&lt;p&gt;This is exactly a great point. When data size goes to a billion rows, Postgres is tough. MongoDB just works without issue.&lt;p&gt;&amp;gt; You are okay giving up some level of consistency&lt;p&gt;This is said for ages about MongoDB. Today, it provides very good consistency.&lt;p&gt;&amp;gt; This is because this sort of database is basically a giant distributed hash map.&lt;p&gt;Putting MongoDB in category of Dynamo is a big mistake. It&amp;#x27;s NOT a giant distributed hash map.&lt;p&gt;&amp;gt; Arbitrary questions like &amp;quot;How many users signed up in the last month&amp;quot; can be trivially answered by writing a SQL query, perhaps on a read-replica if you are worried about running an expensive query on the same machine that is dealing with customer traffic. It&amp;#x27;s just outside the scope of this kind of database. You need to be ETL-ing your data out to handle it.&lt;p&gt;This shows the author has no idea how MongoDB aggregation works.&lt;p&gt;I don&amp;#x27;t want fresh grads to use SQL just because they learn relations (and consistency and constraints and what not). It&amp;#x27;s perfectly fine to start on MongoDB and make it the primary DB.</text></item></parent_chain><comment><author>rastignack</author><text>&amp;gt; This is exactly a great point. When data size goes to a billion rows, Postgres is tough. MongoDB just works without issue.&lt;p&gt;Is it though ? Maybe 5-10 years ago it was.</text></comment>