SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C Sqlite Projects
-
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.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
verneuil
Verneuil is a VFS extension for SQLite that asynchronously replicates databases to S3-compatible blob stores.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: A simple Minecraft clone written in C using modern OpenGL | news.ycombinator.com | 2023-05-26
> PS: I've got nothing against Turso, or libSQL. In fact I spent the last year perusing their virtual WAL API. The problem is that I found no documentation, nor any useful open source implementations of it. If there any I'd be very interested. So, thus far, I also don't have anything that drives towards libSQL.
Hey, this is v and I am an engineer at Turso. We do have some documentation and an example implementation of Virtual WAL
docs: https://github.com/tursodatabase/libsql/blob/ef44612/libsql-...
example: https://github.com/tursodatabase/libsql/blob/ef44612/libsql-...
for an open source implementation, you may check how Bottomless works. Bottomless is another project which does back up like litestream and it internally implements a Virtual WAL.
Bottomless - https://github.com/tursodatabase/libsql/tree/main/bottomless
I am sure we can improve our docs, make it more discover-able and easy to find. I am open to feedback and suggestions!
SQLite encryption at-rest is a hot requested feature of both the “default” CGo driver [1] and the transpiled alternative driver [2]. So, this is a feature I wanted to bring to my own Wasm based Go driver/bindings [3].
Open-source SQLite encryption extensions have had a troubled last few years. For whatever reason, in 2020 the (undocumented) feature that made it easy to offer page-level encryption was removed [4]. Some solutions are stuck with SQLite 3.31.1, but Ulrich Telle stepped up with a VFS approach [5].
Still, their solution seemed harder than something I'd want to maintain, as it requires understanding the structure of what's being written to disk at the VFS layer. So, I looked at full disk encryption for something with less of an impedance mismatch.
Specifically, I'm using the Adiantum tweakable and length-preserving encryption (with 4K blocks, matching the default SQLite page size), and encrypting whole files (rather than page content).
I'm not a cryptographer, so I'd really appreciate some roasting before release.
There is nothing very Go specific about this (apart from the implementation) so if there are no obvious flaws, it may make sense to port it to C/Rust/etc and make it a loadable extension.
[1] https://github.com/mattn/go-sqlite3/pull/1109
Project mention: Marmot: Multi-writer distributed SQLite based on NATS | news.ycombinator.com | 2023-12-11If you're interested in this, here are some related projects that all take slightly different approaches:
- LiteSync directly competes with Marmot and supports DDL sync, but is closed source commercial (similar to SQLite EE): https://litesync.io
- dqlite is Canonical's distributed SQLite that depends on c-raft and kernel-level async I/O: https://dqlite.io
- cr-sqlite is a Rust-based loadable extension that adds CRDT changeset generation and reconciliation to SQLite: https://github.com/vlcn-io/cr-sqlite
Slightly related but not really (no multi writer, no C-level SQLite API or other restrictions):
- comdb2 (Bloombergs multi-homed RDMS using SQLite as the frontend)
- rqlite: RDMS with HTTP API and SQLite as the storage engine, used for replication and strong consistency (does not scale writes)
- litestream/LiteFS: disaster recovery replication
- liteserver: active read-only replication (predecessor of LiteSync)
Project mention: I'm writing a new vector search SQLite Extension | news.ycombinator.com | 2024-05-02I definitely plan to! I have a much larger list of SQLite extensions I've built here: https://github.com/asg017/sqlite-ecosystem
Here's a few other references you may enjoy if you wanna learn more about SQLite extensions:
- The single source file for sqlite-vec: https://github.com/asg017/sqlite-vec/blob/main/sqlite-vec.c
- sqlean, a project from Anton Zhiyanov which is good base of great SQLite extensions: https://github.com/nalgeon/sqlean
- The official SQLite docs: https://www.sqlite.org/loadext.html
- The "hello world" SQLite extension example: https://www.sqlite.org/src/file/ext/misc/rot13.c
Quickly Googling for a docker indexer and search app I turned up Sist2, that on the surface looks like might fit your needs. I don't have an appropriate data store to run it against, so I can't speak to its indexing speed or efficacy. However, the developer does have an accessible demo to try, and the front end at least appears to function well.
Project mention: Show HN: Stanchion – Column-oriented tables in SQLite | news.ycombinator.com | 2024-01-31The "Data Storage Internals" section[1] of the README sounds to me like it has its own column-oriented format for these tables, at least that's how I'm reading the part about segments. Is that the case? If so, have you tried using Apache Arrow or Parquet to see how they compare?
[1] https://github.com/dgllghr/stanchion#data-storage-internals
> You can get substantially better performance out of sqlite by using the lower level https://github.com/crawshaw/sqlite, turning on WAL etc, using a connection per goroutine for reads, and sending batches of writes over a buffered channel / queue to a dedicated writer thread. That way you can turn off SQLite’s built in per-connection mutex but still be thread safe since each connection is only used on a single thread at a time.
Would this protect against a row update in the middle of a read? e.g. would a row at least be internally consistent at the time it was read?
I'm trying to work with sqlite in zig. I found this project https://github.com/vrischmann/zig-sqlite but it seems that it is broken with zig 0.11.0 (something to do with stage2 I guess).
If you are interested in thread-offloading and specifically writing a large volume of data to a db, take a look at https://github.com/margelo/react-native-quick-sqlite
Project mention: Extralite: SQLite Ruby gem with concurrency, extensions, backup features | news.ycombinator.com | 2024-02-11
C Sqlite related posts
-
I'm writing a new vector search SQLite Extension
-
Show HN: Roast my SQLite encryption at-rest
-
Redis Re-Implemented with SQLite
-
Sqlime: Online SQLite Playground
-
"If this one guy got hit by a bus, the software would fall apart."
-
Replacing Complicated Hashmaps with SQLite
-
SQLite-x: The minimalistic SQLite editor for non-programmers
-
A note from our sponsor - SaaSHub
www.saashub.com | 10 May 2024
Index
What are some of the best open-source Sqlite projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | WCDB | 10,496 |
2 | Craft | 10,208 |
3 | libsql | 7,894 |
4 | go-sqlite3 | 7,488 |
5 | sqlitestudio | 4,243 |
6 | dqlite | 3,721 |
7 | sqlite-plus | 3,394 |
8 | sqlite-gui | 1,050 |
9 | sist2 | 769 |
10 | stanchion | 622 |
11 | sqlite | 555 |
12 | verneuil | 394 |
13 | sqlite-lines | 384 |
14 | sqleet | 372 |
15 | SQLite3MultipleCiphers | 343 |
16 | esp32_arduino_sqlite3_lib | 343 |
17 | go-sqlite-lite | 331 |
18 | zig-sqlite | 317 |
19 | react-native-quick-sqlite | 313 |
20 | extralite | 244 |
21 | sqlite_scanner | 185 |
22 | sqlite_micro_logger_arduino | 161 |
23 | dbmail | 138 |
Sponsored