# partitioning

Published articles for partitioning.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Announcing Fedora Linux 45 Beta

DevFeed: [Announcing Fedora Linux 45 Beta](<https://devfeed.tech/articles/announcing-fedora-linux-45-beta-26757.md>)

Original publisher: [Read original article](<https://fedoramagazine.org/announcing-fedora-linux-45-beta/>)

Author: Aoife Moloney

Published: 2026-09-15T14:05:00Z

Content type: release

Language: en

Sources: [Fedora Magazine](<https://devfeed.tech/sources/fedora-magazine.md>)

Topics: [Fedora](<https://devfeed.tech/topics/fedora.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [dnf](<https://devfeed.tech/topics/dnf.md>), [podman](<https://devfeed.tech/topics/podman.md>), [pandas](<https://devfeed.tech/topics/pandas.md>), [Python](<https://devfeed.tech/topics/python.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [MariaDB](<https://devfeed.tech/topics/mariadb.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [dnf](<https://devfeed.tech/tags/dnf.md>), [fedora-project-community](<https://devfeed.tech/tags/fedora-project-community.md>), [filesystems](<https://devfeed.tech/tags/filesystems.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [go](<https://devfeed.tech/tags/go.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [pandas](<https://devfeed.tech/tags/pandas.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [podman](<https://devfeed.tech/tags/podman.md>), [pre-release](<https://devfeed.tech/tags/pre-release.md>), [python](<https://devfeed.tech/tags/python.md>), [release](<https://devfeed.tech/tags/release.md>), [toolchains](<https://devfeed.tech/tags/toolchains.md>)

### AI overview

Fedora Linux 45 Beta is available for download or upgrade on September 15, 2026. The release includes changes to the kernel console, package signature verification, desktop secret management, software versions, Atomic Desktop image builds, Fedora CoreOS swap support, Anaconda installation flows, and Stratis filesystem partitioning.

### Source excerpt

Fedora Linux 45 Beta is here! On Tuesday, 15 September 2026 you can download or upgrade your systems from your usual spots to start enjoying what F45 has to offer early. How to get the beta release You can download F45 Beta, or our pre-release edition versions, from any of the following places: You can [...]

## Postgres 19: How Our Advice Has Changed Since We Wrote It

DevFeed: [Postgres 19: How Our Advice Has Changed Since We Wrote It](<https://devfeed.tech/articles/postgres-19-how-our-advice-has-changed-since-we-wrote-it-14482.md>)

Original publisher: [Read original article](<https://www.crunchydata.com/blog/postgres-19-how-our-advice-has-changed-since-we-wrote-it>)

Author: Christopher Winslett

Published: 2026-08-18T19:00:00Z

Content type: article

Language: en

Sources: [CrunchyData Blog](<https://devfeed.tech/sources/crunchydata-blog.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [JIT](<https://devfeed.tech/topics/jit.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Temporal data](<https://devfeed.tech/topics/temporal-data.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [async](<https://devfeed.tech/tags/async.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [index](<https://devfeed.tech/tags/index.md>), [jit](<https://devfeed.tech/tags/jit.md>), [latency](<https://devfeed.tech/tags/latency.md>), [linux](<https://devfeed.tech/tags/linux.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgres-19](<https://devfeed.tech/tags/postgres-19.md>), [production-postgres](<https://devfeed.tech/tags/production-postgres.md>), [release](<https://devfeed.tech/tags/release.md>), [storage](<https://devfeed.tech/tags/storage.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

This article revisits earlier Crunchy Data guidance on loading, storage, indexes, and partitioning for the upcoming Postgres 19 release. It explains which changes in Postgres 18 and 19 affect that advice, including asynchronous I/O, parallel maintenance, BRIN and skip-scan behavior, partition operations, and JIT being disabled by default. The details are based on current betas and may change before general availability.

### Source excerpt

Revisiting Crunchy posts on COPY, TOAST, BRIN, covering indexes, and partitioning: what we said then, which Postgres versions changed the story, and what we recommend on Postgres 19.

## A Deep Dive into Table partitioning Part 5: Partitioning an environment not individual tables

DevFeed: [A Deep Dive into Table partitioning Part 5: Partitioning an environment not individual tables](<https://devfeed.tech/articles/a-deep-dive-into-table-partitioning-part-5-partitioning-an-environment-not-individual-tables-26252.md>)

Original publisher: [Read original article](<https://medium.com/adyen/a-deep-dive-into-table-partitioning-part-5-partitioning-an-environment-not-individual-tables-a890ca302d86?source=rss----64941d9fbc09---4>)

Author: Adyen

Published: 2026-07-13T09:18:45Z

Content type: article

Language: en

Sources: [Adyen Tech](<https://devfeed.tech/sources/adyen-tech.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [adyen](<https://devfeed.tech/tags/adyen.md>), [database](<https://devfeed.tech/tags/database.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [table-partitioning](<https://devfeed.tech/tags/table-partitioning.md>)

### AI overview

This fifth article in a table-partitioning series explains why partitioning must account for an entire relational database environment rather than isolated tables. It discusses lessons from PostgreSQL partitioning, including table locks, partition maintenance, indexes, foreign keys, and the careful use of default partitions.

### Source excerpt

By Derk van Veen, Database Engineer, Adyen If we had known better, this would have been the first blog post about partitioning to publish. The reality is, the first article was published two years and two weeks ago, as I write these opening sentences. So this article will not only give insight into the most important decisions you will have to make when considering your partitioning planning, but as a bonus, it will give some insights into how much it takes to write an article like this. One of my values is sharing knowledge and giving back to the community. I share what I learn and take people along on my journey and investigations into the problems we've faced. For this reason, the previous articles have documented these learnings, and this one is about a lesson we learned a little too late. The Journey so far Up to this point: We've shared the what, why and when to partition in the first blog post. In the second article, we covered how to maintain partitioned tables, as they provide some additional challenges when it comes to adding/removing partitions and managing indexes and foreign keys. Only in the third article did we disclose why we decided to work on our own partitioning framework: the existing partitioning solutions didn't provide us with the tools to minimize locks on tables. Our databases are always up and pressured, and the locks around partitioning were simply impossible to deal with. The key lesson from this article was that the default partition is the root of (almost) all evil regarding table partitioning in PostgreSQL. In the last article, we shared a cool solution to a problem we faced, where the default partition actually became the hero of the story. Yes, default partitions are usually the root of partitioning evil, but they also provide a welcome exception to the rule. Just be very careful with its usage. The Journey Continues... What ingredients can be missing after reading these four articles? You already know all about partitioning tables by

## Advanced Partitioning Strategies for PostgreSQL OLTP and Analytics Datasets at Scale

DevFeed: [Advanced Partitioning Strategies for PostgreSQL OLTP and Analytics Datasets at Scale](<https://devfeed.tech/articles/advanced-partitioning-strategies-for-postgresql-oltp-and-analytics-datasets-at-scale-19107.md>)

Original publisher: [Read original article](<https://severalnines.com/blog/advanced-partitioning-strategies-for-postgresql-oltp-and-analytics-datasets-at-scale/>)

Author: Sucahyo Ardy Prasetiyo

Published: 2026-06-04T09:15:00Z

Content type: tutorial

Language: en

Sources: [SeveralNines](<https://devfeed.tech/sources/severalnines.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Database](<https://devfeed.tech/topics/database.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>)

Tags: [datasets](<https://devfeed.tech/tags/datasets.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [deployment-scaling](<https://devfeed.tech/tags/deployment-scaling.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [range](<https://devfeed.tech/tags/range.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [scale](<https://devfeed.tech/tags/scale.md>)

### AI overview

This practical article explains how PostgreSQL partitioning helps manage very large OLTP and analytics datasets. It covers range, list, and hash partitioning, declarative partitioning, partition pruning, maintenance, retention, vacuuming, and operational scalability, while noting that partitioning does not compensate for poor queries or missing indexes.

### Source excerpt

When PostgreSQL tables are still relatively small, most tasks seem straightforward. You can run queries without thinking too much about indexes, retention jobs are manageable, and even vacuum operations usually stay under control. But things change pretty quickly once tables start growing into hundreds of millions or billions of rows. At that scale, even simple [...] The post Advanced Partitioning Strategies for PostgreSQL OLTP and Analytics Datasets at Scale appeared first on Severalnines.

## ClickHouse Monitoring and Observability Decision Points

DevFeed: [ClickHouse Monitoring and Observability Decision Points](<https://devfeed.tech/articles/clickhouse-monitoring-and-observability-decision-points-19111.md>)

Original publisher: [Read original article](<https://severalnines.com/blog/clickhouse-monitoring-and-observability-decision-points/>)

Author: Paul Namuag

Published: 2026-04-17T07:00:00Z

Content type: tutorial

Language: en

Sources: [SeveralNines](<https://devfeed.tech/sources/severalnines.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [capacity](<https://devfeed.tech/tags/capacity.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [high-availability](<https://devfeed.tech/tags/high-availability.md>), [latency](<https://devfeed.tech/tags/latency.md>), [logs](<https://devfeed.tech/tags/logs.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [monitoring-alerting](<https://devfeed.tech/tags/monitoring-alerting.md>), [observability](<https://devfeed.tech/tags/observability.md>), [operations](<https://devfeed.tech/tags/operations.md>), [ops](<https://devfeed.tech/tags/ops.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [replication](<https://devfeed.tech/tags/replication.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [scale](<https://devfeed.tech/tags/scale.md>), [traces](<https://devfeed.tech/tags/traces.md>)

### AI overview

This article explains why ClickHouse deployments need monitoring and full observability because distributed clusters, replicas, scalability, and real-time analytics create operational complexity. It outlines using metrics, logs, traces, and alerting to detect bottlenecks, optimize queries, track resource use, monitor pipeline health, plan capacity, troubleshoot distributed queries, and support availability.

### Source excerpt

Given ClickHouse's ability to execute complex analytical queries across terabytes of data in a single operation, proper monitoring and observability is critical. Its distributed architecture and scalability add layers of complexity, as multi-node clusters require careful coordination monitoring across shards and replicas to ensure data consistency and availability. Adding to the operational pressure is users' [...] The post ClickHouse Monitoring and Observability Decision Points appeared first on Severalnines.

## How Agoda Load Balanced Kafka

DevFeed: [How Agoda Load Balanced Kafka](<https://devfeed.tech/articles/how-agoda-load-balanced-kafka-34677.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/how-agoda-load-balanced-kafka>)

Author: Saurabh Dashora

Published: 2026-03-10T08:01:37Z

Content type: article

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Kafka](<https://devfeed.tech/topics/kafka.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [data-centers](<https://devfeed.tech/tags/data-centers.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [round-robin](<https://devfeed.tech/tags/round-robin.md>)

### AI overview

A deep dive into how Agoda uses Kafka to process large volumes of real-time supplier price updates. It explains the distributor, processor, and Kafka components, then examines how partitions, partitioners, and consumer assignors support parallel processing and expose challenges when workloads and consumer capabilities are uneven.

### Source excerpt

Deep Dive

## Databricks is abstracting away physical data engineering controls

DevFeed: [Databricks is abstracting away physical data engineering controls](<https://devfeed.tech/articles/databricks-is-no-longer-about-tuning-knobs-27242.md>)

Original publisher: [Read original article](<https://blog.dataexpert.io/p/databricks-is-for-data-analysts-not>)

Author: Zach Wilson

Published: 2026-02-24T01:03:11Z

Content type: opinion

Language: en

Sources: [DataExpert.io Newsletter](<https://devfeed.tech/sources/dataexpert-io-newsletter.md>)

Topics: [databricks](<https://devfeed.tech/topics/databricks.md>), [data-engineering](<https://devfeed.tech/topics/data-engineering.md>), [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [partition](<https://devfeed.tech/tags/partition.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [spark](<https://devfeed.tech/tags/spark.md>)

### AI overview

This opinion article argues that Databricks is shifting away from hands-on data engineering by abstracting physical data modeling through features such as liquid clustering and predictive optimization. It also criticizes Databricks' support for managed Apache Iceberg tables after acquiring Tabular.

### Source excerpt

Databricks abstracts away almost all of the data engineering skills. Liquid clustering is the first place where things will get messy!

## Unconventional PostgreSQL Optimizations

DevFeed: [Unconventional PostgreSQL Optimizations](<https://devfeed.tech/articles/unconventional-postgresql-optimizations-33925.md>)

Original publisher: [Read original article](<https://hakibenita.com/postgresql-unconventional-optimizations>)

Author: Haki Benita

Published: 2026-01-19T22:00:00Z

Content type: tutorial

Language: en

Sources: [Haki Benita](<https://devfeed.tech/sources/haki-benita.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Database](<https://devfeed.tech/topics/database.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [Inheritance](<https://devfeed.tech/topics/inheritance.md>)

Tags: [articles](<https://devfeed.tech/tags/articles.md>), [database-optimization](<https://devfeed.tech/tags/database-optimization.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [vacuum](<https://devfeed.tech/tags/vacuum.md>)

### AI overview

This article presents unconventional PostgreSQL optimization techniques. It explains how constraint exclusion can use check constraints to avoid scanning a table for impossible conditions, while noting that enabling it broadly can add planning overhead; partition pruning is enabled by default for partitioned tables.

### Source excerpt

When it comes to database optimization, developers often reach for the same old tools: rewrite the query slightly differently, slap an index on a column, denormalize, analyze, vacuum, cluster, repeat. Conventional techniques are effective, but sometimes being creative can really pay off!

## Waiting for PostgreSQL 19 - Implement ALTER TABLE ... MERGE/SPLIT PARTITIONS ... command

DevFeed: [Waiting for PostgreSQL 19 - Implement ALTER TABLE ... MERGE/SPLIT PARTITIONS ... command](<https://devfeed.tech/articles/waiting-for-postgresql-19-implement-alter-table-merge-split-partitions-command-33671.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/01/04/waiting-for-postgresql-19-implement-alter-table-merge-split-partitions-command/>)

Author: depesz

Published: 2026-01-04T17:30:47Z

Content type: opinion

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [command](<https://devfeed.tech/tags/command.md>), [locking](<https://devfeed.tech/tags/locking.md>), [merge](<https://devfeed.tech/tags/merge.md>), [partition](<https://devfeed.tech/tags/partition.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [partitions](<https://devfeed.tech/tags/partitions.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [split](<https://devfeed.tech/tags/split.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

A PostgreSQL 19 development update describes the ALTER TABLE command for merging and splitting partitions. The patch was rolled back after earlier discussion, then recommitted; testing showed it worked as expected, with slightly less locking observed. Further changes may be needed before the feature reaches the final release.

### Source excerpt

Important update This has been rolled back after some discussion. On 14th of December 2025, Alexander Korotkov committed patch: Implement ALTER TABLE ... MERGE PARTITIONS ... command This new DDL command merges several partitions into a single partition of the target table. The target partition is created using the new createPartitionTable() function with the ... Continue reading "Waiting for PostgreSQL 19 - Implement ALTER TABLE ... MERGE/SPLIT PARTITIONS ... command"

## Waiting for PostgreSQL 19 - Support COPY TO for partitioned tables.

DevFeed: [Waiting for PostgreSQL 19 - Support COPY TO for partitioned tables.](<https://devfeed.tech/articles/waiting-for-postgresql-19-support-copy-to-for-partitioned-tables-33666.md>)

Original publisher: [Read original article](<https://www.depesz.com/2025/10/22/waiting-for-postgresql-19-support-copy-to-for-partitioned-tables/>)

Author: depesz

Published: 2025-10-22T10:05:08Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [command](<https://devfeed.tech/tags/command.md>), [copy](<https://devfeed.tech/tags/copy.md>), [partition](<https://devfeed.tech/tags/partition.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [partitions](<https://devfeed.tech/tags/partitions.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pg19](<https://devfeed.tech/tags/pg19.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

The article discusses a PostgreSQL patch committed by Masahiko Sawada that adds direct COPY TO support for partitioned tables. Previously, users had to use COPY (SELECT ...) TO as a workaround. The author's test found similar performance, with COPY from a table slightly slower in the reported case.

### Source excerpt

On 20th of October 2025, Masahiko Sawada committed patch: Support COPY TO for partitioned tables. Previously, COPY TO command didn't support directly specifying partitioned tables so users had to use COPY (SELECT ...) TO variant. This commit adds direct COPY TO support for partitioned tables, improving both usability and performance. Performance tests show ... Continue reading "Waiting for PostgreSQL 19 - Support COPY TO for partitioned tables."

## A Deep Dive into Table partitioning Part 5: Partitioning an environment not individual tables

DevFeed: [A Deep Dive into Table partitioning Part 5: Partitioning an environment not individual tables](<https://devfeed.tech/articles/a-deep-dive-into-table-partitioning-part-5-partitioning-an-environment-not-individual-tables-26253.md>)

Original publisher: [Read original article](<https://medium.com/adyen/a-deep-dive-into-table-partitioning-part-5-partitioning-an-environment-not-individual-tables-e25382ae31dc?source=rss----64941d9fbc09---4>)

Author: Adyen

Published: 2025-09-17T10:29:53Z

Content type: article

Language: en

Sources: [Adyen Tech](<https://devfeed.tech/sources/adyen-tech.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [adyen](<https://devfeed.tech/tags/adyen.md>), [database](<https://devfeed.tech/tags/database.md>), [locks](<https://devfeed.tech/tags/locks.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [peformance](<https://devfeed.tech/tags/peformance.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [table-partitioning](<https://devfeed.tech/tags/table-partitioning.md>)

### AI overview

The fifth article in a table-partitioning series explains why partitioning must account for relationships among tables in a PostgreSQL database, rather than treating tables as standalone. It also recaps earlier lessons about partition maintenance, minimizing locks, and the careful use of default partitions.

### Source excerpt

By Derk van Veen, Database Engineer, Adyen If we had known better, this would have been the first blog post about partitioning to publish. The reality is, the first article was published two years and two weeks ago, as I write these opening sentences. So this article will not only give insight into the most important decisions you will have to make when considering your partitioning planning, but as a bonus, it will give some insights into how much it takes to write an article like this. One of my values is sharing knowledge and giving back to the community. I share what I learn and take people along on my journey and investigations into the problems we've faced. For this reason, the previous articles have documented these learnings, and this one is about a lesson we learned a little too late. The Journey so far Up to this point: We've shared the what, why and when to partition in the first blog post. In the second article, we covered how to maintain partitioned tables, as they provide some additional challenges when it comes to adding/removing partitions and managing indexes and foreign keys. Only in the third article did we disclose why we decided to work on our own partitioning framework: the existing partitioning solutions didn't provide us with the tools to minimize locks on tables. Our databases are always up and pressured, and the locks around partitioning were simply impossible to deal with. The key lesson from this article was that the default partition is the root of (almost) all evil regarding table partitioning in PostgreSQL. In the last article, we shared a cool solution to a problem we faced, where the default partition actually became the hero of the story. Yes, default partitions are usually the root of partitioning evil, but they also provide a welcome exception to the rule. Just be very careful with its usage. The Journey Continues... What ingredients can be missing after reading these four articles? You already know all about partitioning tables by

## ClickHouse Release 25.8

DevFeed: [ClickHouse Release 25.8](<https://devfeed.tech/articles/clickhouse-release-25-8-5129.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/clickhouse-release-25-08>)

Author: ClickHouse

Published: 2025-09-05T00:00:00Z

Content type: release

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [parquet](<https://devfeed.tech/topics/parquet.md>), [Flight](<https://devfeed.tech/topics/flight.md>), [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>)

Tags: [apache-arrow](<https://devfeed.tech/tags/apache-arrow.md>), [bug](<https://devfeed.tech/tags/bug.md>), [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [data](<https://devfeed.tech/tags/data.md>), [data-lake](<https://devfeed.tech/tags/data-lake.md>), [features](<https://devfeed.tech/tags/features.md>), [files](<https://devfeed.tech/tags/files.md>), [format](<https://devfeed.tech/tags/format.md>), [integration](<https://devfeed.tech/tags/integration.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [parquet](<https://devfeed.tech/tags/parquet.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [storage](<https://devfeed.tech/tags/storage.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

ClickHouse 25.8 introduces 45 new features, 47 performance optimizations, and 119 bug fixes. Highlights include a faster experimental native Parquet reader, Data Lake improvements, Hive-style partitioned writes, initial PromQL support, and Arrow Flight integration.

### Source excerpt

ClickHouse 25.8 is available. In this post, you will learn about new features, including a new Parquet reader and Arrow Flight integration.

## Optimizing Apache Iceberg tables for real-time analytics

DevFeed: [Optimizing Apache Iceberg tables for real-time analytics](<https://devfeed.tech/articles/optimizing-apache-iceberg-tables-for-real-time-analytics-18585.md>)

Original publisher: [Read original article](<https://www.tinybird.co/blog/optimizing-apache-iceberg-tables-for-real-time-analytics>)

Author: Alberto Romeu

Published: 2025-06-03T10:00:00Z

Content type: tutorial

Language: en

Sources: [Tinybird](<https://devfeed.tech/sources/tinybird.md>)

Topics: [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>), [Apache Iceberg tables](<https://devfeed.tech/topics/apache-iceberg-tables.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [apache-iceberg](<https://devfeed.tech/tags/apache-iceberg.md>), [apache-iceberg-tables](<https://devfeed.tech/tags/apache-iceberg-tables.md>), [high-performance](<https://devfeed.tech/tags/high-performance.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [scalable-analytics-architecture](<https://devfeed.tech/tags/scalable-analytics-architecture.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

A tutorial on using Apache Iceberg partitioning, sorting, and compaction features to build high-performance real-time analytics systems.

### Source excerpt

Learn how to use Iceberg's partitioning, sorting, and compaction features to build high-performance real-time analytics systems

## Partitioning a large table in PostgreSQL with Rails

DevFeed: [Partitioning a large table in PostgreSQL with Rails](<https://devfeed.tech/articles/partitioning-a-large-table-in-postgresql-with-rails-33527.md>)

Original publisher: [Read original article](<https://www.aha.io/engineering/articles/partitioning-a-large-table-in-postgresql-with-rails>)

Published: 2025-04-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Aha! Engineering Blog](<https://devfeed.tech/sources/aha-engineering-blog.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Database](<https://devfeed.tech/topics/database.md>), [Amazon RDS](<https://devfeed.tech/topics/amazon-rds.md>), [backups](<https://devfeed.tech/topics/backups.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [etl](<https://devfeed.tech/topics/etl.md>), [Disaster Recovery](<https://devfeed.tech/topics/disaster-recovery.md>), [datadog](<https://devfeed.tech/topics/datadog.md>)

Tags: [active-record](<https://devfeed.tech/tags/active-record.md>), [amazon-rds](<https://devfeed.tech/tags/amazon-rds.md>), [amazon-s3](<https://devfeed.tech/tags/amazon-s3.md>), [backups](<https://devfeed.tech/tags/backups.md>), [datadog](<https://devfeed.tech/tags/datadog.md>), [disaster-recovery](<https://devfeed.tech/tags/disaster-recovery.md>), [etl](<https://devfeed.tech/tags/etl.md>), [latency](<https://devfeed.tech/tags/latency.md>), [migration](<https://devfeed.tech/tags/migration.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [rails](<https://devfeed.tech/tags/rails.md>)

### AI overview

This article explains how Aha! partitioned a very large PostgreSQL audit table used with Rails. It covers the migration strategy, operational and performance problems caused by billions of rows, and an archival process that moves audits older than 12 months to Amazon S3.

### Source excerpt

Keeping a reliable history of changes is essential for our users. They need to know when a record was updated, who made the change, and why. They could be anxiously awaiting a notification about a dependency that is blocking their work. Maybe they w

## The foundations of Canva's continuous data platform with Snowpipe Streaming

DevFeed: [The foundations of Canva's continuous data platform with Snowpipe Streaming](<https://devfeed.tech/articles/the-foundations-of-canva-s-continuous-data-platform-with-snowpipe-streaming-37934.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/snowpipe-streaming/>)

Author: Jack Caperon

Published: 2025-01-06T00:00:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [Streaming](<https://devfeed.tech/topics/streaming.md>), [product analytics](<https://devfeed.tech/topics/product-analytics.md>), [data-platforms](<https://devfeed.tech/topics/data-platforms.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [continuous](<https://devfeed.tech/tags/continuous.md>), [data](<https://devfeed.tech/tags/data.md>), [data-platform](<https://devfeed.tech/tags/data-platform.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [s3](<https://devfeed.tech/tags/s3.md>), [snowflake](<https://devfeed.tech/tags/snowflake.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

Canva describes how it is building a continuous data platform with Snowpipe Streaming to support product analytics as its user base, workforce, and data volume grow. The article discusses schema management, streaming changes, cost reduction, and the limitations of its previous AWS Data Firehose-based approach.

### Source excerpt

Leveraging Snowpipe Streaming to build a continuous data platform.

## Migrating from 2 TByte SSD with MBR to 4 TByte with GPT

DevFeed: [Migrating from 2 TByte SSD with MBR to 4 TByte with GPT](<https://devfeed.tech/articles/migrating-from-2-tbyte-ssd-with-mbr-to-4-tbyte-with-gpt-29335.md>)

Original publisher: [Read original article](<https://www.schakko.de/2024/12/19/migrating-from-2-tbyte-ssd-with-mbr-to-4-tbyte-with-gpt/>)

Author: Schakko

Published: 2024-12-19T11:04:54Z

Content type: tutorial

Language: en

Sources: [Schakko](<https://devfeed.tech/sources/schakko.md>)

Topics: [Windows](<https://devfeed.tech/topics/windows.md>), [UEFI](<https://devfeed.tech/topics/uefi.md>), [Disk image](<https://devfeed.tech/topics/disk-image.md>)

Tags: [boot](<https://devfeed.tech/tags/boot.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [storage](<https://devfeed.tech/tags/storage.md>), [uefi](<https://devfeed.tech/tags/uefi.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The article documents upgrading a Windows system from a 2 TByte SSD using MBR to a 4 TByte SSD using GPT. It explains that MBR's 2 TByte limit prevented full resizing and that UEFI booting required an EFI System Partition and an MSR partition.

### Source excerpt

Yesterday I wanted to replace my 2 TByte SSD with a 4 TByte model as I was running out of hard drive space. My last upgrade two years ago from 1 TByte to 2 TByte went smoothly: I cloned the old SSD to the new SSD and then extended the [...] The post Migrating from 2 TByte SSD with MBR to 4 TByte with GPT appeared first on schakko.de.

## 1st-stage GUI setup, Part 2 - October-November 2023: Making partitioning UI work

DevFeed: [1st-stage GUI setup, Part 2 - October-November 2023: Making partitioning UI work](<https://devfeed.tech/articles/1st-stage-gui-setup-part-2-october-november-2023-making-partitioning-ui-work-32842.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/gui-setup-part2-partitioning/>)

Published: 2024-01-31T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [bootloader](<https://devfeed.tech/tags/bootloader.md>), [free](<https://devfeed.tech/tags/free.md>), [gui](<https://devfeed.tech/tags/gui.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [ui](<https://devfeed.tech/tags/ui.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

This second ReactOS development blog post describes work from October and November 2023 on the new first-stage GUI setup, focusing on disk partitioning and its workflow compared with the existing text-mode installer. It also notes related setupapi synchronization work and identifies file copying and registry settings as features discussed in future posts.

### Source excerpt

Greetings! Welcome to the second blog of the series "1st-stage GUI setup": September 2023: Partly Wine-syncing setupapi October-November 2023: Making partitioning UI work December 2023: First tests As you may have noticed, I have been quite silent about my work and not regularly writing blog posts about what I have done so far. Well, I am more concerned about getting actual code written and working before discussing about it, instead of doing that about half-done not-yet-tested code; much like what the GUI setup was during these previous months.

## Turso radically increases the amount of databases available on their Starter and Scaler plans

DevFeed: [Turso radically increases the amount of databases available on their Starter and Scaler plans](<https://devfeed.tech/articles/turso-radically-increases-the-amount-of-databases-available-on-their-starter-and-scaler-plans-6084.md>)

Original publisher: [Read original article](<https://turso.tech/blog/turso-radically-increases-the-amount-of-databases-available-on-their-starter-and-scaler-plans-10a69ad94055>)

Author: Glauber Costa

Published: 2023-09-25T00:00:00Z

Content type: release

Language: en

Sources: [Turso Blog](<https://devfeed.tech/sources/turso-blog.md>)

Topics: [Turso](<https://devfeed.tech/topics/turso.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>), [Val Town](<https://devfeed.tech/topics/val-town.md>)

Tags: [3](<https://devfeed.tech/tags/3.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [backend](<https://devfeed.tech/tags/backend.md>), [cost](<https://devfeed.tech/tags/cost.md>), [customer](<https://devfeed.tech/tags/customer.md>), [data](<https://devfeed.tech/tags/data.md>), [databases](<https://devfeed.tech/tags/databases.md>), [edge](<https://devfeed.tech/tags/edge.md>), [enterprise](<https://devfeed.tech/tags/enterprise.md>), [free](<https://devfeed.tech/tags/free.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [permission](<https://devfeed.tech/tags/permission.md>), [replication](<https://devfeed.tech/tags/replication.md>), [saas](<https://devfeed.tech/tags/saas.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [turso](<https://devfeed.tech/tags/turso.md>), [val-town](<https://devfeed.tech/tags/val-town.md>)

### AI overview

Turso is increasing database limits from 3 to 500 on its Starter plan and from 6 to 10,000 on its Scaler plan. The article presents this as enabling per-customer databases, simpler multitenant SaaS isolation, jurisdiction-aware replication, and databases for user-deployed compute. It also highlights Val Town's use of Turso for hosted edge SQLite.

### Source excerpt

Users have asked, and we have listened: As of today, we are radically increasing the amount of databases you can create with Turso. Where our Starter plan had a limit of 3 databases, free of cost, we...

## Just the right time date predicates with Iceberg

DevFeed: [Just the right time date predicates with Iceberg](<https://devfeed.tech/articles/just-the-right-time-date-predicates-with-iceberg-8713.md>)

Original publisher: [Read original article](<https://trino.io/blog/2023/04/11/date-predicates.html>)

Author: Marius Grama

Published: 2023-04-11T00:00:00Z

Content type: article

Language: en

Sources: [Trino Blog](<https://devfeed.tech/sources/trino-blog.md>)

Topics: [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [cast](<https://devfeed.tech/tags/cast.md>), [data-lake](<https://devfeed.tech/tags/data-lake.md>), [expression](<https://devfeed.tech/tags/expression.md>), [filter](<https://devfeed.tech/tags/filter.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [range](<https://devfeed.tech/tags/range.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This article explains how date predicates can be optimized when querying Iceberg tables in a data lake. It covers partition pruning, hidden partitioning, constant folding, predicate pushdown, range predicates, and casting to help Trino avoid scanning irrelevant data and improve query performance.

### Source excerpt

In the data lake world, data partitioning is a technique that is critical to the performance of read operations. In order to avoid scanning large amounts of data accidentally, and also to limit the number of partitions that are being processed by a query, a query engine must push down constant expressions when filtering partitions.

## A Hybrid Hoare-Lomuto Partition Scheme and Bubble Sort for Small Arrays

DevFeed: [A Hybrid Hoare-Lomuto Partition Scheme and Bubble Sort for Small Arrays](<https://devfeed.tech/articles/hoare-s-rebuttal-and-bubble-sort-s-comeback-21134.md>)

Original publisher: [Read original article](<https://blog.reverberate.org/2020/05/29/hoares-rebuttal-bubble-sorts-comeback.html>)

Author: Gerben Stavenga

Published: 2020-05-29T00:00:00Z

Content type: article

Language: en

Sources: [Josh Haberman](<https://devfeed.tech/sources/josh-haberman.md>)

Topics: [Sorting](<https://devfeed.tech/topics/sorting.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [parallelism](<https://devfeed.tech/tags/parallelism.md>), [partition](<https://devfeed.tech/tags/partition.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [sorting](<https://devfeed.tech/tags/sorting.md>)

### AI overview

This article examines QuickSort performance, focusing on branch mispredicts, branchless Lomuto partitioning, and a hybrid Hoare-Lomuto scheme. It reports that Bubble Sort performs best for small arrays in the discussed experiments, attributing the gains to instruction-level parallelism and shorter dependency chains.

### Source excerpt

Editor's note: For this blog entry I welcome my friend and colleague Gerben Stavenga as a guest author. Recently Andrei Alexandrescu published an interesting post about optimizing QuickSort using the Lomuto partition scheme. The essence of that post is that for many situations the performance of QuickSort is completely dominated by branch mispredicts and that a big speed up can be achieved by writing branchless code. This has been observed by many, and various branchless sorting routines have been proposed. Andrei observed that from the two well known QuickSort partitioning schemes Lomuto is easily implemented branchless, and this indeed performs much better for sorting small primitives. I recently experimented with similar ideas but took them in a different but interesting direction. I discovered that a hybrid of the Hoare and Lomuto schemes can deliver a large improvement even compared with branchless Lomuto. And the final surprise is that Bubble Sort takes the crown for small arrays. The key to all these wins is exploiting instruction-level parallelism and reducing dependency chains. Basic QuickSort fundamentals Quicksort refers to a class of algorithms for sorting an array that all share the same outline void QuickSort(T* left, T* right) { if (right - left > kCutOff) { auto pivot = ChoosePivotElement(left, right); // Important but not focus here auto p = Partition(pivot, left, right); // The main work loop QuickSort(left, p); QuickSort(p, right); // Tail call, ideally the largest sub-interval } else { SortSmallArray(left, right); } } Countless variations exist varying in the choice of kCutOff, choice of the sorting algorithm for the small arrays and choice of pivot element. These are important for performance but the main work QuickSort performs is done in the Partition function. There are two canonical schemes for implementing Partition: the original Hoare scheme and the Lomuto scheme. The Hoare partition scheme works by swapping elements that violate the parti

## Yet another explanation of the Quicksort algorithm

DevFeed: [Yet another explanation of the Quicksort algorithm](<https://devfeed.tech/articles/yet-another-explanation-of-the-quicksort-algorithm-20576.md>)

Original publisher: [Read original article](<https://yurichev.com/blog/qsort/>)

Published: 2019-11-22T23:00:00Z

Content type: tutorial

Language: en

Sources: [Dennis Yurichev](<https://devfeed.tech/sources/dennis-yurichev.md>)

Topics: [Sorting](<https://devfeed.tech/topics/sorting.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [C](<https://devfeed.tech/topics/c.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Haskell](<https://devfeed.tech/topics/haskell.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [c](<https://devfeed.tech/tags/c.md>), [go-language](<https://devfeed.tech/tags/go-language.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [python](<https://devfeed.tech/tags/python.md>), [recursion](<https://devfeed.tech/tags/recursion.md>), [sorting](<https://devfeed.tech/tags/sorting.md>)

### AI overview

An explanation of the Quicksort algorithm, contrasting a mean-based partitioning approach with randomized and classic in-place implementations. It also discusses recursive partitioning and switching to another sorting algorithm for small arrays.

### Source excerpt

Yet another explanation of the Quicksort algorithm

## Using Precomputed Hash in SemiJoin Operations

DevFeed: [Using Precomputed Hash in SemiJoin Operations](<https://devfeed.tech/articles/using-precomputed-hash-in-semijoin-operations-8619.md>)

Original publisher: [Read original article](<https://trino.io/blog/2019/05/30/semijoin-precomputed-hasd.html>)

Author: Shubham Tagra, Qubole

Published: 2019-05-30T00:00:00Z

Content type: article

Language: en

Sources: [Trino Blog](<https://devfeed.tech/sources/trino-blog.md>)

Topics: [Optimization](<https://devfeed.tech/topics/optimization.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [hash](<https://devfeed.tech/tags/hash.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

The article explains a Presto 312 optimization that reuses precomputed hash values in SemiJoin operations. This removes redundant hash calculations and significantly improves queries using IN or NOT IN over subqueries.

### Source excerpt

Queries involving IN and NOT IN over a subquery are much faster in Presto 312.

## Improved Hive Bucketing

DevFeed: [Improved Hive Bucketing](<https://devfeed.tech/articles/improved-hive-bucketing-8617.md>)

Original publisher: [Read original article](<https://trino.io/blog/2019/05/29/improved-hive-bucketing.html>)

Author: David Phillips

Published: 2019-05-29T00:00:00Z

Content type: article

Language: en

Sources: [Trino Blog](<https://devfeed.tech/sources/trino-blog.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [files](<https://devfeed.tech/tags/files.md>), [latency](<https://devfeed.tech/tags/latency.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

Presto 312 supports the more flexible Hive bucketing scheme, allowing any number of files per bucket, including zero. This enables inserting data into existing partitions without rewriting the entire partition and improves write performance by avoiding files for empty buckets.

### Source excerpt

Presto 312 adds support for the more flexible bucketing introduced in recent versions of Hive. Specifically, it allows any number of files per bucket, including zero. This allows inserting data into an existing partition without having to rewrite the entire partition, and improves the performance of writes by not requiring the creation of files for empty buckets.

## Faster Snowflake Queries through Clustering

DevFeed: [Faster Snowflake Queries through Clustering](<https://devfeed.tech/articles/faster-snowflake-queries-through-clustering-28626.md>)

Original publisher: [Read original article](<https://eng.localytics.com/faster-snowflake-queries-through-clustering/>)

Author: Michal Klos

Published: 2017-03-13T14:17:01Z

Content type: article

Language: en

Sources: [Localytics](<https://devfeed.tech/sources/localytics.md>)

Topics: [data-processing](<https://devfeed.tech/topics/data-processing.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [Amazon Redshift](<https://devfeed.tech/topics/amazon-redshift.md>)

Tags: [clustering](<https://devfeed.tech/tags/clustering.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [join](<https://devfeed.tech/tags/join.md>), [mpp](<https://devfeed.tech/tags/mpp.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [redshift](<https://devfeed.tech/tags/redshift.md>), [s3](<https://devfeed.tech/tags/s3.md>), [scale](<https://devfeed.tech/tags/scale.md>), [snowflake](<https://devfeed.tech/tags/snowflake.md>), [time-series](<https://devfeed.tech/tags/time-series.md>)

### AI overview

This article explains how Snowflake clustering and re-clustering can improve query performance by helping the query engine prune unneeded data. It discusses choosing cluster keys, comparisons with MPP database techniques, and the caveat that naturally ordered time-series data may not need clustering.

### Source excerpt

At Localytics we have petabytes of data that needs to be served at low latencies and we use Snowflake in our mix of data processing technologies. Snowflake, like many other MPP databases, has a way of partitioning data to optimize read-time performance by allowing the query engine to prune

[Next page](<https://devfeed.tech/tags/partitioning.md?cursor=WyIyMDE3LTAzLTEzVDE0OjE3OjAxKzAwOjAwIiwgIjE0MWJiNGRjLTAxYjQtNDc1Mi1hMzg1LWJhNzM0YmNhYjI4MiJd>)