1.1. What is Shardman #
The database size in modern enterprises and in highload web applications is constantly growing. The only working approach to accommodate this growth is horizontal scaling. The Shardman distributed DBMS is intended to enable horizontal scaling of online transaction processing (OLTP) databases while preserving the strong ACID semantics.
Shardman provides the following advantages, compatibility features to your applications:
Strong ACID guarantees.
Compatibility with Postgres Pro Enterprise.
Trust level 4 and security class 4 certificates.
Several clusters support.
Transparent horizontal scaling without a need in adopting NoSQL DBMS.
Built-in support of replication with no single point of failure, with any node being able to become coordinator that requires no system shut down and prevents any data loss.
Capacity of up to 100 cluster nodes.
High availability with primary and stand-by modes, along with the synchronous solution for the failover scenarios, and asynchronous solution that has a minimal performance impact.
Support of planning and execution statistics of all SQL statements.
Utility to discover most resource-intensive activities in your database.
Tools to support
REPEATABLE READ
isolation level in a distributed system.Work with cluster as with a fully functional DBMS.
Hot standby and backup and recovery tools that support full and incremental backup with logs.
High-availability cluster creation with multiple primary nodes with special utilities.
ANSI standard.
Big data storing and processing.
Interfaces for C++, Ruby, C, ODBC Perl, Python, Tcl, and Java.
EUC, UTF-8, and Mule character set.
Access data stored in external PostgreSQL servers with postgres_fdw, e.g. Microsoft Active Directory, Mysql server, Oracle, and Postgres Pro Enterprise.
Long queries monitoring with the pg_query_state module.
No limits for the number of records or indexes, with the maximum table size of 32 TB, maximum attribute size of 1 GB, and maximum number of attributes of 1600.
Detailed access management with different access levels and roles.
Detailed memory purge configuration.