risingwave
risingwave | mssql-changefeed | |
---|---|---|
27 | 4 | |
6,309 | 14 | |
2.2% | - | |
10.0 | 6.6 | |
5 days ago | 5 months ago | |
Rust | Go | |
Apache License 2.0 | MIT License |
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.
risingwave
-
Proton, a fast and lightweight alternative to Apache Flink
How does this compare to RisingWave and Materialize?
https://github.com/risingwavelabs/risingwave
-
RisingWave's Roadmap - Redefining Stream Processing with the Rust-Built Streaming Database
Hey everyone - One and a half year ago, we open sourced RisingWave, a Rust-built streaming database, under Apache 2.0 license. Two weeks ago, we released RisingWave 1.3. Just last week, we unveiled RisingWave's roadmap.
- Risingwave: Redefining Stream Processing
-
Highlights of RisingWave v1.3: The Open-Source Streaming Database
Look out for next monthβs edition to see what new, exciting features will be added. Check out the RisingWave GitHub repository to stay up to date on the newest features and planned releases.
- Optimizing Rust Code for the Lsm-Tree Iterator in RisingWave
- Hummock: A Storage Engine Designed for Stream Processing
-
RisingWave 1.2 released - the open-source streaming database built in Rust
If interested, please feel free to join our Slack community! Thanks eveyone for your generous support!
-
Query materialized views with Java, Spring, and streaming database
We will spin up on our local environment the existing RisingWave fully-featured demo cluster on GitHub which is composed of multiple RisingWave components. To simplify this task, it leverages docker-compose.yaml file which includes additional containers for Kafka message broker, and data generation service.
-
Real-time Data Processing Pipeline With MongoDB, Kafka, Debezium And RisingWave
To complete the steps in this guide, you must download/clone and work on an existing sample project on GitHub. The project uses Docker for convenience and consistency. It provides a containerized development environment that includes the services you need to build the sample data pipeline.
-
Flink CDC / alternatives
Hey have you looked at RisingWave (https://github.com/risingwavelabs/risingwave) before? It's a stream processing system with PostgreSQL interface. It also have integrations similar to Flink CDC.
mssql-changefeed
-
How to Listen to Database Changes Using Postgres Triggers in Elixir
We made mssql-changefeed for this purpose:
https://github.com/vippsas/mssql-changefeed
V1 requires to run a sweeper procedure in the background, but an upcoming v2 version does without the sweep loop. Unfortunately too fresh for readme to be updated, but relevant lines in tests to show it off:
https://github.com/vippsas/mssql-changefeed/blob/v1-lazy/go/...
https://github.com/vippsas/mssql-changefeed/blob/v1-lazy/go/...
https://github.com/vippsas/mssql-changefeed/blob/v1-lazy/go/...
Library itself:
https://github.com/vippsas/mssql-changefeed/blob/v1-lazy/mig...
-
Push-Based Outbox Pattern with Postgres Logical Replication
Not OP, but there is an approach here of using a dedicated loop worker to assign post-commit ID sequence. I.e. using the outbox pattern once, simply to assign a post-commit ID.
https://github.com/vippsas/mssql-changefeed/blob/main/MOTIVA...
I wish DBs had this more built in, it seems a critical feature of a DB these days and the commit log already have very similar sequence numbers internally...
-
The Next Generation of Materialize
We do something similar, but in 2), instead of using the outbox pattern, we make use (in several different settings) of integers that are guaranteed to increment in commit order, then each consumer can track where their cursor is on the feed of changes. This requires some more coordination but it means that publishers of changes don't need one outbox per consumer or similar.
Then you can have "processes" that query for new data in an input table, and update aggregates/derived tables from that simply by "select * ... where ChangeSequenceNumber > @MaxSequenceNumberFromPreviousExecution"...
The idea here implemented for Microsoft SQL for the OLTP case:
https://github.com/vippsas/mssql-changefeed
What are some alternatives?
materialize - The data warehouse for operational workloads.
marmot - A distributed SQLite replicator built on top of NATS
datafuse - An elastic and reliable Cloud Warehouse, offers Blazing Fast Query and combines Elasticity, Simplicity, Low cost of the Cloud, built to make the Data Cloud easy [Moved to: https://github.com/datafuselabs/databend]
supavisor - A cloud-native, multi-tenant Postgres connection pooler.
ksql - The database purpose-built for stream processing applications.
pgcat - PostgreSQL pooler with sharding, load balancing and failover support.
greptimedb - An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported. Available on GreptimeCloud.
zeroeventhub
chdb - chDB is an embedded OLAP SQL Engine π powered by ClickHouse
rust-postgres - Native PostgreSQL driver for the Rust programming language
roapi - Create full-fledged APIs for slowly moving datasets without writing a single line of code.
postgrex_pubsub - A helper to turn postgres mutations into a pubsub channel