Chapter 7. Shardman Internals

Table of Contents

7.1. Table Types
7.1.1. Sharded Tables
7.1.2. Global Tables
7.1.3. Distributed DDL
7.2. Query Processing
7.2.1. Push-down Technique
7.2.2. Asynchronous Execution
7.2.3. Fetch-all Fallback
7.3. Distributed Transactions
7.3.1. Visibility and CSN
7.3.2. 2PC and Prepared Transaction Resolution
7.4. Silk
7.4.1. Concept
7.4.2. Event Loop
7.4.3. Routing and Multiplexing
7.4.4. Error Handling and Route Integrity
7.4.5. Data Transmitting/batching/splitting Oversized Tuples
7.4.6. Streams Flow Control
7.4.7. Implementation details
7.5. Distributed Deadlock Detection
7.6. Global Sequences
7.7. Syncpoints and Consistent Backup
7.8. Collecting Distributed Statement Statistics Using the pgpro_stats Extension
7.9. Advisory Locks

The Shardman software comprises these main components: PostgreSQL core with additional features, shardman extension, management services and utilities. This section considers Shardman cluster as a group of PostgreSQL instances or shards. Each shard may also have one or more replicas and to emphasize this the term replication group is used. The support for highly available configurations is currently done on the level of tools and services and will be covered in the Management section.