Replies: 4 comments
-
|
@DH-555 Hi! I'm interested in implementing the ScyllaDB adapter.
Would you prefer:
Happy to proceed either way, just want to align on the approach first. |
Beta Was this translation helpful? Give feedback.
-
|
We need to implement it in the Utopia framework as an adapter, then add an env variable in appwrite to allow switching between databases and also, setting the URL, etc: https://github.com/utopia-php/database |
Beta Was this translation helpful? Give feedback.
-
Thank you so much for the help! 🙌 I've raised a PR that attempts to fix this: here. Looking forward to the feedback! |
Beta Was this translation helpful? Give feedback.
-
|
@tinkerer-shubh Wow! That's insane. I'm testing it this afternoon and doing benchmarks 👀 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
🔖 Enhancement description
Add support for Scylla database.
🎤 Pitch
Main advantages of that database:
Performance and Speed: Scylla is designed to be a high-performance NoSQL database that is optimized for low-latency and high-throughput operations. It's built on top of Apache Cassandra, but it's much faster due to being written in C++ and utilizing a more efficient threading model. This makes it an excellent choice for applications with high data volume and performance requirements. It has usually better
Scalability: Scylla scales horizontally by adding more nodes to the cluster, providing seamless expansion. It can handle massive datasets with low latency, which is particularly important in real-time applications or those with large amounts of data. This is a significant advantage over MariaDB, which is traditionally more challenging to scale horizontally, especially without complex sharding strategies. That could make easier scaling appwrite in enterprise applications that need handling a huge amount of data.
Write Throughput: Scylla excels in write-heavy workloads and can handle large write volumes without significant performance degradation. In contrast, MariaDB might struggle with high write throughput due to its reliance on traditional relational models and ACID transactions. MongoDB offers good write performance but can be less efficient in certain scenarios when compared to Scylla. That can make appwrite apps that require a big write workload faster.
Fault Tolerance: Scylla provides built-in fault tolerance and replication, ensuring that data is highly available even in the event of node failures. While both MariaDB and MongoDB can be set up with replication for fault tolerance, Scylla’s architecture is designed to be more resilient and performant under load and fault conditions.
Maintenance: Scylla has a some kind of automatic tuning that reduces the need of maintenance.
In the context of Appwrite, Scylla offers the performance, scalability, and fault tolerance necessary for handling large volumes of data with minimal latency, mainly in potential enterprise write-heavy applications.
Also, it has some features that can make it easier to scale such as built-in multi-datacenter support so you can have many regions with a distributed architecture.
👀 Have you spent some time to check if this issue has been raised before?
🏢 Have you read the Code of Conduct?
Beta Was this translation helpful? Give feedback.
All reactions