Doris Distributed Features

Data Partitioning (Sharding)

Doris supports data partitioning, storing data on different nodes based on certain conditions. This design enables more efficient processing of large-scale data.

Partition Types

Doris supports the following partition types:

  • Range Partitioning: Divides data into small blocks based on one or more columns, with each block stored on a node.
  • Hash Partitioning: Divides data into equal-value buckets, with each bucket stored on a node.

Distributed Query

Doris supports distributed queries, enabling efficient processing of large-scale data queries. By utilizing multiple nodes for distributed computation, Doris enhances query performance and availability.

Distributed Computation Methods

  • Multi-threading: Doris uses multi-threading technology for distributed computation, allowing multiple queries to be executed in parallel simultaneously.
  • Partitioned Tables: When handling large-scale data, tables can be divided into several smaller tables, each stored on a node. These smaller tables can then be grouped and processed using multi-threading to complete queries.
  • Join Operations: Doris supports distributed Join operations, enabling efficient execution of Join operations.

Distributed Index

Doris supports distributed indexes, enabling efficient processing of large-scale data queries. By storing indexes across multiple nodes, Doris improves query performance and availability.

  • Partitioned Index: Divides indexes into small blocks based on certain conditions, with each small block stored on a node.
  • Distributed Unique Index: Efficiently maintains distributed unique indexes.

Distributed Storage

Doris supports distributed storage, enabling efficient processing of large-scale data. By storing data across multiple nodes, Doris improves write and read performance.

  • Partitioned Storage: Divides data into small blocks based on certain conditions, with each small block stored on a node.
  • Distributed Table Storage: Efficiently stores and maintains large-scale data.

Distributed Transaction

Doris supports distributed transactions, enabling efficient processing of large-scale data transactions. By utilizing multiple nodes for distributed transactions, Doris improves write performance and availability.

  • Multi-step: Doris supports executing multi-step operations within a single transaction, enhancing write performance and availability.
  • Transaction Retry: Doris supports retrying writes upon errors, enabling efficient handling of failed write operations.