SQLite Is Serverless
I love SQLite, but people approach it from a classic RDBMS angle which confuses them.<p>Here&#x27;s the deal: SQLite is a file format with a nice API that uses SQL as the paradigm for reading&#x2F;writing to the file.<p>That&#x27;s it. Stop overthinking it.<p>Can you write a microservice that stores its data in a big JSON file that you&#x27;ve built some code around to read&#x2F;write to? Yes. It&#x27;s just a file, but you have to build all the read&#x2F;write methods.  SQLite is not really any different, except the read&#x2F;write work is already done, and you use SQL to format the data values and encode the read&#x2F;write logic instead of the language you are working in.<p>The file format has some cool extensions like text indexing, geospatial, etc. But it&#x27;s no more a RDBMS than reading and writing a JSON file is.<p>&quot;But there&#x27;s indexes!&quot; Yes, just liked you might build an index on your JSON file and read that before reading the JSON file to know where things are faster -- and then you have to write all the code to do that. SQLite is just a file format, where you can also build indexes and all the code for that is already done for you.<p>It&#x27;s just a file format with an API that&#x27;s similar to the ones you&#x27;d use for any regular old RDBMS and uses SQL as the domain language to read&#x2F;write data.<p>It&#x27;s just a file format. Anything you can do&#x2F;can&#x27;t do with a file format you do with SQLite.<p>It&#x27;s just a file format. A nice convenient one that you are probably better off using than most other things for most purposes.<p>It&#x27;s just a file format.<p><i>edit</i><p>I&#x27;m glad this comment is getting such a response. I&#x27;m not trying to be mean, just help clarify thinking.<p>Here&#x27;s two thought experiments:<p>1) If SQLite didn&#x27;t require you to use SQL as the read&#x2F;write logic and was called &quot;datalite&quot;, and instead just forced you to use C function calls, exactly like you would if you were working with literally any other file format on the planet, would you still be confused as to what it is?<p>2) Do you consider reading and writing to any other file format anywhere in the hierarchy of RDBMSs? Consider Python&#x27;s csv module. Is that an RDBMS? Let&#x27;s move away from tabular data, how about python-docx?