pebble
goleveldb
pebble | goleveldb | |
---|---|---|
2 | 15 | |
133 | 6,025 | |
4.5% | - | |
9.0 | 0.0 | |
3 days ago | 5 months ago | |
Go | Go | |
GNU General Public License v3.0 only | BSD 2-clause "Simplified" 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.
pebble
-
What type of software do you write at your workplace?
At Canonical I work on two open-source projects written in Go: Juju, a large cloud-based application deployment tool, and Pebble, a small Linux service manager. Both include CLI clients and API-based server daemons. Juju in particular is a large distributed system.
-
Useful and Useless Code Comments
Yeah, I like the "visual boundaries" way of framing it. A line of whitespace is a visual boundary, of course, but I find the // comment above it acts as a heading. Like a bold heading above a couple of paragraphs of text in a document.
I wouldn't add a heading above every paragraph, but I would might above every few paragraphs. In code, this translates to every 5-15 lines of code. Here's some code I wrote recently that shows this (https://github.com/canonical/pebble/blob/b152ff448bbe7d08c39...):
func writeFile(item writeFilesItem, source io.Reader) error {
goleveldb
-
Looking for fast, space-efficient key-lookup
Looks like a job for GoLevelDB.
-
Open Source Databases in Go
goleveldb - Implementation of the LevelDB key/value database in Go.
- A Database for 2022
-
An IndexedDB clone in pure Go
I wanted to get deeper insights into both indexeddb and leveldb, so decided to write an indexeddb wrapper around goleveldb.
-
What type of software do you write at your workplace?
https://github.com/syndtr/goleveldb for heavy-duty local data storage.
-
Embedded write-heavy on-disk cache, write-amplification
We're using go-leveldb for a reasonably high-load case here at my $dayjob.
-
Best way to store logs?
I would used some embedded kv store like go-leveldb or bolt. Key is BigEnding timestamp + optional tail to allow duplicate timestamps.
-
Memory leack (?) with pprof on graphql server
I'm using the leveldb https://github.com/syndtr/goleveldb for the moment because I'm developing the architecture. Mh, leveldb support the only the inmem db? :/
- IceFireDB:Distributed disk storage database based on Raft and Redis protocol.
- https://np.reddit.com/r/programming/comments/p7a56u/icefiredbdistributed_disk_storage_database_based/h9i9j44/
What are some alternatives?
Juju - Orchestration engine that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure (Kubernetes or otherwise).
badger - Fast key-value DB in Go.
Benthos - Fancy stream processing made operationally mundane
bolt
cobra - A Commander for modern Go CLI interactions
bbolt - An embedded key/value database for Go.
gqlgen - go generate based graphql server library
buntdb - BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support
easyjson - Fast JSON serializer for golang.
Tile38 - Real-time Geospatial and Geofencing
jsoniter - A high-performance 100% compatible drop-in replacement of "encoding/json"
kingshard - A high-performance MySQL proxy