21 May, 2024 - About 2 minutes
Scylladb
Intro
Scylla is the real-time big data database that is API-compatible with Apache Cassandra and Amazon DynamoDB. Scylla embraces a shared-nothing approach that increases throughput and storage capacity to realize order-of-magnitude performance improvements and reduce hardware costs.
Why ScyllaDB
ScyllaDB is favored for its exceptional capability to manage high data volumes and support rapid read/write operations. It is particularly effective in environments demanding high throughput, low latency, and the ability to scale. The database is also known for its robustness and fault tolerance, ensuring data integrity and availability.
Develop with ScyllaDB
Developing with ScyllaDB involves setting up the database environment, choosing the appropriate drivers for your programming language, and integrating it with your application.
Run ScyllaDB
ScyllaDB offers various deployment options, including Docker and ScyllaDB Cloud, making it flexible for different development scenarios.
For the scope of this article will focus on a docker deployment running a single node.
Run the following command to run scylla in detached mode
docker run --name scylla -d scylladb/scylla |
To check server logs you can run the following command:
docker logs -f scylla |
To verify the node status execute the following command:
docker exec -it scylla nodetool status |
You should have a similar output
Datacenter: datacenter1 |
To connect to a node one can use the following command
docker exec -it scylla cqlsh |
Scylla APIs and compatibility
By default, Scylla is compatible with Apache Cassandra and its APIs - CQL and Thrift. There is also support for the API of Amazon DynamoDB™, which needs to be enabled and configured in order to be used. For more information on how to enable the DynamoDB™ API in Scylla, and the current compatibility of this feature as well as Scylla-specific extensions, see Alternator and Getting started with Alternator.
Next steps
Next steps would be to create some client application. The following resources provide a good starting point, but that would be outside the scope of this article.
Additional Resources
- [https://university.scylladb.com/courses/scylla-essentials-overview/](Scyla Essentials course)
- Data Modeling in Scylla
- Data Modeling and Application Development
- Scylla Documentation
- slack channel
Reference
- https://www.scylladb.com/
- https://github.com/scylladb/scylladb
- https://docs.scylladb.com/stable/
- https://docs.scylladb.com/stable/get-started/
- https://university.scylladb.com/courses/using-scylla-drivers/lessons/rust-and-scylla-2/
- https://github.com/scylladb/scylla-cdc-rust
- https://github.com/scylladb/video-streaming
- https://github.com/scylladb/gaming-leaderboard-demo
- https://github.com/scylladb/scylla-cloud-getting-started/blob/main/docs/source/build-with-rust.md