One: Multitenant Architecture (12.1.0.1)
Multi-tenant architecture is the new heavyweight feature of Oracle 12c (12.1), built-in multi-tenancy (multi-tenancy), a container database (container) that can hold multiple pluggable Databases, Each pluggable database is independent of the other pluggable database.
For external applications and developers, pluggable databases looks like a single database before the normal 12.1 version. The DBA can connect to the pluggable database and simply manage it, and the Super DBA can connect to the container database and manage all pluggable databases as if they were managing a single system image.
Benefits of pluggable Databases features:
1. Centralized management of multiple database instances.
2. Quickly configure a new database with Pdb$seed templates.
3, accelerate the existing database patching and upgrade speed.
4. Patch or upgrade through the PDB plug-in to other CDB in later versions.
5. Quickly redeploy the existing database to the new platform (migration) by unplugging and plugging it.
II: Oracle 12c in-memory (12.1.0.2)Oracle 12c In-memory provides a unique dual-format architecture that can store tables in memory using traditional row formats and new memory column formats. In in-memory mode, SQL Optimizer automatically parses query types, uses in-memory columns for analysis and reporting, OLTP runs in row format, transparently provides optimal performance for both sides, and the database automatically maintains full transactional consistency between row and column formats. It's like maintaining consistency between tables and indexes today. The new columnar format is pure memory and does not persist on disk, so there is no additional storage cost or storage synchronization issues.
for the traditional OLTP system, in order to achieve fast query, often using analytic index, in such a schema, insert a record into the table need to update dozens of indexes simultaneously, OLTP system performance is forced to reduce. 12c In-memory by replacing analytic indexes with in-memory Columnstore, in-memory columnstore can quickly respond to data changes, up to twice to 20 times times the compression ratio, with granularity that supports both table-level and partition-level, and is suitable for all major hardware platforms. This allows for fast analysis of any column in an OLTP system, and the speed of OLTP and batching is greatly improved.
In the test, the column format of each CPU core can be up to 1 billion per second scan speed, while the row formats can only reach millions, the performance of up to 100 times times higher. Not only that, the table joins up to 10 times times faster by turning the multi-table connection operation into an efficient column scan.
III: Oracle sharding (12.2.0.1)
Oracle Sharding is the scalability and availability feature for custom-designed OLTP applications that can distribute and replicate data between Oracle database pools that do not share hardware or software. Renders the database pool as a single logical database to the application. Applications can scale elastically at any level (data, transactions, and users) on any platform (simply by adding databases (shards) to the pool).
Simply put, Oracle's sharding technology is implemented through the expansion of partitioning (partioning) technology. Partitions of a previous table can exist in different table spaces and can now exist in different databases.
compared to other NoSQL sharding architectures, Oracle Sharding delivers superior runtime performance and simpler lifecycle management. It also provides the benefits of enterprise RDBMS, including: Relational schemas, SQL and other programming interfaces, support for complex data types, online schema changes, multicore scalability, advanced security, compression, high availability, ACID properties, consistency, and more.
oracle sharding using GDS (Global Data Services) architecture to automate the deployment and management of sharding and replication technologies. The GDS (GDS is the new feature of Oracle RDBMS 12.1) also provides location-based routing capabilities in load balancing and SDB (sharded database).
Shard directory (Shard directors) using GDS The framework's Global Service Manager component provides direct routing of application-tier requests to Shard. The Shard directory (Shard directors) is a separate database that holds the SDB (sharding database) configuration data and provides other related functions, such as Shard cross-query and centralized management. You can use the GDS is the Gdsctl tool that can be used to configure SDB.
Oracle sharding Partition architecture (partitioning Infrastructure) partitions are distributed across shards at the table space level, and each table space is associated with a specific shard. Each partition of a shard table is placed in a separate tablespace and each table space is associated to a specific shard. Depending on the Sharding method, this association can be built automatically or created by definition. Although multiple partitions of a shard table are placed on multiple separate hosts ' databases (which are completely independent of the CPU, memory, and other software and hardware), the application accesses the table as if it were a partitioned table in a separate database. The SQL statements emitted by the app do not need to rely on the physical configuration of Shard and Shard.
Sharding How to implement data routing?
Since data is split, how do you implement data routing when you access it? In the sharding architecture, there is a "Shard directories" directory Library to manage the distribution of sharding, and when the application accesses the data via Sharding key, the connection pool (Gds-global data Services) The access path is given, which quickly points to the Shard to be accessed. If the app does not specify a partition key access, you need to assist in the decision by coordinating the library-coordinator DB.
Oracle 12c new features (for DBA)