Chapter 1. Read from Hudi

As engineers and architects we’ve learned (oftentimes the hard way) that databases are all about tradeoffs. One of the most difficult parts of choosing a database is knowing that no single database can do everything, and no matter which one you pick, it will make implementing certain features much more difficult.

When writing to a traditional relational database (Oracle, PostgreSQL, MySQL, SQLite, etc.) we prepare ourselves for more up-front data engineering work. In return, we expect straightforward queries and transactional guarantees. We know document databases (Mongo, Solr, CouchDB, etc) and key-value stores (e.g. Cassandra, HBase, Redis, RocksDB) will make writes a breeze, and scale horizontally but will eventually lead to headaches when it comes to tighter transactional guarantees and need for higher data consistency between multiple tables.

So we make architectural decisions in support of one business interest at the expense of others. For instance, when the ...

Get Apache Hudi: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.