horde
citus
horde | citus | |
---|---|---|
5 | 61 | |
1,250 | 9,840 | |
- | 1.2% | |
5.8 | 9.4 | |
17 days ago | 8 days ago | |
Elixir | C | |
MIT License | 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.
horde
-
Elixir for Ruby developers: the three most important differences
[^3]: https://github.com/derekkraan/horde
- People (even open source maintainers) have lives and jobs and other interests
-
Question about a Decentralized Timeline
CRDTs are one solution to “eventual consistency”. Horde is one option: https://github.com/derekkraan/horde
-
Building a Distributed Turn-Based Game System in Elixir
Horde – Elixir library that provides a distributed and supervised process registry.
-
Write libraries instead of services, where possible
No, typically you register a node and instruct it on what processes to run. But there are libraries to help instrument this kind of behavior.
For elixir:
- https://github.com/derekkraan/horde
- https://github.com/bitwalker/swarm
citus
- SPQR 1.3.0: a production-ready system for horizontal scaling of PostgreSQL
- Citus: PostgreSQL extension that transforms Postgres into a distributed database
-
Figma's Databases team lived to tell the scale
I see they don't mention Citus (https://github.com/citusdata/citus), which is already a fairly mature native Postgres extension. From the details given in the article, in sounds like they just reimplemented it.
I wonder if they were unaware of it or disregarded it for a reason —I currently am in a similar situation as the one described in the blog, trying to shard a massive Postgres DB.
-
PostgreSQL Is Enough
It is possible, if you pay for it. You can do Multi-AZ Clustered Instances in RDS, where you get the benefits of Multi-AZ failover with traffic sharing.
If you can run your own infra – at least on an EC2 level – you can do things like Citus [0] for Postgres, which is about as close to "just add database nodes" as you'll get.
[0]: https://www.citusdata.com/
-
Vitess 18
So while searching for something like this for postgres I came across citus. Any one know how that stacks up?
https://github.com/citusdata/citus
- In-Depth Guide: Citus Technical Readme
-
Revolutionizing Database Scaling with CitusDB
References: CitusDB
- Squeeze the hell out of the system you have
- Show HN: Hydra 1.0 – open-source column-oriented Postgres
- Schema-based sharding comes to PostgreSQL with Citus
What are some alternatives?
libcluster - Automatic cluster formation/healing for Elixir applications
Greenplum - Greenplum Database - Massively Parallel PostgreSQL for Analytics. An open-source massively parallel data platform for analytics, machine learning and AI.
libgit2 - A cross-platform, linkable library implementation of Git that you can use in your application.
yugabyte-db - YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
tictac - Demonstration of building a clustered, distributed, multi-player, turn-based game server written in Elixir.
TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
Phoenix - Peace of mind from prototype to production
dbt-core - dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.
wireguard-vyatta-ubnt - WireGuard for Ubiquiti Devices
stolon - PostgreSQL cloud native High Availability and more.