Querydsl
citus
Querydsl | citus | |
---|---|---|
6 | 61 | |
4,575 | 9,840 | |
0.5% | 1.2% | |
4.1 | 9.4 | |
3 days ago | 8 days ago | |
Java | C | |
Apache License 2.0 | 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.
Querydsl
-
PostgreSQL Is Enough
There is a bit of tooling needed but is already around. For Java for example I had very good experience with a combination of flyway [1] for migrations, testcontainers [2] for making integration tests as easy as unit tests and querydsl [3] for a query and mapping layer.
[1] https://github.com/flyway/flyway
[2] https://java.testcontainers.org/modules/databases/postgres/
[3] https://github.com/querydsl/querydsl
-
Apache Empire-Db: Full SQL Freedom for Java
http://querydsl.com/ also seems similar
-
Useful & Unknown Java Libraries - Piotr's TechBlog
As for JPA: I cannot miss the QueryDSL library for building typesafe queries. Another interesting alternative is Jinq, that provides a java stream api to query entities.
-
You might not need an ORM
> all I really want is a nice API for building queries (that actually supports all underlying database features) and automatic mapping of the results to whatever objects/structs and primitives the language supports.
For Java based solutions, check out https://www.jooq.org/ or http://querydsl.com/
-
How do access sql through java in the real world?
QueryDsl -- http://querydsl.com
- How to build SQL query strings?
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?
jOOQ - jOOQ is the best way to write SQL in Java
Greenplum - Greenplum Database - Massively Parallel PostgreSQL for Analytics. An open-source massively parallel data platform for analytics, machine learning and AI.
JDBI - The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.
yugabyte-db - YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
Jinq - LINQ-style queries for Java 8
vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
Apache Hive - Apache Hive
TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
Spring Data JPA - Simplifies the development of creating a JPA-based data access layer.
dbt-core - dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.
Presto - The official home of the Presto distributed SQL query engine for big data
stolon - PostgreSQL cloud native High Availability and more.