SQLite the only database you will ever need in most cases

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • litestream

    Streaming replication for SQLite.

    If you want an super easy way to back up your sqlite database, check out https://litestream.io/

    It will continuously backup your database to an S3 compatible service. There are very nice detailed instructions for various backends (AWS, Minio, B2, Digital Ocean) as well as instructions on how to run as a service.

  • rust_sqlite

    SQLRite - Simple embedded database modeled off SQLite in Rust

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • sqlitebrowser

    Official home of the DB Browser for SQLite (DB4S) project. Previously known as "SQLite Database Browser" and "Database Browser for SQLite". Website at:

    If anyone is looking for an open source Windows/MacOS GUI for SQLite, this one has worked well for me:

    https://github.com/sqlitebrowser/sqlitebrowser

  • temporal_tables

    Temporal Tables PostgreSQL Extension

    One of postgres's most underrated features. RLS is amazing, can be unseen/basically work silently if your programming language-side tools are good enough, and is documented well (like everything else):

    https://www.postgresql.org/docs/current/ddl-rowsecurity.html

    But the power of PG is that it doesn't stop there, if you combine this with a plugin like temporal_tables and you can segment by user and time:

    https://github.com/arkhipov/temporal_tables

    All of this mostly unknown to the thing that's accessing the DB. If that's not enough for you, why not add some auditing with pgaudit:

    https://www.pgaudit.org/#section_three

    I think it might not actually be hyperbole to say that Postgres is the greatest RDBMS database that has ever existed.

  • dqlite

    Discontinued Embeddable, replicated and fault tolerant SQL engine. [Moved to: https://github.com/canonical/dqlite] (by CanonicalLtd)

  • rqlite

    The lightweight, distributed relational database built on SQLite.

  • sqlcipher

    SQLCipher is a standalone fork of SQLite that adds 256 bit AES encryption of database files and other security features.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • aergolite

    AergoLite: Trustless SQLite Replication

  • sql.js

    A javascript library to run SQLite on the web.

  • litestore

    A lightweight, self-contained, RESTful, searchable, multi-format NoSQL document store.

  • squirrelbyte

    a tool for gathering & exploring data

  • sqlite3todot

    Convert sqlite3 databases to directed graph .dot files

  • Sonarr

    Smart PVR for newsgroup and bittorrent users.

    Not in its current state - it becomes entirely unsuitable as soon as you need to have multiple instances (be it for scalability or availability).

    Sqlite is inherently single instance. What really makes this an issue is that it doesn't work safely/reliably on distributed filesystems like GlusterFS and Ceph.

    See here for example of a project that needs to be forked in order to not have data corruption on remote filesystems (it depends on the WAL mode AIUI): https://github.com/Sonarr/Sonarr/issues/1886

    I really do hope that this will be addressed in a future version of Sqlite, which would at least allow running it on redundant network-attached storage.

    But even if it is, you will still have issues once you want to scale horizontally for performance.

    If you're building strictly in-house proprietary software, none of this really matters as you have full control. But if it's either FLOSS or otherwise to be operated by anyone else than the developer and their internal organization, SQLite is not suitable.

    I die inside a bit every time I am expected to take responsibility for a software built on Sqlite.

  • gmailfs

    FUSE-based filesystem for using an IMAP server (like gmail) as normal storage like a hard disk.

    You used to be able to store your own filesystems on google's databases [0]. No idea if this still works, though.

    [0] http://sr71.net/projects/gmailfs/

  • datasette

    An open source multi-tool for exploring and publishing data

  • beekeeper-studio

    Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.

    Wow, looks very slick! Surprised I hadn't heard of this one.

    Doesn't have the functionality I was asking for, though – filed an issue here: https://github.com/beekeeper-studio/beekeeper-studio/issues/...

  • nrkbetaquiz

    Require the reader to pass a quiz before being able to comment on an article

    The technical blog of the public broadcaster of Norway has implemented exactly this: https://nrkbeta.no/2017/08/10/with-a-quiz-to-comment-readers...

    The quiz module is open-source (https://nrkbeta.no/2017/03/06/our-comment-quiz-module-is-now...) and available on github https://github.com/nrkbeta/nrkbetaquiz

  • hardsqlite

    Work on hardened sqlite (see link for build instructions)

    But filesystems are secure (mostly, ignoring unicode issues) whilst sqlite is an insecure hack.

    You'll have hard time to harden sqlite, removing all the insecure defaults, fix the broken and exploitable full text search apis, but esp. its built-in hacks. Like explained here https://github.com/rurban/hardsqlite or here https://research.checkpoint.com/2019/select-code_execution-f...

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts