mongita
lungo
Our great sponsors
mongita | lungo | |
---|---|---|
10 | 2 | |
867 | 448 | |
- | - | |
1.0 | 5.2 | |
about 1 month ago | 21 days ago | |
Python | Go | |
BSD 3-clause "New" or "Revised" License | MIT License |
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.
mongita
- Mongita is to MongoDB as SQLite is to SQL
-
Show HN: Mongita is to MongoDB as SQLite is to SQL
It's a good question and to be accurate, depending on the benchmark, Mongita is about the same speed at SQLite to several-times slower.
There is less happening algorithmically than you would think. Where the tricky slow bits do exist, they have largely fallen into the happy-path of fast data structures in the Python language/stdlib. I also use sortedcontainers for indexes which helped quite a bit (http://www.grantjenks.com/docs/sortedcontainers/).
If you're curious, the benchmark code is in the repo: https://github.com/scottrogowski/mongita/blob/master/benchma...
- Scottrogowski/Mongita
- I wrote an embedded database (like SQLite) that implements most of the PyMongo/MongoDB API
- I wrote an embedded NoSQL database (embedded as-in SQLite) that implements the PyMongo API.
lungo
- Show HN: Mongita is to MongoDB as SQLite is to SQL
-
An Unlikely Database Migration
I found myself in a similar situation sometime ago with MongoDB. In one project my unit tests started slowing me down too much to be productive. In another, I had so little data that running a server alongside it was a waste of resources. I invested a couple of weeks in developing a SQLite type of library[1] for Go that implemented the official Go drivers API with a small wrapper to select between the two. Up until now, it paid huge dividends in both projects ongoing simplicity and was totally worth the investment.
What are some alternatives?
indradb - A graph database written in rust
mongodb-memory-server - Spinning up mongod in memory for fast tests. If you run tests in parallel this lib helps to spin up dedicated mongodb servers for every test file in MacOS, *nix, Windows or CI environments (in most cases with zero-config).
NeDB - The JavaScript Database, for Node.js, nw.js, electron and the browser
go-memdb - Golang in-memory database built on immutable radix trees
sortedcontainers - Python Sorted Container Types: Sorted List, Sorted Dict, and Sorted Set
quickjspp - Port of QuickJS Javascript Engine.
lua-mongo - MongoDB Driver for Lua
sciter - Sciter: the Embeddable HTML/CSS/JS engine for modern UI development
SQLBoiler - Generate a Go ORM tailored to your database schema.