litestack | dqlite | |
---|---|---|
16 | 33 | |
898 | 3,721 | |
- | 1.0% | |
9.0 | 9.5 | |
4 days ago | 9 days ago | |
Ruby | C | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
litestack
-
Speed Up Your Ruby on Rails Application with LiteCache
The benchmarks for LiteCache are impressive, with a small caveat. While LiteCache outperforms a local Redis installation for every read operation, it seems like there's still room for improvement, especially for large write payloads.
-
Stream Updates to Your Users with LiteCable for Ruby on Rails
Luckily, the official LiteStack benchmarks include measurements for LiteCable against Redis, which I am going to quote here.
-
Handle Incoming Webhooks with LiteJob for Ruby on Rails
Let's quickly look into how LiteJob uses SQLite to implement a job queueing system. In essence, the class Litequeue interfaces with the SQLite queue table. This table's columns, like id, name, fire_at, value, and created_at, store and manage job details.
- All-in-one Ruby gem for webapp data infrastructure
-
An Introduction to LiteStack for Ruby on Rails
Next, we install LiteStack using the shipped generator:
-
I'm All-In on Server-Side SQLite
Related: I wrote a piece last week on deploying Rails apps to production on Fly.io at https://fly.io/ruby-dispatch/sqlite-and-rails-in-production/
The work that’s made this possible is:
1. Litestack - https://github.com/oldmoe/litestack
2. Fly.io’s work on the dockerfile-rails generator detecting Sqlite and Litestack in a Rails project, then setting up sane defaults for where that data is stored and persisted in production. This is all done behind the scenes with no intervention required from the person deploying.
3. Servers are overall faster and more powerful
I hope more Rails hosts make it easier and safer to deploy Sqlite to production. It will lower costs and reduce complexity for folks deploying apps.
-
Extralite 2.0 has been released!
Didn't know that one! The litestack.gemspec shows it's a wrapper around the sqlite3 gem. So, not really comparable...
-
LiteFS Cloud: Distributed SQLite with Managed Backups
I’m working on this for Rails apps at https://github.com/oldmoe/litestack/pull/12
The idea is that people with small-to-medium size Rails Turbo apps should be able to deploy them without needing Redis or Postgres.
I’ve gotten as far as deploying this stack _without_ LiteFS and it works great. The only downside is the application queues requests on deploy, but for some smaller apps it’s acceptable to have the client wait for a few seconds while the app restarts.
When I get that PR merged I’ll write about how it works on Fly and publish it to https://fly.io/ruby-dispatch/.
-
Ask HN: What's the fastest and simplest way to prototype a web app in 2023?
Rails is the way to go. The productivity of the Ruby language is insane. It's battle tested for decades and you can easily scale your prototype.
If you want a simple app served on a single host you can try LiteStack [0] so you don't need a Redis/Postgres/Sidekiq instance, just SQLite.
Laravel is also good if you like PHP language.
[0] https://github.com/oldmoe/litestack
- Litestack: A Ruby gem that provides an all-in-one solution for web application
dqlite
-
Marmot: Multi-writer distributed SQLite based on NATS
If 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)
- I'm All-In on Server-Side SQLite
-
SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s
I'd be curious for a similar tuning with Dqlite: https://github.com/canonical/dqlite
- Strong Consistency with Raft and SQLite
-
9 years of open-source database development: reviewing the designs
Anyone knows how the DB this is about, https://rqlite.io/, compares with https://dqlite.io/ by Canonical (both seem to be distributed versions of sqlite)?
- SQLite the only database you will ever need in most cases
-
Transcending Posix: The End of an Era?
For folks' context, the new tool that's being discussed in the thread mentioned by the parent here is litefs [0], as well as which you can also look at rqlite [1] and dqlite [2], which all provide different trade-offs (e.g. rqlite is 'more strongly consistent' than litefs).
[0]: https://github.com/superfly/litefs
[1]: https://github.com/rqlite/rqlite
[2]: https://github.com/canonical/dqlite
-
SQLite is not a toy database
I presume you're familiar with https://github.com/canonical/dqlite (made by my employer) and https://github.com/rqlite/rqlite (unrelated)? How will mvsqlite compare to those?
-
GitDB, a distributed embeddable database on top of Git
Check out dqlite, it's sqlite but with a raft consensus to distribute changes through a log: https://dqlite.io/ You can link it in as a library too, it sounds like exactly what you want.
- Ask HN: Free and open source distributed database written in C++ or C
What are some alternatives?
extralite - Ruby on SQLite
rqlite - The lightweight, distributed relational database built on SQLite.
sqld - LibSQL with extended capabilities like HTTP protocol, replication, and more.
kine - Run Kubernetes on MySQL, Postgres, sqlite, dqlite, not etcd.
corrosion - Gossip-based service discovery (and more) for large distributed systems.
litestream - Streaming replication for SQLite.
sqlite-y-crdt - Y-CRDT extension for SQLite
better-sqlite3 - The fastest and simplest library for SQLite3 in Node.js.
mycelite - Mycelite is a SQLite extension that allows you to synchronize changes from one instance of SQLite to another.
boringproxy - Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
replicate-rails - Replicate gem for Rails
Bedrock - Rock solid distributed database specializing in active/active automatic failover and WAN replication