InfluxDB 3.0 supports two types of partitioning schemes: default and user-defined/custom partitioning. The default scheme partitions data by day, which is suitable for most moderate-volume use cases, allowing queries to filter data by time range without reading unnecessary partitions. User-defined partitioning allows users to partition data on specific tag columns and time, enabling filtering by city and time range, reducing the number of partitions needed, but potentially leading to reduced storage efficiency and increased ingester and compactor workloads. To control the number of partitions, InfluxDB offers two schemes: user-controlled number of partitions, where data is partitioned over a greater time range, and user-defined number of partitions, which uses Server-Side Bucketing to set a desired number of partitions, ensuring optimal query performance while avoiding unnecessary partitions and their associated costs.