cockroach
graphite-cli
DISCONTINUED
Our great sponsors
cockroach | graphite-cli | |
---|---|---|
98 | 8 | |
28,897 | 217 | |
1.1% | - | |
10.0 | 7.2 | |
about 23 hours ago | 9 months ago | |
Go | TypeScript | |
GNU General Public License v3.0 or later | GNU Affero General Public License v3.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.
cockroach
-
No More Free Tier on PlanetScale, Here Are Free Alternatives
CockroachDB - SQL
-
Is it bad to create a publicly accessible RDS database for my serverless web app?
For example, when you create a serverless postgres database with a platform like CockroachDB or Neon, you effectively get a connection string with a strong password. Anyone can connect to your database from anywhere so long as they have the right connection string. There are no security settings in these services to change this behavior.
-
Linux surpasses the Mac among Steam gamers
> Yes you can on the android emulator. The biggest issue is compu arch in that case.
I can also download VirtualBox and run all Windows programs, that would mean that all Windows apps are Linux apps?
> Yes you can for the most part
You can't statically link glibc: https://github.com/cockroachdb/cockroach/issues/3392
glibc can break stuff: https://www.gamingonlinux.com/2022/08/valve-dev-understandab...
I had binaries break because the newer version if openssl was put under a slightly different name.
-
How do small SaaS's handle databases?
Also, worth noting, if you're already using PostgreSQL (or plan to) you might want to take a look at https://www.cockroachlabs.com/ they have a free tier too and CockroachDB has a PostgreSQL interface.
-
Go Dependency management in large company projects - How do you do it?
I know that some projects like cockroach use custom build tools like bazel. But we actually really like to use to be able to build our projects simply with the great go toolchain and don't really aim to dive deep into custom build solutions.
-
rage - a minimalistic load testing tool
Cockroachdb created a go runtime patch which measures the Grunning time of a goroutine: https://github.com/cockroachdb/cockroach/pull/82356. It doesn't entirely solve the problem though.
-
Data Engineering Tools in Go
Our entire backend is written in Go. We've built a platform that allows other companies to offer automatic data syncing to their customers' data warehouses. Go works great for building distributed systems like this (see K8s). We're not the only ones in the space building data intensive applications with Go. Pachyderm, Pinecone, Cockroach Labs and are all also doing it. We've been quite happy with how Go has worked for us.
-
Simple distributed database.
I would recommend researching CockroachDB. It does what you're describing natively. The basis of it's design is to distribute data based on geography. It's inexpensive and very simple to install and manage. It's based on Postgres ( but doesn't support all Postgres features). We've been using it for about 1 year and it meets our needs for some of our workload. www.cockroachlabs.com
-
SvelteKit+ MongoDB
CockroachDB
- Good database solution
graphite-cli
-
Stacked changes: how FB and Google engineers stay unblocked and ship faster
- https://docs.graphite.dev/guides/graphite-dashboard
Re `git rebase --onto`, the open source CLI offers a recursive implementation to prevent you from having to carefully rebase each branch in your stack (https://github.com/screenplaydev/graphite-cli/blob/main/src/...)
One of the reasons you cant use a simple rebase --onto is that you dont want to accidentally copy all downstack commits between the merge base and what you're restacking onto. The CLI tracks branch bases commits through git refs to ensure that restacking never duplicates commits.
Great question! It does lots of things. The CLI (https://github.com/screenplaydev/graphite-cli) lets you:
- Recursively rebase changes to keep your branches correctly stacked
- Allow you to shift half of a stack onto a different branch
- Open up PRs/push changes for all the branches in a stack
- Offer to delete merged branches from local, rebases the remaining branches, and adjust github pr merge bases.
The web dashboard lets you:
- See an inbox of PRs spanning any number of repos, based on which ones need action
- Navigate between PRs in a stack
- Modify Prs, review, all of which is synced to Github
- Shortcuts, client side caching for fast loading, Phabricator style interface, macros, landing a stack of PRs together, and much more :)
Give the tool a try, we'd love to hear your feedback in the community Slack! https://join.slack.com/t/graphite-community/shared_invite/zt...
The part of Graphite that helps manage stacked changes locally is open source - you can see how it handles the recursive rebases here: https://github.com/screenplaydev/graphite-cli/blob/main/src/...
This is exactly the problem that graphite-cli solves (https://github.com/screenplaydev/graphite-cli)
It keeps track of branchs and their parents by storing a tiny bit of metadata in the native git refs. It uses that information to perform recursive rebases: https://github.com/screenplaydev/graphite-cli/blob/main/src/...
It ends up working seamlessly - you just modify some branch, and then run `gt stack fix` to recursively rebase everything. (and then `gt stack submit` to sync everything to github :)
We tried manually rebasing too, before building Graphite. The challenge you face with manual rebasing is two parts:
1) If you update the bottom branch, you need to manually rebase each branch above it. That becomes brutal if your stack is >3 branches.
2) You cant perform a simple rebase-onto, because you'll copy all commits between the higher branch and trunk. You'd have to perform a three-way rebase, specifying the range of commits you'd like to copy onto the destination. This becomes infeasible by hand.
Graphite-cli gets around this by tracking branch metadata and storing it in native git refs (https://graphite.dev/blog/post/y6ysWaplagKc8YEFzYfr). When you rebase a stack, it recursively performs the three-way merge to fix things up smoothly.
On top of this, git provides no good mechanisms for submitting the stack. Graphite cli can submit/sync your whole stack as individual PRs, and can prune merged branches from the bottom of local stacks. Ends up coming together as a really powerful workflow :)
The cli is open source here: https://github.com/screenplaydev/graphite-cli, with docs here https://docs.graphite.dev/guides/graphite-cli. There's also an active Slack community which helps provide input on new features and adjustments.
Please let me know if you have any other questions!
What are some alternatives?
vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
neon - Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, branching, and bottomless storage.
tidb - TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial
Trino - Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
yugabyte-db - YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
InfluxDB - Scalable datastore for metrics, events, and real-time analytics
rqlite - The lightweight, distributed relational database built on SQLite.
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
dgraph - The high-performance database for modern applications
git-stack - Stacked branch management for Git
snowflake - Snowflake is a network service for generating unique ID numbers at high scale with some simple guarantees.
edgedb - A graph-relational database with declarative schema, built-in migration system, and a next-generation query language