Step 1: Start RisingWave
The following options start RisingWave in the standalone mode. In this mode, data is stored in the file system and the metadata is stored in the embedded SQLite database. See About RisingWave standalone mode for more details. For extensive testing or single-machine deployment, consider starting RisingWave via Docker Compose. For production environments, consider RisingWave Cloud, our fully managed service, or deployment on Kubernetes using the Operator or Helm Chart.Script installation
Open a terminal and run the followingcurl
command.
Docker
Ensure Docker Desktop is installed and running in your environment.Homebrew
Ensure Homebrew is installed, and run the following commands:Step 2: Connect to RisingWave
Ensure you havepsql
installed in your environment. To learn about how to install it, see Install psql without PostgreSQL.
Open a new terminal window and run:
Step 3: Insert some data
RisingWave supports both direct data insertion and streaming data ingestion from sources like message queues and database change streams. To keep things simple, we’ll demonstrate the approach of direct data insertion. Let’s create a table and insert some data. For instance, we can create a table namedcredit_card_transactions
to store information about credit card usage.
Create the table
Insert five rows of data
Step 4: Analyze and query data
Next, we will detect potentially fraudulent behavior by identifying any card that spends more than $5000 within a one-minute window. To do this, we’ll use a materialized view. A materialized view in RisingWave is not a static snapshot or a one-time query. Instead, it’s a continuously maintained result that automatically stays up to date as new data arrives. You can think of it as a live dashboard behind a SQL query.Create a materialized view that detects high-spending cards in 1-minute windows
credit_card_transactions
will automatically update fraud_alerts
.
Query the current result
card_123
over the $5000 threshold.
Insert additional data to trigger fraud alert
Query the updated result
About RisingWave standalone mode
RisingWave standalone mode is a simplified deployment mode for RisingWave. It is designed to be minimal, easy to install, and configure. Unlike other deployment modes, for instance Docker Compose or Kubernetes, RisingWave standalone mode starts the cluster as a single process. This means that services likecompactor
, frontend
, compute
and meta
are all embedded in this process.
For state store, we will use the embedded LocalFs
Object Store, eliminating the need for an external service like minio
or s3
; for meta store, we will use the embedded SQLite
database, eliminating the need for an external service like etcd
.
By default, the RisingWave standalone mode will store its data in ~/.risingwave
, which includes both Metadata
and State Data
.
For a batteries-included setup, with monitoring
tools and external services like kafka
fully included, you can use Docker Compose instead. If you would like to set up these external services manually, you may check out RisingWave’s Docker Compose, and run these services using the same configurations.
Configure RisingWave standalone mode
The instance of RisingWave standalone mode can run without any configuration. However, there are some options available to customize the instance. The main options which new users may require would be the state store directory (--state-store-directory
) and in-memory mode (--in-memory
).
--state-store-directory
specifies the new directory where the cluster’s Metadata
and State Data
will reside. The default is to store it in the ~/.risingwave
folder.
--in-memory
will run an in-memory instance of RisingWave, both Metadata
and State Data
will not be persisted.
Monitor RisingWave standalone mode with Grafana and Prometheus
To monitor your standalone cluster, you may wish to integrate metrics monitoring with Grafana and Prometheus. First install Grafana and Prometheus. Next, clone the RisingWave repository, it contains various configuration files. Start the RisingWave standalone cluster. Make sure you’re in theRisingWave
directory.
Start your prometheus instance:
grafana/risingwave-dev-dashboard.json
, grafana/risingwave-user-dashboard.json
.
With that you can now monitor your standalone cluster with Grafana and Prometheus.
What’s next?
Congratulations! You’ve successfully started RisingWave and conducted some initial data analysis. To explore further, you may want to:- Check out the ready-to-run examples:
- See this GitHub directory for ready-to-run demos and integration examples.
- Read our documentation to learn about how to ingest data from data streaming sources, transform data, and deliver data to downstream systems.