4 ms·
That's why ksqlDB exists and handles all that for you, turning streams into tables that you can query.
by manigandham 6y ago
That's why ksqlDB exists and handles all that for you, turning streams into tables that you can query.
- georgewfraser 6y agoksql does not solve any of the hard consistency or contention problems you will face if you attempt to use Kafka as a datastore. Consider the simplest possible example: you write an "update event" to a topic and then read a ksql view of that topic. The view may or may not yet reflect the update. This is called read-after-write consistency, and you will need to create it in your application code.
- manigandham 6y agoIt's not a real database and doesn't promise ACID though. I think it's fine with the understanding that it's an incremental eventually-consistent materialized view engine that works seamlessly with Kafka, especially if you're already a heavy user. Otherwise loading data into a real database/data warehouse and using ETL with triggers/views/aggregations is better if you need advanced querying rather than a simple stream to table transforms.
- dkersten 6y agoThe same thing happens if you write to an RDBMS master and then read from a read-only replica.