This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
The following commit(s) were added to refs/heads/main by this push:
new 41f70de6ce1 [24924] Add scylladb docs (#1051)
41f70de6ce1 is described below
commit 41f70de6ce15f3efaf07c4c4d26bcdd02b3549ca
Author: Andrii Kysylevskyi <[email protected]>
AuthorDate: Mon Nov 3 16:48:19 2025 +0000
[24924] Add scylladb docs (#1051)
* [24924] Added ScyllaDB to documentation
* [24924] Updated other supported versions docs
---
docs/io-cassandra-sink.md | 10 ++-
docs/io-quickstart.md | 82 ++++++++++++++++++++---
versioned_docs/version-3.0.x/io-cassandra-sink.md | 10 ++-
versioned_docs/version-3.0.x/io-quickstart.md | 80 +++++++++++++++++++---
versioned_docs/version-4.0.x/io-cassandra-sink.md | 10 ++-
versioned_docs/version-4.0.x/io-quickstart.md | 82 ++++++++++++++++++++---
versioned_docs/version-4.1.x/io-cassandra-sink.md | 10 ++-
versioned_docs/version-4.1.x/io-quickstart.md | 82 ++++++++++++++++++++---
8 files changed, 323 insertions(+), 43 deletions(-)
diff --git a/docs/io-cassandra-sink.md b/docs/io-cassandra-sink.md
index 1652d5ea2bf..61122b2c7fc 100644
--- a/docs/io-cassandra-sink.md
+++ b/docs/io-cassandra-sink.md
@@ -10,7 +10,13 @@ You can download all the Pulsar connectors on [download
page](pathname:///downlo
:::
-The Cassandra sink connector pulls messages from Pulsar topics to Cassandra
clusters.
+The Cassandra sink connector pulls messages from Pulsar topics to Cassandra or
ScyllaDB clusters.
+
+## ScyllaDB Compatibility
+
+The Cassandra sink connector is fully compatible with
[ScyllaDB](https://www.scylladb.com/). ScyllaDB is a drop-in replacement for
Cassandra that maintains full CQL protocol compatibility. You can use the same
`pulsar-io-cassandra` connector with both Apache Cassandra and ScyllaDB without
any modifications.
+
+The configuration is identical for both databases. For more information about
using Pulsar with ScyllaDB, see [Streaming Real-Time Chat Messages into
ScyllaDB with Apache
Pulsar](https://www.scylladb.com/2022/04/25/streaming-real-time-chat-messages-into-scylladb-with-apache-pulsar/).
## Configuration
@@ -57,4 +63,4 @@ Before using the Cassandra sink connector, you need to create
a configuration fi
## Usage
-For more information about **how to connect Pulsar with Cassandra**, see
[here](io-quickstart.md#connect-pulsar-to-cassandra).
+For more information about **how to connect Pulsar with Cassandra and
ScyllaDB**, see
[here](io-quickstart.md#connect-pulsar-to-cassandra-and-scylladb).
diff --git a/docs/io-quickstart.md b/docs/io-quickstart.md
index 9c482fbca47..bb7082b907b 100644
--- a/docs/io-quickstart.md
+++ b/docs/io-quickstart.md
@@ -11,7 +11,7 @@ It is helpful to review the [concepts](io-overview.md) for
Pulsar I/O by running
At the end of this tutorial, you can:
-- [Connect Pulsar to Cassandra](#connect-pulsar-to-cassandra)
+- [Connect Pulsar to Cassandra and
ScyllaDB](#connect-pulsar-to-cassandra-and-scylladb)
- [Connect Pulsar to PostgreSQL](#connect-pulsar-to-postgresql)
:::tip
@@ -104,22 +104,25 @@ ls connectors
If an error occurs when starting the Pulsar service, you may see an
exception at the terminal running `pulsar/standalone`,
or you can navigate to the `logs` directory under the Pulsar directory to
view the logs.
-## Connect Pulsar to Cassandra
+## Connect Pulsar to Cassandra and ScyllaDB
-This section demonstrates how to connect Pulsar to Cassandra.
+This section demonstrates how to connect Pulsar to Cassandra and ScyllaDB.
:::tip
* Make sure you have Docker installed. If you do not have one, see [install
Docker](https://docs.docker.com/docker-for-mac/install/). For more information
about Docker commands, see [Docker
CLI](https://docs.docker.com/engine/reference/commandline/run/).
-* The Cassandra sink connector reads messages from Pulsar topics and writes
the messages into Cassandra tables. For more information, see [Cassandra sink
connector](io-cassandra-sink.md).
+* The Cassandra sink connector reads messages from Pulsar topics and writes
the messages into Cassandra or ScyllaDB tables. For more information, see
[Cassandra sink connector](io-cassandra-sink.md).
+* **ScyllaDB compatibility**: [ScyllaDB](https://www.scylladb.com/) is a
drop-in replacement for Cassandra that maintains full CQL protocol
compatibility. The same `pulsar-io-cassandra` connector works with both
databases without any modifications. For more information, see [Streaming
Real-Time Chat Messages into ScyllaDB with Apache
Pulsar](https://www.scylladb.com/2022/04/25/streaming-real-time-chat-messages-into-scylladb-with-apache-pulsar/).
:::
-To connect Pulsar to Cassandra, you can follow the steps below:
+To connect Pulsar to Cassandra or ScyllaDB, you can follow the steps below:
-### Step 1: Set up a Cassandra cluster
+### Step 1: Set up a Cassandra or ScyllaDB cluster
-This example uses `cassandra` Docker image to start a single-node Cassandra
cluster in Docker.
+This example uses `cassandra` Docker image to start a single-node Cassandra
cluster in Docker. Alternatively, you can use ScyllaDB as shown below.
+
+#### Option A: Using Cassandra
1. Start a Cassandra cluster.
@@ -189,11 +192,66 @@ This example uses `cassandra` Docker image to start a
single-node Cassandra clus
cqlsh:pulsar_test_keyspace> CREATE TABLE pulsar_test_table (key text
PRIMARY KEY, col text);
```
+#### Option B: Using ScyllaDB
+
+1. Start a ScyllaDB cluster.
+
+ ```bash
+ docker run -d --rm --name=scylladb -p 9042:9042 \
+ scylladb/scylla:latest \
+ --smp 1 --memory 750M --overprovisioned 1
+ ```
+
+ :::note
+
+ ScyllaDB requires specific flags when running in containers. The flags
above configure it for single-core operation with limited resources.
+
+ :::
+
+2. Make sure the Docker process is running.
+
+ ```bash
+ docker ps
+ ```
+
+3. Check the ScyllaDB logs to make sure the ScyllaDB process is running as
expected.
+
+ ```bash
+ docker logs scylladb
+ ```
+
+ Wait for ScyllaDB to be ready (this may take 30-60 seconds). Look for
messages indicating the database is ready to accept CQL connections.
+
+4. Check the status of the ScyllaDB cluster.
+
+ ```bash
+ docker exec scylladb nodetool status
+ ```
+
+5. Use `cqlsh` to connect to the ScyllaDB cluster.
+
+ ```bash
+ docker exec -ti scylladb cqlsh
+ ```
+
+6. Create a keyspace `pulsar_test_keyspace`.
+
+ ```bash
+ cqlsh> CREATE KEYSPACE pulsar_test_keyspace WITH replication =
{'class':'SimpleStrategy', 'replication_factor':1};
+ ```
+
+7. Create a table `pulsar_test_table`.
+
+ ```bash
+ cqlsh> USE pulsar_test_keyspace;
+ cqlsh:pulsar_test_keyspace> CREATE TABLE pulsar_test_table (key text
PRIMARY KEY, col text);
+ ```
+
### Step 2: Configure a Cassandra sink
-Now that we have a Cassandra cluster running locally.
+Now that we have a Cassandra or ScyllaDB cluster running locally.
-In this section, you need to configure a Cassandra sink connector.
+In this section, you need to configure a Cassandra sink connector. The same
connector works for both Cassandra and ScyllaDB.
To run a Cassandra sink connector, you need to prepare a configuration file
including the information that Pulsar connector runtime needs to know.
@@ -224,6 +282,12 @@ You can create a configuration file through one of the
following methods.
columnName: "col"
```
+:::note
+
+For ScyllaDB, the configuration is identical. If you used a different
container name or hostname, update the `roots` parameter accordingly (e.g.,
`"scylladb:9042"` if connecting from within a Docker network).
+
+:::
+
For more information, see [Cassandra sink connector](io-cassandra-sink.md).
### Step 3: Create a Cassandra sink
diff --git a/versioned_docs/version-3.0.x/io-cassandra-sink.md
b/versioned_docs/version-3.0.x/io-cassandra-sink.md
index 1652d5ea2bf..61122b2c7fc 100644
--- a/versioned_docs/version-3.0.x/io-cassandra-sink.md
+++ b/versioned_docs/version-3.0.x/io-cassandra-sink.md
@@ -10,7 +10,13 @@ You can download all the Pulsar connectors on [download
page](pathname:///downlo
:::
-The Cassandra sink connector pulls messages from Pulsar topics to Cassandra
clusters.
+The Cassandra sink connector pulls messages from Pulsar topics to Cassandra or
ScyllaDB clusters.
+
+## ScyllaDB Compatibility
+
+The Cassandra sink connector is fully compatible with
[ScyllaDB](https://www.scylladb.com/). ScyllaDB is a drop-in replacement for
Cassandra that maintains full CQL protocol compatibility. You can use the same
`pulsar-io-cassandra` connector with both Apache Cassandra and ScyllaDB without
any modifications.
+
+The configuration is identical for both databases. For more information about
using Pulsar with ScyllaDB, see [Streaming Real-Time Chat Messages into
ScyllaDB with Apache
Pulsar](https://www.scylladb.com/2022/04/25/streaming-real-time-chat-messages-into-scylladb-with-apache-pulsar/).
## Configuration
@@ -57,4 +63,4 @@ Before using the Cassandra sink connector, you need to create
a configuration fi
## Usage
-For more information about **how to connect Pulsar with Cassandra**, see
[here](io-quickstart.md#connect-pulsar-to-cassandra).
+For more information about **how to connect Pulsar with Cassandra and
ScyllaDB**, see
[here](io-quickstart.md#connect-pulsar-to-cassandra-and-scylladb).
diff --git a/versioned_docs/version-3.0.x/io-quickstart.md
b/versioned_docs/version-3.0.x/io-quickstart.md
index de547b91fbb..cf57d5b8d59 100644
--- a/versioned_docs/version-3.0.x/io-quickstart.md
+++ b/versioned_docs/version-3.0.x/io-quickstart.md
@@ -10,7 +10,7 @@ It is helpful to review the [concepts](io-overview.md) for
Pulsar I/O by running
At the end of this tutorial, you can:
-- [Connect Pulsar to Cassandra](#connect-pulsar-to-cassandra)
+- [Connect Pulsar to Cassandra and
ScyllaDB](#connect-pulsar-to-cassandra-and-scylladb)
- [Connect Pulsar to PostgreSQL](#connect-pulsar-to-postgresql)
:::tip
@@ -103,20 +103,23 @@ ls connectors
If an error occurs when starting the Pulsar service, you may see an
exception at the terminal running `pulsar/standalone`,
or you can navigate to the `logs` directory under the Pulsar directory to
view the logs.
-## Connect Pulsar to Cassandra
+## Connect Pulsar to Cassandra and ScyllaDB
-This section demonstrates how to connect Pulsar to Cassandra.
+This section demonstrates how to connect Pulsar to Cassandra and ScyllaDB.
:::tip
* Make sure you have Docker installed. If you do not have one, see [install
Docker](https://docs.docker.com/docker-for-mac/install/). For more information
about Docker commands, see [Docker
CLI](https://docs.docker.com/engine/reference/commandline/run/).
-* The Cassandra sink connector reads messages from Pulsar topics and writes
the messages into Cassandra tables. For more information, see [Cassandra sink
connector](io-cassandra-sink.md).
+* The Cassandra sink connector reads messages from Pulsar topics and writes
the messages into Cassandra or ScyllaDB tables. For more information, see
[Cassandra sink connector](io-cassandra-sink.md).
+* **ScyllaDB compatibility**: [ScyllaDB](https://www.scylladb.com/) is a
drop-in replacement for Cassandra that maintains full CQL protocol
compatibility. The same `pulsar-io-cassandra` connector works with both
databases without any modifications. For more information, see [Streaming
Real-Time Chat Messages into ScyllaDB with Apache
Pulsar](https://www.scylladb.com/2022/04/25/streaming-real-time-chat-messages-into-scylladb-with-apache-pulsar/).
:::
-### Set up a Cassandra cluster
+### Set up a Cassandra or ScyllaDB cluster
-This example uses `cassandra` Docker image to start a single-node Cassandra
cluster in Docker.
+This example uses `cassandra` Docker image to start a single-node Cassandra
cluster in Docker. Alternatively, you can use ScyllaDB as shown below.
+
+#### Option A: Using Cassandra
1. Start a Cassandra cluster.
@@ -186,11 +189,66 @@ This example uses `cassandra` Docker image to start a
single-node Cassandra clus
cqlsh:pulsar_test_keyspace> CREATE TABLE pulsar_test_table (key text
PRIMARY KEY, col text);
```
+#### Option B: Using ScyllaDB
+
+1. Start a ScyllaDB cluster.
+
+ ```bash
+ docker run -d --rm --name=scylladb -p 9042:9042 \
+ scylladb/scylla:latest \
+ --smp 1 --memory 750M --overprovisioned 1
+ ```
+
+ :::note
+
+ ScyllaDB requires specific flags when running in containers. The flags
above configure it for single-core operation with limited resources.
+
+ :::
+
+2. Make sure the Docker process is running.
+
+ ```bash
+ docker ps
+ ```
+
+3. Check the ScyllaDB logs to make sure the ScyllaDB process is running as
expected.
+
+ ```bash
+ docker logs scylladb
+ ```
+
+ Wait for ScyllaDB to be ready (this may take 30-60 seconds). Look for
messages indicating the database is ready to accept CQL connections.
+
+4. Check the status of the ScyllaDB cluster.
+
+ ```bash
+ docker exec scylladb nodetool status
+ ```
+
+5. Use `cqlsh` to connect to the ScyllaDB cluster.
+
+ ```bash
+ docker exec -ti scylladb cqlsh
+ ```
+
+6. Create a keyspace `pulsar_test_keyspace`.
+
+ ```bash
+ cqlsh> CREATE KEYSPACE pulsar_test_keyspace WITH replication =
{'class':'SimpleStrategy', 'replication_factor':1};
+ ```
+
+7. Create a table `pulsar_test_table`.
+
+ ```bash
+ cqlsh> USE pulsar_test_keyspace;
+ cqlsh:pulsar_test_keyspace> CREATE TABLE pulsar_test_table (key text
PRIMARY KEY, col text);
+ ```
+
### Configure a Cassandra sink
-Now that we have a Cassandra cluster running locally.
+Now that we have a Cassandra or ScyllaDB cluster running locally.
-In this section, you need to configure a Cassandra sink connector.
+In this section, you need to configure a Cassandra sink connector. The same
connector works for both Cassandra and ScyllaDB.
To run a Cassandra sink connector, you need to prepare a configuration file
including the information that Pulsar connector runtime needs to know.
@@ -221,6 +279,12 @@ You can create a configuration file through one of the
following methods.
columnName: "col"
```
+:::note
+
+For ScyllaDB, the configuration is identical. If you used a different
container name or hostname, update the `roots` parameter accordingly (e.g.,
`"scylladb:9042"` if connecting from within a Docker network).
+
+:::
+
For more information, see [Cassandra sink connector](io-cassandra-sink.md).
### Create a Cassandra sink
diff --git a/versioned_docs/version-4.0.x/io-cassandra-sink.md
b/versioned_docs/version-4.0.x/io-cassandra-sink.md
index 1652d5ea2bf..61122b2c7fc 100644
--- a/versioned_docs/version-4.0.x/io-cassandra-sink.md
+++ b/versioned_docs/version-4.0.x/io-cassandra-sink.md
@@ -10,7 +10,13 @@ You can download all the Pulsar connectors on [download
page](pathname:///downlo
:::
-The Cassandra sink connector pulls messages from Pulsar topics to Cassandra
clusters.
+The Cassandra sink connector pulls messages from Pulsar topics to Cassandra or
ScyllaDB clusters.
+
+## ScyllaDB Compatibility
+
+The Cassandra sink connector is fully compatible with
[ScyllaDB](https://www.scylladb.com/). ScyllaDB is a drop-in replacement for
Cassandra that maintains full CQL protocol compatibility. You can use the same
`pulsar-io-cassandra` connector with both Apache Cassandra and ScyllaDB without
any modifications.
+
+The configuration is identical for both databases. For more information about
using Pulsar with ScyllaDB, see [Streaming Real-Time Chat Messages into
ScyllaDB with Apache
Pulsar](https://www.scylladb.com/2022/04/25/streaming-real-time-chat-messages-into-scylladb-with-apache-pulsar/).
## Configuration
@@ -57,4 +63,4 @@ Before using the Cassandra sink connector, you need to create
a configuration fi
## Usage
-For more information about **how to connect Pulsar with Cassandra**, see
[here](io-quickstart.md#connect-pulsar-to-cassandra).
+For more information about **how to connect Pulsar with Cassandra and
ScyllaDB**, see
[here](io-quickstart.md#connect-pulsar-to-cassandra-and-scylladb).
diff --git a/versioned_docs/version-4.0.x/io-quickstart.md
b/versioned_docs/version-4.0.x/io-quickstart.md
index 9c482fbca47..bb7082b907b 100644
--- a/versioned_docs/version-4.0.x/io-quickstart.md
+++ b/versioned_docs/version-4.0.x/io-quickstart.md
@@ -11,7 +11,7 @@ It is helpful to review the [concepts](io-overview.md) for
Pulsar I/O by running
At the end of this tutorial, you can:
-- [Connect Pulsar to Cassandra](#connect-pulsar-to-cassandra)
+- [Connect Pulsar to Cassandra and
ScyllaDB](#connect-pulsar-to-cassandra-and-scylladb)
- [Connect Pulsar to PostgreSQL](#connect-pulsar-to-postgresql)
:::tip
@@ -104,22 +104,25 @@ ls connectors
If an error occurs when starting the Pulsar service, you may see an
exception at the terminal running `pulsar/standalone`,
or you can navigate to the `logs` directory under the Pulsar directory to
view the logs.
-## Connect Pulsar to Cassandra
+## Connect Pulsar to Cassandra and ScyllaDB
-This section demonstrates how to connect Pulsar to Cassandra.
+This section demonstrates how to connect Pulsar to Cassandra and ScyllaDB.
:::tip
* Make sure you have Docker installed. If you do not have one, see [install
Docker](https://docs.docker.com/docker-for-mac/install/). For more information
about Docker commands, see [Docker
CLI](https://docs.docker.com/engine/reference/commandline/run/).
-* The Cassandra sink connector reads messages from Pulsar topics and writes
the messages into Cassandra tables. For more information, see [Cassandra sink
connector](io-cassandra-sink.md).
+* The Cassandra sink connector reads messages from Pulsar topics and writes
the messages into Cassandra or ScyllaDB tables. For more information, see
[Cassandra sink connector](io-cassandra-sink.md).
+* **ScyllaDB compatibility**: [ScyllaDB](https://www.scylladb.com/) is a
drop-in replacement for Cassandra that maintains full CQL protocol
compatibility. The same `pulsar-io-cassandra` connector works with both
databases without any modifications. For more information, see [Streaming
Real-Time Chat Messages into ScyllaDB with Apache
Pulsar](https://www.scylladb.com/2022/04/25/streaming-real-time-chat-messages-into-scylladb-with-apache-pulsar/).
:::
-To connect Pulsar to Cassandra, you can follow the steps below:
+To connect Pulsar to Cassandra or ScyllaDB, you can follow the steps below:
-### Step 1: Set up a Cassandra cluster
+### Step 1: Set up a Cassandra or ScyllaDB cluster
-This example uses `cassandra` Docker image to start a single-node Cassandra
cluster in Docker.
+This example uses `cassandra` Docker image to start a single-node Cassandra
cluster in Docker. Alternatively, you can use ScyllaDB as shown below.
+
+#### Option A: Using Cassandra
1. Start a Cassandra cluster.
@@ -189,11 +192,66 @@ This example uses `cassandra` Docker image to start a
single-node Cassandra clus
cqlsh:pulsar_test_keyspace> CREATE TABLE pulsar_test_table (key text
PRIMARY KEY, col text);
```
+#### Option B: Using ScyllaDB
+
+1. Start a ScyllaDB cluster.
+
+ ```bash
+ docker run -d --rm --name=scylladb -p 9042:9042 \
+ scylladb/scylla:latest \
+ --smp 1 --memory 750M --overprovisioned 1
+ ```
+
+ :::note
+
+ ScyllaDB requires specific flags when running in containers. The flags
above configure it for single-core operation with limited resources.
+
+ :::
+
+2. Make sure the Docker process is running.
+
+ ```bash
+ docker ps
+ ```
+
+3. Check the ScyllaDB logs to make sure the ScyllaDB process is running as
expected.
+
+ ```bash
+ docker logs scylladb
+ ```
+
+ Wait for ScyllaDB to be ready (this may take 30-60 seconds). Look for
messages indicating the database is ready to accept CQL connections.
+
+4. Check the status of the ScyllaDB cluster.
+
+ ```bash
+ docker exec scylladb nodetool status
+ ```
+
+5. Use `cqlsh` to connect to the ScyllaDB cluster.
+
+ ```bash
+ docker exec -ti scylladb cqlsh
+ ```
+
+6. Create a keyspace `pulsar_test_keyspace`.
+
+ ```bash
+ cqlsh> CREATE KEYSPACE pulsar_test_keyspace WITH replication =
{'class':'SimpleStrategy', 'replication_factor':1};
+ ```
+
+7. Create a table `pulsar_test_table`.
+
+ ```bash
+ cqlsh> USE pulsar_test_keyspace;
+ cqlsh:pulsar_test_keyspace> CREATE TABLE pulsar_test_table (key text
PRIMARY KEY, col text);
+ ```
+
### Step 2: Configure a Cassandra sink
-Now that we have a Cassandra cluster running locally.
+Now that we have a Cassandra or ScyllaDB cluster running locally.
-In this section, you need to configure a Cassandra sink connector.
+In this section, you need to configure a Cassandra sink connector. The same
connector works for both Cassandra and ScyllaDB.
To run a Cassandra sink connector, you need to prepare a configuration file
including the information that Pulsar connector runtime needs to know.
@@ -224,6 +282,12 @@ You can create a configuration file through one of the
following methods.
columnName: "col"
```
+:::note
+
+For ScyllaDB, the configuration is identical. If you used a different
container name or hostname, update the `roots` parameter accordingly (e.g.,
`"scylladb:9042"` if connecting from within a Docker network).
+
+:::
+
For more information, see [Cassandra sink connector](io-cassandra-sink.md).
### Step 3: Create a Cassandra sink
diff --git a/versioned_docs/version-4.1.x/io-cassandra-sink.md
b/versioned_docs/version-4.1.x/io-cassandra-sink.md
index 1652d5ea2bf..61122b2c7fc 100644
--- a/versioned_docs/version-4.1.x/io-cassandra-sink.md
+++ b/versioned_docs/version-4.1.x/io-cassandra-sink.md
@@ -10,7 +10,13 @@ You can download all the Pulsar connectors on [download
page](pathname:///downlo
:::
-The Cassandra sink connector pulls messages from Pulsar topics to Cassandra
clusters.
+The Cassandra sink connector pulls messages from Pulsar topics to Cassandra or
ScyllaDB clusters.
+
+## ScyllaDB Compatibility
+
+The Cassandra sink connector is fully compatible with
[ScyllaDB](https://www.scylladb.com/). ScyllaDB is a drop-in replacement for
Cassandra that maintains full CQL protocol compatibility. You can use the same
`pulsar-io-cassandra` connector with both Apache Cassandra and ScyllaDB without
any modifications.
+
+The configuration is identical for both databases. For more information about
using Pulsar with ScyllaDB, see [Streaming Real-Time Chat Messages into
ScyllaDB with Apache
Pulsar](https://www.scylladb.com/2022/04/25/streaming-real-time-chat-messages-into-scylladb-with-apache-pulsar/).
## Configuration
@@ -57,4 +63,4 @@ Before using the Cassandra sink connector, you need to create
a configuration fi
## Usage
-For more information about **how to connect Pulsar with Cassandra**, see
[here](io-quickstart.md#connect-pulsar-to-cassandra).
+For more information about **how to connect Pulsar with Cassandra and
ScyllaDB**, see
[here](io-quickstart.md#connect-pulsar-to-cassandra-and-scylladb).
diff --git a/versioned_docs/version-4.1.x/io-quickstart.md
b/versioned_docs/version-4.1.x/io-quickstart.md
index 9c482fbca47..bb7082b907b 100644
--- a/versioned_docs/version-4.1.x/io-quickstart.md
+++ b/versioned_docs/version-4.1.x/io-quickstart.md
@@ -11,7 +11,7 @@ It is helpful to review the [concepts](io-overview.md) for
Pulsar I/O by running
At the end of this tutorial, you can:
-- [Connect Pulsar to Cassandra](#connect-pulsar-to-cassandra)
+- [Connect Pulsar to Cassandra and
ScyllaDB](#connect-pulsar-to-cassandra-and-scylladb)
- [Connect Pulsar to PostgreSQL](#connect-pulsar-to-postgresql)
:::tip
@@ -104,22 +104,25 @@ ls connectors
If an error occurs when starting the Pulsar service, you may see an
exception at the terminal running `pulsar/standalone`,
or you can navigate to the `logs` directory under the Pulsar directory to
view the logs.
-## Connect Pulsar to Cassandra
+## Connect Pulsar to Cassandra and ScyllaDB
-This section demonstrates how to connect Pulsar to Cassandra.
+This section demonstrates how to connect Pulsar to Cassandra and ScyllaDB.
:::tip
* Make sure you have Docker installed. If you do not have one, see [install
Docker](https://docs.docker.com/docker-for-mac/install/). For more information
about Docker commands, see [Docker
CLI](https://docs.docker.com/engine/reference/commandline/run/).
-* The Cassandra sink connector reads messages from Pulsar topics and writes
the messages into Cassandra tables. For more information, see [Cassandra sink
connector](io-cassandra-sink.md).
+* The Cassandra sink connector reads messages from Pulsar topics and writes
the messages into Cassandra or ScyllaDB tables. For more information, see
[Cassandra sink connector](io-cassandra-sink.md).
+* **ScyllaDB compatibility**: [ScyllaDB](https://www.scylladb.com/) is a
drop-in replacement for Cassandra that maintains full CQL protocol
compatibility. The same `pulsar-io-cassandra` connector works with both
databases without any modifications. For more information, see [Streaming
Real-Time Chat Messages into ScyllaDB with Apache
Pulsar](https://www.scylladb.com/2022/04/25/streaming-real-time-chat-messages-into-scylladb-with-apache-pulsar/).
:::
-To connect Pulsar to Cassandra, you can follow the steps below:
+To connect Pulsar to Cassandra or ScyllaDB, you can follow the steps below:
-### Step 1: Set up a Cassandra cluster
+### Step 1: Set up a Cassandra or ScyllaDB cluster
-This example uses `cassandra` Docker image to start a single-node Cassandra
cluster in Docker.
+This example uses `cassandra` Docker image to start a single-node Cassandra
cluster in Docker. Alternatively, you can use ScyllaDB as shown below.
+
+#### Option A: Using Cassandra
1. Start a Cassandra cluster.
@@ -189,11 +192,66 @@ This example uses `cassandra` Docker image to start a
single-node Cassandra clus
cqlsh:pulsar_test_keyspace> CREATE TABLE pulsar_test_table (key text
PRIMARY KEY, col text);
```
+#### Option B: Using ScyllaDB
+
+1. Start a ScyllaDB cluster.
+
+ ```bash
+ docker run -d --rm --name=scylladb -p 9042:9042 \
+ scylladb/scylla:latest \
+ --smp 1 --memory 750M --overprovisioned 1
+ ```
+
+ :::note
+
+ ScyllaDB requires specific flags when running in containers. The flags
above configure it for single-core operation with limited resources.
+
+ :::
+
+2. Make sure the Docker process is running.
+
+ ```bash
+ docker ps
+ ```
+
+3. Check the ScyllaDB logs to make sure the ScyllaDB process is running as
expected.
+
+ ```bash
+ docker logs scylladb
+ ```
+
+ Wait for ScyllaDB to be ready (this may take 30-60 seconds). Look for
messages indicating the database is ready to accept CQL connections.
+
+4. Check the status of the ScyllaDB cluster.
+
+ ```bash
+ docker exec scylladb nodetool status
+ ```
+
+5. Use `cqlsh` to connect to the ScyllaDB cluster.
+
+ ```bash
+ docker exec -ti scylladb cqlsh
+ ```
+
+6. Create a keyspace `pulsar_test_keyspace`.
+
+ ```bash
+ cqlsh> CREATE KEYSPACE pulsar_test_keyspace WITH replication =
{'class':'SimpleStrategy', 'replication_factor':1};
+ ```
+
+7. Create a table `pulsar_test_table`.
+
+ ```bash
+ cqlsh> USE pulsar_test_keyspace;
+ cqlsh:pulsar_test_keyspace> CREATE TABLE pulsar_test_table (key text
PRIMARY KEY, col text);
+ ```
+
### Step 2: Configure a Cassandra sink
-Now that we have a Cassandra cluster running locally.
+Now that we have a Cassandra or ScyllaDB cluster running locally.
-In this section, you need to configure a Cassandra sink connector.
+In this section, you need to configure a Cassandra sink connector. The same
connector works for both Cassandra and ScyllaDB.
To run a Cassandra sink connector, you need to prepare a configuration file
including the information that Pulsar connector runtime needs to know.
@@ -224,6 +282,12 @@ You can create a configuration file through one of the
following methods.
columnName: "col"
```
+:::note
+
+For ScyllaDB, the configuration is identical. If you used a different
container name or hostname, update the `roots` parameter accordingly (e.g.,
`"scylladb:9042"` if connecting from within a Docker network).
+
+:::
+
For more information, see [Cassandra sink connector](io-cassandra-sink.md).
### Step 3: Create a Cassandra sink