Module 14: Scalability and High Availability
Overview Key high availability features available in Oracle and SQL Server Key scalability features available in Oracle and SQL Server
High Availability High availability ensuring database and data are accessible for the maximum amount of time Initialization parameters or configuration options in Oracle and SQL Server Logical (add, remove, rename columns) and physical (rebuild, move, change storage parameters) structure of tables Online index operations SQL Server partitioning option
Clustering Both Oracle and SQL Server offer Active/Passive (single instance) and Active/Active (multi-instance failover clustering) options in clustering. In Oracle, it is called Failsafe and Real Application Clusters (RAC); SQL Server refers to it as Failover Clustering For Active/Passive clustering, Failsafe and Failover clustering are both based on Microsoft Cluster Services (MSCS) containing a single set of non-shared disks For Active/Active clustering, Failsafe and Failover clustering utilize a multi-node configuration where each node has its own instance connecting to shared disks. However, the database can be opened by only one node at a time Oracle s RAC can also provide Active/Active clustering in a sharedeverything architecture where multiple instances can simultaneously access data from the same database
Standby Database Both offer standby database which can be used for availability and disaster recovery In Oracle, Data Guard In SQL Server, AlwaysOn, Database Mirroring, and Log Shipping Standby databases are updated using archive logs in Oracle and transaction logs in SQL Server Shipping of logs to a standby server and their application can be controlled to provide scope for recovery from user errors in the primary Snapshots of mirrored database in SQL Server and logical standby database in Oracle can be used for readonly purposes such as reporting, analysis, DSS
Database Mirroring Software solution for increasing the availability of a specific database Consists of principal server, a mirror server, and optionally a witness server Witness server enables automatic failover Can operate in either Synchronous or Asynchronous mode Use views such as sys.database_mirroring, sys.dm_db_mirroring_connections to monitor database mirroring
Demonstration: Database Mirroring In this demonstration you will learn to: Prepare Database on Instances Configure Database Mirroring Execute Failovers Between Instances Utilize the Mirror for Read-Only Processing with Database Snapshots Monitor Activity Between Instances
SQL Server 2012 AlwaysOn NEW high availability and disaster recovery solution Achieving required 9 s Availability Groups on multiple databases Multi-subnet clustering support Hardware utilization and performance Active secondaries (reporting, backup) Reduced planned downtime Windows Server Core support Rolling upgrade support
SQL Server 2012 AlwaysOn Details Failover Cluster Instances: Flexible failover policy for cluster health detection Indirect checkpoints Availability Groups: Asynchronous or synchronous modes Listeners for fast application failover Flexible failover policy Automatic page repair against page corruption Encryption and compression for security and high performance transport
SQL Server 2012 AlwaysOn Tools T-SQL DDL statements Wizards New Availability Group Add database to Availability Group Add replica to Availability Group Failover Availability Group AlwaysOn Dashboard for Availability Group health view Object Explorer Details for Availability Group info PowerShell cmdlets for automation
Demonstration: AlwaysOn In this demonstration you will learn to: Implement AlwaysOn Availability Groups
Replication Objects Replication is a specialization of the distributed database concept where copies of an object can be kept in multiple databases Unlike clustering and standby databases, replication encourages sharing and distribution of individual objects rather than entire databases Both Oracle and SQL Server provide multiple types of replication based on whether the replicas are read-only or updatable Replicas are refreshed in full or updated using discrete transactions either synchronously (multi-master) or asynchronously (all others) Oracle Streams offers replication in three forms: Multi-master replication multiple peer-to-peer updatable replicas Materialized views each replica has a master site with various policies on updating the replicas Hybrids of replication and materialized views
Replication Types SQL Server offers the following types of replication: Snapshot replication used mostly as read-only copies which are completely refreshed periodically Transactional replication kept up-to-date with immediate or deferred updates from the master site. Copies are used mostly as read-only and occasionally updated. Updatable subscribers (immediate and queued), and peer-to-peer transactional replication support updates at subscribers. Merge replication similar to Oracle s multi-master replication where the autonomous sites are synchronized at regular intervals Oracle and SQL Server offer sophisticated algorithms for conflict resolution among updatable replicas
Demonstration: Replication In this demonstration you will learn to: Define the Roles of Replication Define the Publication and Articles Implement Peer-to-Peer Replication Use the new Configure Peer-to-Peer Topology Tool
Scalability Scalability is the ability to support very large databases (VLDB) and/or large volume OLTP Memory areas in Oracle and SQL Server are dynamically resized without restarting. The process is performed either automatically or by the DBA in Oracle, where it is automatically performed by the DBMS in SQL Server. Oracle uses parallel query slaves and SQL Server uses worker threads to provide interoperation and intra-operation parallelism in the execution of DML and DDL. Both optimizers are parallel-aware. Oracle and SQL Server scale well in the handling of user connections through the use of shared server processes Oracle and SQL Server offer many types and features for speedy access to large volumes of data. Examples are many types of indexes, advanced I/O techniques and caching. SQL Server supports NUMA and Hot Add CPU
Scalability and HA in Backup and Recovery MTTR targets can be set for instance recovery by controlling the checkpoint process in Oracle using FAST_START MTTR_TARGET and in SQL Server using recovery interval option The RMAN features available in SQL Server backup and restore utilities are: Parallelism in backup and recovery operations Incremental backups Multiple granularities in backup and restore to reduce the amount of recovery needed Point in time recovery Choice of backup media and devices Duplicating or cloning databases Moving of data in logical units of tablespaces using transportable tablespaces across multiple platforms in Oracle is found in SQL Server through the attach and detach features for databases
Service Broker and Advanced Queuing Service Broker provides messages, queues and services to provide loosely coupled, asynchronous applications for better scalability and improved performance SB provides the infrastructure for reliable and secure message routing, Conversations, Queues, Services and Activation Oracle has Oracle Streams Advanced Queuing (AQ) Within an Oracle Streams AQ, producers enqueue a message, and consumer applications dequeue messages Messages may undergo transformations during enqueue/dequeue
Review We defined high availability and the role it plays in modern day businesses We covered all the important high availability features in Oracle and SQL Server. The major ones being failover clustering, standby databases and replication. We learned the meaning of scalability with respect to VLDB and OLTP environments We examined several scalability features found in Oracle and SQL Server such as dynamic memory management, parallel SQL, query rewrite