|
| 1 | +(risingwave)= |
| 2 | + |
| 3 | +# RisingWave |
| 4 | + |
| 5 | +```{div} |
| 6 | +:style: "float: right; margin-left: 0.5em" |
| 7 | +[{w=180px}](https://www.risingwave.com/) |
| 8 | +``` |
| 9 | + |
| 10 | +[RisingWave] is a stream processing and management platform that allows |
| 11 | +configuring data sources, views on that data, and destinations where |
| 12 | +results are materialized. |
| 13 | +It provides both a Postgres-compatible SQL interface, like CrateDB, |
| 14 | +and a DataFrame-style Python interface. |
| 15 | + |
| 16 | +RisingWave can ingest millions of events per second, continuously join |
| 17 | +and analyze live streams with historical data, serve ad-hoc queries at |
| 18 | +low latency, and persist fresh, consistent results to Apache Iceberg™ |
| 19 | +or any other downstream system. |
| 20 | + |
| 21 | +{h=200px} |
| 22 | + |
| 23 | +> Deliver fresh, low-latency insights from real-time streams, |
| 24 | +> database CDC, and time-series data. Bring streaming and batch together, |
| 25 | +> let users join and analyze both live and historical data, and persist |
| 26 | +> results in managed Apache Iceberg™ tables. |
| 27 | +
|
| 28 | +:::{dropdown} **Managed RisingWave** |
| 29 | +RisingWave Labs offers [managed products][RisingWave pricing] |
| 30 | +for building prototypes, production workloads, and enterprise-level, critical |
| 31 | +applications. |
| 32 | +::: |
| 33 | + |
| 34 | +```{div} |
| 35 | +:style: "clear: both" |
| 36 | +``` |
| 37 | + |
| 38 | +## Synopsis |
| 39 | + |
| 40 | +:::{rubric} RisingWave |
| 41 | +::: |
| 42 | +Load an Apache Iceberg table, and serve it as materialized view. |
| 43 | +```sql |
| 44 | +CREATE SOURCE sensors_readings |
| 45 | +WITH ( |
| 46 | + connector = 'iceberg', |
| 47 | + database.name='db.db', |
| 48 | + warehouse.path='s3://warehouse/', |
| 49 | + table.name='sensors_readings', |
| 50 | + s3.endpoint = '<YOUR_S3_ENDPOINT>', |
| 51 | + s3.access.key = '<YOUR_S3_ACCESS_KEY>', |
| 52 | + s3.secret.key = '<YOUR_S3_SECRET_KEY>', |
| 53 | + s3.region = '<YOUR_S3_REGION_NAME>' |
| 54 | +); |
| 55 | +``` |
| 56 | +```sql |
| 57 | +CREATE MATERIALIZED VIEW average_sensor_readings AS |
| 58 | +SELECT |
| 59 | + sensor_id, |
| 60 | + AVG(reading) AS average_reading |
| 61 | +FROM sensors_readings |
| 62 | +GROUP BY sensor_id; |
| 63 | +``` |
| 64 | +:::{rubric} CrateDB |
| 65 | +::: |
| 66 | +Converge into a CrateDB table for long-term persistence and efficient querying, |
| 67 | +even on large amounts of data. |
| 68 | +```sql |
| 69 | +CREATE TABLE public.average_sensor_readings ( |
| 70 | + sensor_id BIGINT PRIMARY KEY, |
| 71 | + average_reading DOUBLE |
| 72 | +); |
| 73 | +``` |
| 74 | + |
| 75 | +## Learn |
| 76 | + |
| 77 | +:::{rubric} Tutorials |
| 78 | +::: |
| 79 | +- An example with data coming from an Apache Iceberg table and aggregations |
| 80 | + materialized in real-time in CrateDB, using RisingWave. |
| 81 | + See [Stream processing from Iceberg tables to CrateDB using RisingWave]. |
| 82 | + |
| 83 | + |
| 84 | +[RisingWave]: https://github.com/risingwavelabs/risingwave |
| 85 | +[RisingWave pricing]: https://www.risingwave.com/pricing/ |
0 commit comments