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.