Inserting One Billion Rows in SQLite Under a Minute

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
  • fast-sqlite3-inserts

    Some bunch of test scripts to generate a SQLite DB with 1B rows in fastest possible way

  • sqlitedatagen

    Super simple (~180 lines) Go util to generate SQLite data files filled with test data

  • You mention wanting to do a Go version. Not sure if it's useful, but this is a SQLite "bulk data generation" util I threw together ages ago in Go:

    https://github.com/sqlitebrowser/sqlitedatagen

    There's some initial work to parallelise it with goroutines here:

    https://github.com/sqlitebrowser/sqlitedatagen/blob/multi_ro...

    Didn't go very far down that track though, as the mostly single threaded nature of writes in SQLite seemed to prevent that from really achieving much. Well, I _think_ that's why it didn't really help. ;)

  • 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.

    InfluxDB logo
  • brimming

    Row Stuffing

  • Very nice! I shall give that a try. I always get excited by SQLite and go projects.

    I maintain a similar go tool for work, which I use to stuff around 1TB into MariaDB a time:

    https://github.com/rcbensley/brimming

  • remixdb

    RemixDB: A read- and write-optimized concurrent KV store. Fast point and range queries. Extremely low write-amplification.

  • sqlite_micro_logger_arduino

    Fast and Lean Sqlite database logger for Arduino UNO and above

  • Potentially interesting:

    https://github.com/siara-cc/sqlite_micro_logger_arduino

    https://github.com/siara-cc/sqlite_micro_logger_arduino/blob...

    This is a heavily subsetted implementation of SQLite3 that can read/write databases (presumably on SD cards) from very small microcontrollers.

    It presumably doesn't have the same ACID compliance properties, but with a single <1.5k source file, may represent a particularly efficient way to rapidly learn the intrinsics.

    Now I'm thinking it could actually be interesting to see what drh thinks of this implementation (and any gotchas in it) because of its small size and accessibility.

  • 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.

    WorkOS logo
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