2.2. Concepts #
Postgres Pro Shardman is a relational database management system (RDBMS). That means it is a system for managing data stored in relations. Relation is essentially a mathematical term for table. The notion of storing data in tables is so commonplace today that it might seem inherently obvious, but there are a number of other ways of organizing databases. Files and directories on Unix-like operating systems form an example of a hierarchical database. A more modern development is the object-oriented database.
Postgres Pro Shardman introduces a notion concept of shard in the PostgreSQL ecosystem. Shard is an separate partition of a bigger database used for horizontal scaling of a DB by splitting a larger DB into smaller pieces distributed across servers. It allows distributing workload and improve availability. Each shard can be handled as a separate DB, while a set of shards unite into a single DB. Note that the number of shards can change with time.
Postgres Pro Shardman also have a number of unique table and object types. For more information, refer to Table Types and Distributed System Objects.
Each table is a named collection of rows. Each row of a given table has the same set of named columns, and each column is of a specific data type. Whereas columns have a fixed order in each row, it is important to remember that SQL does not guarantee the order of the rows within the table in any way (although they can be explicitly sorted for display).
Tables are grouped into databases, and a collection of databases managed by a single Postgres Pro Shardman server instance constitutes a database cluster.