How to Use ClickHouse Aggregation States to Boost Materialized Views Performance by More Than 10 Times?In this article, I will discuss how to use Aggregation States in ClickHouse to boost Materialized Views performance by orders of magnitude. We will be building a small project along the way to show how all different optimizations can work together to...Jan 27, 2024 · 19 min readsayedalesawy.hashnode.dev
Designing Data Intensive Applications: Ch.7 Transactions (weak isolation levels)In the previous article, we introduced database transactions, went over their main use cases and discussed what type of guarantees they entail under the ACID definition. And then we discussed the characteristics of ACID transactions such as atomicity...Dec 10, 2023 · 22 min readsayedalesawy.hashnode.dev
Designing Data Intensive Applications: Ch.7 Transactions (intro to ACID transactions)In the previous few articles, we discussed the concept of partitioning and learned how it can be utilized by to scale out data intensive applications. In this article, we will start a new chapter where we will introduce an important concept in databa...Dec 2, 2023 · 7 min readsayedalesawy.hashnode.dev
Designing Data Intensive Applications: Ch.6 Partitioning (Part 3: Rebalancing Partitions and Request Routing)In the previous two articles, we introduced the concept of partitioning as a means to further scale out a system. We went over concepts like partitioning a key-value data set and discussed how partitioning works with secondary indexes. In this articl...Aug 26, 2023 · 10 min readsayedalesawy.hashnode.dev
Designing Data Intensive Applications: Ch.6 Partitioning (Part 2: Partitioning and Secondary Indexes)In the previous article, we introduced the concept of data partitioning as a method to be able to further scale storage and query throughput. We went over one of the approaches that can be used to partition a key-value dataset and learned its uses ca...Aug 4, 2023 · 5 min readsayedalesawy.hashnode.dev