|2 days ago||10 days ago|
|GNU General Public License v3.0 or later||Apache License 2.0|
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.
An embeddable Prolog scripting language for Go
8 projects | news.ycombinator.com | 26 Jan 2022
There are advantages to embedding. You can retain the host language type system and and object model. If you have a great query language and model but have to write a ton of code to marshal back and forth, it might not be adding that much value (classic impedance mismatch).
While go’s compile time metaprogamming is virtually non-existent, it’s runtime metaprogramming with reflection is more or less complete. There’s a runtime cost to using it, but that can be mitigated.
See https://github.com/cockroachdb/cockroach/tree/master/pkg/sql... for a reflection-driven, embedded logic query language in go that achieves pragmatic goals of writing logic queries over data structure graphs at reasonable performance and pretty good expressibility.
CockroachDB & GKE: AUTH=implicit Backups
1 project | dev.to | 19 Jan 2022
Let’s look at taking backups on a CockroachDB cluster running on Google Kubernetes Engine. For this discussion we are assuming that you have a functioning GKE environment and have installed CockroachDB using a statefulset template similar to the one found here.
What is for you the project who represents the best the power of Golang ?
10 projects | reddit.com/r/golang | 28 Dec 2021
Cockroach DB is a great example, it’s a PostgreSQL compatible database made to be distributed: https://github.com/cockroachdb/cockroach
Best "database" to deal with a large amount of simple data - Exact searches
2 projects | reddit.com/r/bigdata | 18 Dec 2021
But if you're looking for a highly scalable relational db then you can check YugaByteDB/CockroachDB (=both based upon PostGreSql) would also do the job well.
Looking to make a clone of a server in real time so if one fails the other takes over
3 projects | reddit.com/r/selfhosted | 15 Dec 2021
No matter how you cut it, my guess is that the most difficult aspect will be syncing up your data. You could into whether something like CockroachDB works with Wireguard. That'd help you simplify a good bit.
7 projects | news.ycombinator.com | 5 Dec 2021
Uff... Let's go give a look at the licenses: https://github.com/cockroachdb/cockroach/blob/master/LICENSE
So many licenses, including the Business Source License which is non-free license.
Also there's this CockroachDB Community License (CCL), which I guess is a made-up license that's going to include some whatever terms.
I might still accept this mix of licenses however I can't find the definition of "foundational features" -- what do I "lose" by using the OSS version instead of one of their managed offerings?
From a quick overview, it's soft-no from me (in the sense that it probably wouldn't be my first choice).7 projects | news.ycombinator.com | 5 Dec 2021
Composing generic data structures in go
3 projects | dev.to | 30 Nov 2021
Recently a colleague, Nathan, reflecting on CockroachDB, remarked (paraphrased from memory) that the key data structure is the interval btree. The story of Nathan’s addition of the first interval btree to cockroach and the power of copy-on-write data structures is worthy of its own blog post for another day. It’s Nathan’s hand-specialization of that data structure that provided the basis (and tests) for the generalization I’ll be presenting here. The reason for this specialization was as much for the performance wins of avoiding excessive allocations, pointer chasing, and cost of type assertions when using interface boxing.
Stacked changes: how FB and Google engineers stay unblocked and ship faster
12 projects | news.ycombinator.com | 17 Nov 2021
I'm surprised Reviewable hasn't come up in this discussion. It does a great job of allowing stacked code reviews and even handles rebases nicely; the reviewer sees the diff between commit #1 and commit #1' (prime = after rebase).
CockroachDB has been using it since very early in the project.
1 project | reddit.com/r/facepalm | 6 Nov 2021
And even if you did want to run your database on a bunch of untrusted machines, a blockchain, being a linked list, is not a particularly efficient implementation. Its size increases linearly with the number of operations, which, for any rapid-fire application such as banking, means you have a tremendously inefficient marginal computational and storage cost per operation. You’d be considerably better off running something like Cockroach, or FoundationDB, or more ‘out-there’ offerings like Hypercore.
Recommendation for Key/Value storage
9 projects | reddit.com/r/golang | 29 Dec 2021
There are also different packages used as a wrapper on top of the Go map based on what your requirements are (storing a lot of data) https://github.com/allegro/bigcache or (need performance) https://github.com/dgraph-io/ristretto. For basic use-cases, the standard Go map should be enough. Just keep in mind whether you need concurrent access to your data structure, in which case you should guard your map with a mutex .
What are some alternatives?
go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
tidb - TiDB is an open source distributed HTAP database compatible with the MySQL protocol
vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
groupcache - groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
Trino - Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
yugabyte-db - The high-performance distributed SQL database for global, internet-scale apps.
badger - Fast key-value DB in Go.
dgraph - Native GraphQL Database with graph backend
InfluxDB - Scalable datastore for metrics, events, and real-time analytics
GCache - An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC
rqlite - The lightweight, distributed relational database built on SQLite
go-memdb - Golang in-memory database built on immutable radix trees