Oracle RAC
In database computing, Oracle Real Application Clusters (RAC) — an option[http://download.oracle.com/docs/cd/B28359_01/license.111/b28287/options.htm#CIHGHJBE Options and Packs] for the Oracle Database software produced by Oracle Corporation and introduced in 2001 with Oracle9i — provides software for clustering and high availability in Oracle database environments. Oracle Corporation includes RAC with the Enterprise Edition, provided the nodes are clustered using Oracle Clusterware.[http://docs.oracle.com/cd/E11882_01/license.112/e47877/editions.htm Oracle Database Editions]
Functionality
Oracle RAC allows multiple computers to run Oracle RDBMS software simultaneously while accessing a single database, thus providing clustering.
In a non-RAC Oracle database, a single instance accesses a single database. The database consists of a collection of data files, control files, and redo logs located on disk. The instance comprises the collection of Oracle-related memory and background processes that run on a computer system.
In an Oracle RAC environment, 2 or more instances concurrently access a single database. This allows an application or user to connect to either computer and have access to a single coordinated set of data. The instances are connected with each other through an "Interconnect" which enables all the instances to be in sync in accessing the data.
Aims
The main aim of Oracle RAC is to implement a clustered database to provide performance, scalability and resilience & high availability of data at instance level.
Implementation
Oracle RAC depends on the infrastructure component Oracle Clusterware to coordinate multiple servers and their sharing of data storage.[http://download.oracle.com/docs/cd/B28359_01/rac.111/b28254/admcon.htm#i1058057 Introduction to Oracle Real Application Clusters]
The FAN (Fast Application Notification) technology detects down-states.
{{cite book
| last = Mensah
| first = Kuassi
| title = Oracle database programming using Java and Web services
| url = https://books.google.com/books?id=T0GvgQYG070C
| accessdate = 2011-09-11
| year = 2006
| publisher = Digital Press
| isbn = 978-1-55558-329-3
| page = 400; 1087
| quote = The Fast Application Notification (FAN) mechanism [...] allows the rapid detection of "Instance DOWN
" or "Node DOWN
events [...]
}}
RAC administrators can use the srvctl
tool to manage RAC configurations,
{{cite book
| last = Stoever
| first = Edward
| title = Personal Oracle RAC Clusters: Create Oracle 10g Grid Computing At Home
| url = https://books.google.com/books?id=CzhjUvsaljUC
| accessdate = 2013-05-30
| series = Oracle In-focus Series
| year = 2006
| publisher = Rampant TechPress
| isbn = 9780976157380
| page = 119
| quote = An RAC database configuration requires extra tools to manage the software and its instances. One such tool is srvctl, used to startup, shutdown and check the status [of] a RAC database.
}}
=Cache Fusion=
Prior to Oracle 9, network-clustered Oracle databases used a storage device as the data-transfer medium (meaning that one node would write a data block to disk and another node would read that data from the same disk), which had the inherent disadvantage of lackluster performance. Oracle 9i addressed this issue: RAC uses a dedicated network connection for communications internal to the cluster.
Since all computers/instances in a RAC access the same database, the overall system must guarantee the coordination of data changes on different computers such that whenever a computer queries data, it receives the current version — even if another computer recently modified that data. Oracle RAC refers to this functionality as Cache Fusion. Cache Fusion involves the ability of Oracle RAC to "fuse" the in-memory data cached physically separately on each computer into a single, global cache.
= Networking =
The Oracle Grid Naming Service (GNS) handles name resolution in the cluster registry.
{{cite book
| last1 = Prusinski
| first1 = Ben
| last2 = Hussain
| first2 = Syed Jaffer
| title = Oracle 11g R1/R2 Real Application Clusters Essentials
| date = 23 May 2011
| url = https://books.google.com/books?id=As_xmGVJPzkC
| location = Birmingham
| publisher = Packt Publishing Ltd
| publication-date = 2011
| isbn = 9781849682671
| access-date = 2018-03-23
| quote = Oracle 11g R2 RAC introduced several new clusterware background processes. [...] The Oracle Grid Naming Service (GNS) functions as a gateway between the cluster mDNS and external DNS servers. The GNS process performs the name resolution within Oracle Cluster registry architecture for Oracle 11g RAC.
}}
= Diagnostics =
The Trace File Analyzer (TFA) aids in collecting RAC diagnostic data.
{{cite book
| last1 = Farooq
| first1 = Tariq
| last2 = Kim
| first2 = Charles
| last3 = Vengurlekar
| first3 = Nitin
| last4 = Avantsa
| first4 = Sridhar
| last5 = Harrison
| first5 = Guy
| last6 = Hussain
| first6 = Syed Jaffar
| chapter = Troubleshooting and Tuning RAC
| title = Oracle Exadata Expert's Handbook
| date = 12 June 2015
| url = https://books.google.com/books?id=_6ffCQAAQBAJ
| publisher = Addison-Wesley Professional
| publication-date = 2015
| isbn = 9780133780987
| access-date = 2017-06-29
| quote = Released with v11.2.0.4, the Trace File Analyzer (TFA) Collector utility is the new all-encompassing utility that simplifies collection of RAC diagnostic information.
}}
Versions
{{cite web
| url = http://www.vitalsofttech.com/oracle-12c-rac/
| title = Oracle 12c RAC: New Features
| date = 2015-07-24
| work = Find White Papers
| accessdate = 2015-07-24
| quote = From among the 500+ New Features released with Oracle 12c Database, a number of very useful features are Oracle RAC specific. View the top 12c RAC New Features including Oracle ASM Flex, ASM Disk Scrubbing, faster Disk Resync Checkpoint, higher Resync Power limit and more.
}}
- Oracle Real Application Clusters One Node (RAC One Node) applies RAC to single-node installations running Oracle Database 11g Release 2 Enterprise Edition.
{{cite web
| url = http://www.findwhitepapers.com/content7516/
| title = Oracle Real Application Clusters One Node: Better Virtualization for Databases
| date = 2009-12-09
| work = Find White Papers
| accessdate = 2010-04-19
| quote = Oracle RAC One Node provides: . Always on single-instance database services . Better consolidation for database servers . Enhanced server virtualization . [,,,] should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption. [...] Oracle Real Application Clusters (RAC) One Node is a new option to Oracle Database 11g Release 2 Enterprise Edition. It provides enhanced high availability for singleinstance databases,
}}
Evolution
Relative to the single-instance Oracle database, Oracle RAC adds additional complexity. While database automation makes sense for single-instance databases, it becomes even more necessary for clustered databases because of their increased complexity.
Oracle Real Application Clusters (RAC), introduced with Oracle 9i in 2001, supersedes the Oracle Parallel Server (OPS) database option. Whereas Oracle9i required an external clusterware (known as vendor clusterware like TruCluster Veritas Cluster Server or Sun Cluster) for most of the Unix flavors (except for Linux and Windows where Oracle provided free clusterware called Cluster Ready Services or CRS), as of Oracle 10g, Oracle's clusterware product was available for all operating systems. With the release of Oracle Database 10g Release 2 (10.2), Cluster Ready Services was renamed to Oracle Clusterware. When using Oracle 10g or higher, Oracle Clusterware is the only clusterware that you need for most platforms on which Oracle RAC operates (except for Tru cluster, in which case you need vendor clusterware). You can still use clusterware from other vendors, if the clusterware is certified for Oracle RAC.
In RAC, the write-transaction must take ownership of the relevant area of the database: typically, this involves a request across the cluster interconnection (local IP network) to transfer the data-block ownership from another node to the one wishing to do the write. This takes a relatively long time (from a few to tens of milliseconds) compared to single database-node using in-memory operations. For multiple types of applications, the time spent coordinating block access across systems is low relative to the multiple operations on the system, and RAC will scale comparably to a single system.{{Citation needed|date=December 2013}} Moreover, high read-transactional databases (such as data-warehousing applications) work very well under RAC, as no need for ownership-transfer exists. (Oracle 11g has made a number of enhancements in this area and performs a lot better than earlier versions for read-only workloads.{{Citation needed|date=September 2007}})
The overhead on the resource mastering (or ownership-transfer) is minimal for fewer than three nodes, as the request for any resource in the cluster can be obtained in a maximum of three hops (owner-master-requestor).{{Citation needed|date=December 2013}} This makes Oracle RAC horizontally scalable with a number of nodes. Application vendors (such as SAP) use Oracle RAC to demonstrate the scalability of their application. Most of the biggest OLTP benchmarks are on Oracle RAC. Oracle RAC 11g supports up to 100 nodes.{{cite web|url=http://www.oracle.com/technology/products/database/clustering/pdf/ds_rac11g.pdf |title=clustering |publisher=Oracle.com |date= |accessdate=2012-11-07}}
For some{{Which|date=April 2010}} applications, RAC may require careful application partitioning to enhance performance. An application that scales linearly on an SMP machine may scale linearly under RAC. However, if the application cannot scale linearly on SMP, it will not scale when ported to RAC. In short, the application scalability is based on how well the application scales in a single instance.
Competitive context
Shared-nothing and shared-everything architectures each have advantages over the other. DBMS vendors and industry analysts regularly debate the matter; for example, Microsoft touts a comparison of its SQL Server 2005 with Oracle 10g RAC.
{{cite web |first=Bryan |last=Thomas |publisher=Microsoft |url=http://download.microsoft.com/download/a/4/7/a47b7b0e-976d-4f49-b15d-f02ade638ebe/OracleRAC.pdf
|title=Solutions for Highly Scalable Database Applications: An analysis of architectures and technologies
|date=2006-05-30
|accessdate=2007-09-09}}
Oracle Corporation offered a Shared Nothing architecture RDBMS with the advent of the IBM SP and SP2 with the release of 7.x MPP editions, in which virtual shared drives (VSD) were used to create a Shared Everything implementation on a Shared Nothing architecture.
=Shared-Everything=
Shared-everything architectures share both data on disk and data in memory between nodes in the cluster. This is in contrast to "shared-nothing" architectures that share none of them.
Some commercially available databases offer a "shared-everything" architecture. IBM Db2 for z/OS (the IBM mainframe operating-system) has provided a high-performance data-sharing option since the mid-1990s when IBM released its mainframe hardware and software-clustering infrastructure. In late 2009, IBM announced DB2 pureScale, a shared-disk clustering scheme for DB2 9.8 on AIX that mimics the parallel sysplex implementation behind Db2 data sharing on the mainframe.
In February 2008, Sybase released its Adaptive Server Enterprise, Cluster Edition. It resembles Oracle RAC in its shared-everything design.{{cite web|url=http://www.sybase.com/detail?id=1056349 |title=Sybase.com |publisher=Sybase.com |date= |accessdate=2012-11-07}}
Although technically not shared-everything, Sybase also provides a column-based relational database focused on analytic and datawarehouse applications called Sybase IQ that can be configured to run in a shared disk mode.
Cloud Native Databases, such as Amazon Aurora and POLARDB of Alibaba Cloud, are implemented with "shared-everything" architecture on top of cloud-based distributed file system.{{Cite web|url=https://docs.amazonaws.cn/en_us/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html|title = Amazon Aurora storage and reliability - Amazon Aurora}}{{cite web|url=https://dl.acm.org/citation.cfm?id=3275552|title=PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database|work=ACM DIGITAL LIBRARY}}
=Shared-nothing=
Shared-nothing architectures share neither the data on disk nor the data in memory between nodes in the cluster. This is in contrast to "shared-everything" architectures, which share both.
Competitive products offering shared-nothing architectures include:
- EDB Postgres Distributed available for PostgreSQL, EDB Postgres Extended Server and EDB Postgres Advanced Server (which provides native compatibility with Oracle)
- MySQL Cluster (Oracle Corporation has owned MySQL since 2009)
{{cite web | publisher=InfoWorld
|url=http://www.infoworld.com/d/data-management/oracle-buys-finnish-open-source-developer-519
|title=Oracle buys Finnish open-source developer
|date=October 7, 2005}}
{{cite web | publisher=Linux Magazine
|url=http://www.linux-mag.com/id/7309/
|title=Oracle Buys SUN; MySQL is Forked
|date=April 20, 2009}}
- ScaleBase{{cite web |url=http://www.scalebase.com/products/product-architecture/ |title=Database Load Balancing {{!}} MySQL High Availability {{!}} Scalebase |website=www.scalebase.com |url-status=dead |archive-url=https://web.archive.org/web/20120629222757/http://www.scalebase.com/products/product-architecture |archive-date=2012-06-29}}
- Clustrix
- HP NonStop
- IBM InfoSphere Warehouse editions that include the Database Partitioning Feature (formerly known as DB2 Extended Enterprise Edition)
- MarkLogic
- Greenplum
- Oracle NoSQL Database
- Paraccel
- Netezza (aka. Netezza Performance Server)
- Teradata
- Vertica
- Apache Cassandra, wide column store NoSQL database.
- Apache HBase
- MongoDB, document-oriented database.
- Couchbase Server
- Riak
- SAP HANA
- CUBRID
See also
References
{{Reflist|1}}
External links
- [http://www.sysdba.de/oracle-dokumentation/11.1/rac.111/b28254/toc.htm Oracle RAC Documentation]
- [http://www.oracle.com/us/products/database/options/real-application-clusters/overview/index.html Oracle Real Application Clusters] (official website from Oracle Corporation)
- [http://www.oracle.com/technetwork/articles/oem/haskins-rac-project-guide-099429.html A Step-By-Step Project Guide for Implementing Oracle RAC]
- [http://mvdirona.com/jrh/talksAndPapers/OracleRAC.pdf Oracle Real Application Clusters and Industry Trends in Cluster Parallelism and Availability]