<story><title>DuckDB: SQLite for Analytics</title><url>https://github.com/cwida/duckdb</url></story><parent_chain></parent_chain><comment><author>scoresmoke</author><text>When I was developing my pet project for Web analytics (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;dustalov&amp;#x2F;ballcone&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;dustalov&amp;#x2F;ballcone&lt;/a&gt;), I aimed at using an embedded columnar database for fast analytic queries with zero maintenance, so literally, I wanted ‘OLAP SQLite’. There are essentially two options, DuckDB and MonetDBLite, developed by the same research group. I tried both of them.&lt;p&gt;DuckDB is a relatively new project and I generally enjoyed its design and code quality. However, I found that its current implementation of storage works better for dense data, which is not my case: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cwida&amp;#x2F;duckdb&amp;#x2F;issues&amp;#x2F;632&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cwida&amp;#x2F;duckdb&amp;#x2F;issues&amp;#x2F;632&lt;/a&gt;. I think it would be pretty cool to have data compression and more careful NULL handling needed for storing HTTP access logs.&lt;p&gt;MonetDBLite seems to be more mature in terms of functionality, but it seems to be lagging significantly behind the non-embedded client-server version, MonetDB: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;monetdb&amp;#x2F;monetdb&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;monetdb&amp;#x2F;monetdb&lt;/a&gt;. I experienced unexpected segfaults when using the DATE type on any platform and window functions on aarch64. Nevertheless, I am still using MonetDBLite primarily due to the more efficient disk usage. I will be happy to switch to a more lightweight and actively maintained solution.</text></comment>
<story><title>DuckDB: SQLite for Analytics</title><url>https://github.com/cwida/duckdb</url></story><parent_chain></parent_chain><comment><author>banana_giraffe</author><text>As someone that uses SQLite a bit for analytics, I feel like the elevator pitch on the github and the website ( &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.duckdb.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.duckdb.org&amp;#x2F;&lt;/a&gt; ) is missing something.&lt;p&gt;I&amp;#x27;m sure there&amp;#x27;s some great reason, but I don&amp;#x27;t see it:  Why would I want to use this over SQLite?  Is it considerably faster?  Does it handle large scale better?  I suppose I could try and throw it some use cases I could come up with, but I&amp;#x27;d worry I&amp;#x27;m missing the best use case for this tool.</text></comment>