←back to thread

320 points benocodes | 4 comments | | HN request time: 0.204s | source
1. emmanueloga_ ◴[] No.41904661[source]
They don't mention "CDC" (Change Data Capture) directly anywhere, but I think that's what Drasi is? (they call it "Data Change Processing platform").

"Debezium", an alternative CDC system, is mentioned in the documentation and sources [1]. I'm not sure if Drasi uses Debezium, or aims to be compatible with it. Maybe someone here can shine more light on the relationship between these two?

--

1: https://github.com/drasi-project/drasi-platform/tree/main/re...

replies(1): >>41910887 #
2. agentofreality ◴[] No.41910887[source]
Hi, I am the Drasi engineering manager, maybe I can clarify. Drasi is not intended to be another CDC alternative. It doesn't compete with Debezium, in fact we already have some integration with Debezium and hope to do more in the future.

People often use CDC to replicate, consolidate, filter, and transform data. And sometimes they use it as a source of change events to build components/services that look for specific data changes and do something when they detect those changes. This kind of components/services tend to be more complex to build, operate, and maintain than expected. Especially if they bring together data from multiple sources, have complex criteria, need to react in near real-time, be secure, and resilient. Most people that have had to build these can probably agree that they would like it to be less complex.

Drasi was created so people don't have to build this kind of component/service. They just write a Continuous Query (in Cypher), and then configure it to connect to supported Data Sources and Reactions (which do something when changes are detected).

Drasi manages the connection to the Source systems to get the low-level changes when they occur (sometimes using the Debezium library), maintains a perpetually accurate result set for the Continuous Query, and every time a source change results in a change to the Continuous Query result, Drasi generates a diff and sends it to the set of subscribed Reactions. The Reactions do something with those diffs depending on their purpose e.g. update a database, post an event, send an email, send a text message. All of this with no code in a platform that can scale to support many such queries.

There is more to it, but a good starting point is if you ever think to yourself that you want to query a database and then compare the results to a previous query result, and you want to do this periodically, you might consider Drasi as an alternative.

The Drasi Team is most active over on our discord channel(https://aka.ms/drasidiscord) and we would be happy to answer questions and help you evaluate whether Drasi is something that might be useful to you.

replies(2): >>41910977 #>>41911569 #
3. emmanueloga_ ◴[] No.41910977[source]
Thank you for this answer! It makes more sense now that you don’t call Drasi a CDC, I think it could be useful to clarify the distinction in the docs (perhaps also comparing and contrasting with other systems that appear to be closely related, like streaming databases).
4. robertpohl ◴[] No.41911569[source]
Put this in your website! I understand now :)