We needed a Python interpreter that can be shipped everywhere. You won’t believe what happened next! “When I said I wanted portable Python, this is NOT what I meant!” In theory, Python is a portable language. You can write your script locally and distribute it to other machines with the Python interpreter. In practice, things can go wrong for a variety of reasons. The first and simpler problem is the module system: for a script to run, all of the modules it uses must be installed. For Python-savvy users, installing them is not a problem. But for a software vendor […]
Scylla Open Source 3.0 is a landmark release for ScyllaDB: Materialized Views and Secondary Indexes are production-ready, and Scylla Open Source 3.0 can now read and write the Cassandra 3.x SSTable (“mc”) format. In addition, Scylla Open Source 3.0 provides a variety of performance improvements to existing functionality. In this article we will explore the nature of a pair of those performance improvements, and the scenarios in which Scylla users can expect to see a significant performance gain. Streaming When one Scylla node needs to transfer data to another, it undertakes a process called streaming. This happens when a new […]
Scylla 2.3 was just recently released, and you can read more about that here. Aside from the many interesting feature developments like improved support for materialized views and hardware enablement like native support for AWS i3.metal baremetal instance, Scylla 2.3 also delivers even more performance improvements on top of our already industry-leading performance. Most of the performance improvements center around three pillars: Improved CPU scheduling, with more work being tagged and isolated The result of a diligent search for latency-inducing events, known as reactor stalls, particularly in the Scylla cache and in the process of writing SSTables A new, redesigned […]
We are excited to host our third annual Scylla Summit this year, and we would love to see you there. We had a very successful summit last year. Our growing community had the opportunity to hear firsthand from Scylla users about their success and also from our engineers about the underlying architecture that enables us to deliver predictable low latencies at high throughput out of the box. What’s coming on our product roadmap? We’ll talk about that too! Just in case you’d to see the kind of content we had at last year’s Summit, we’ve made the recordings available […]
Explore the main differences between i3.16xlarge in the i3 family and i3.metal on AWS. Will removing the virtualization layer bring better performance?
Learn how Scylla leverages control theory to keep compactions under control. We’ll discuss the approach ScyllaDB prescribes for solving this problem.
One of the cornerstones of Scylla is the I/O Scheduler, described in details at the moment of its inception in a two-part series that can be found here (part 1) and here (part 2). In the two years in which Scylla has been powering mission-critical workloads in production the importance of the I/O Scheduler was solidified and as our users have attested themselves, it plays a key part in isolating workloads and delivering on our Autonomous Operations promise.
As most earthlings are aware by now, two severe attacks under the names of Meltdown and Spectre were currently disclosed and it affects pretty much everybody living in modern society. Although there is no defense against the more elaborate Spectre, there is a software defense against the more widespread Meltdown. However, there is a catch that set the Internet on fire over the past few days. To protect oneself against Meltdown brings with it a performance penalty of up to 30%.
For a long time, permanent storage has been the bottleneck in most computer systems. Scylla operates under that assumption and includes a fully-featured userspace disk I/O Scheduler that is used to guarantee that different tasks in the database get their fair share of the disk. The I/O Scheduler is the central component at the heart of Scylla’s workload conditioning promise: to automatically adjust the database’s distribution of requests to adapt to the incoming workload. It is capable of providing Quality-of-Service (QoS) among the various tasks in the database and isolating them from each other. Since database systems tend to be […]
By default, Scylla SSTables will be compressed when they are written to disk. As mandated by the file format, data is compressed in chunks of a certain size – 4kB if not explicitly set. The size of the chunk is one of the parameters for the compression property to be set at table creation. Chunk-based compression presents trade-offs that users may not be aware of. In this post, I will try to explore what those trade-offs are and how to set them correctly for maximum benefit. As trade-offs imply different results for different loads, we will focus on single-partition read […]