Oracle RAC - Oracle RAC

Dans le domaine de l' informatique de base de données , Oracle Real Application Clusters ( RAC ) - une option du logiciel Oracle Database produit par Oracle Corporation et introduit en 2001 avec Oracle9i - fournit un logiciel de clustering et de haute disponibilité dans les environnements de base de données Oracle . Oracle Corporation inclut RAC avec Enterprise Edition, à condition que les nœuds soient mis en cluster à l'aide d' Oracle Clusterware .

Fonctionnalité

Oracle RAC permet à plusieurs ordinateurs d'exécuter le logiciel Oracle RDBMS simultanément tout en accédant à une seule base de données , offrant ainsi un clustering .

Dans une base de données Oracle non RAC, une seule instance accède à une seule base de données. La base de données se compose d'un ensemble de fichiers de données, de fichiers de contrôle et de journaux de rétablissement situés sur le disque . L' instance comprend l'ensemble de la mémoire et des processus d'arrière-plan liés à Oracle qui s'exécutent sur un système informatique.

Dans un environnement Oracle RAC, 2 instances ou plus accèdent simultanément à une seule base de données. Cela permet à une application ou à un utilisateur de se connecter à l'un ou l'autre ordinateur et d'avoir accès à un seul ensemble coordonné de données. Les instances sont connectées les unes aux autres via une "Interconnexion" qui permet à toutes les instances d'être synchronisées pour accéder aux données.

Buts

L'objectif principal d'Oracle RAC est de mettre en œuvre une base de données en cluster pour fournir des performances, une évolutivité , une résilience et une haute disponibilité des données au niveau de l'instance.

Mise en œuvre

Oracle RAC dépend du composant d' infrastructure Oracle Clusterware pour coordonner plusieurs serveurs et leur partage de stockage de données. La technologie FAN (Fast Application Notification) détecte les états de panne. Les administrateurs RAC peuvent utiliser l' srvctl outil pour gérer les configurations RAC,

Fusion de cache

Avant Oracle 9, les bases de données Oracle en cluster en réseau utilisaient un périphérique de stockage comme support de transfert de données (ce qui signifie qu'un nœud écrivait un bloc de données sur le disque et un autre lirait ces données à partir du même disque), ce qui présentait l'inconvénient inhérent de performances médiocres. Oracle 9i a résolu ce problème: RAC utilise une connexion réseau dédiée pour les communications internes au cluster.

Étant donné que tous les ordinateurs / instances d'un RAC accèdent à la même base de données, le système global doit garantir la coordination des modifications de données sur différents ordinateurs de sorte que chaque fois qu'un ordinateur interroge des données, il reçoit la version actuelle - même si un autre ordinateur a récemment modifié ces données. Oracle RAC fait référence à cette fonctionnalité sous le nom de Cache Fusion . Cache Fusion implique la capacité d'Oracle RAC à «fusionner» les données en mémoire mises en cache physiquement séparément sur chaque ordinateur dans un cache global unique.

La mise en réseau

Oracle Grid Naming Service (GNS) gère la résolution de noms dans le registre de cluster.

Diagnostique

L'analyseur de fichiers de trace (TFA) facilite la collecte des données de diagnostic RAC.

Versions

  • Oracle Real Application Clusters 12c Release 1 Enterprise Edition.
  • Oracle Real Application Clusters One Node (RAC One Node) applique RAC aux installations à nœud unique exécutant Oracle Database 11g Release 2 Enterprise Edition.

Évolution

Par rapport à la base de données Oracle à instance unique, Oracle RAC ajoute une complexité supplémentaire. Si l' automatisation des bases de données est logique pour les bases de données à instance unique, elle devient encore plus nécessaire pour les bases de données en cluster en raison de leur complexité accrue.

Oracle Real Application Clusters (RAC), introduit avec Oracle 9i en 2001, remplace l'option de base de données Oracle Parallel Server (OPS). Alors qu'Oracle9i nécessitait un clusterware externe (connu sous le nom de clusterware fournisseur comme TruCluster Veritas Cluster Server ou Sun Cluster ) pour la plupart des versions Unix (à l'exception de Linux et Windows où Oracle fournissait un clusterware gratuit appelé Cluster Ready Services ou CRS ), à partir d'Oracle 10g, Le produit clusterware d'Oracle était disponible pour tous les systèmes d'exploitation. Avec la sortie d'Oracle Database 10g Release 2 (10.2), Cluster Ready Services a été renommé Oracle Clusterware. Lorsque vous utilisez Oracle 10g ou supérieur, Oracle Clusterware est le seul clusterware dont vous avez besoin pour la plupart des plates-formes sur lesquelles Oracle RAC fonctionne (à l'exception du cluster Tru, auquel cas vous avez besoin du clusterware du fournisseur). Vous pouvez toujours utiliser le clusterware d'autres fournisseurs, si le clusterware est certifié pour Oracle RAC.

Dans RAC, la transaction d'écriture doit prendre possession de la zone pertinente de la base de données: généralement, cela implique une demande à travers l'interconnexion de cluster (réseau IP local) pour transférer la propriété du bloc de données d'un autre nœud à celui qui souhaite effectuer la écrivez. Cela prend un temps relativement long (de quelques à des dizaines de millisecondes ) par rapport à un nœud de base de données unique utilisant des opérations en mémoire. Pour de nombreux types d'applications, le temps consacré à la coordination de bloquer l' accès à travers les systèmes est faible par rapport aux nombreuses opérations sur le système, et RAC échelle comparable à un seul système. De plus, les bases de données transactionnelles à lecture élevée (telles que les applications d' entreposage de données ) fonctionnent très bien sous RAC, car aucun transfert de propriété n'est nécessaire. (Oracle 11g a apporté de nombreuses améliorations dans ce domaine et fonctionne bien mieux que les versions précédentes pour les charges de travail en lecture seule.)

La surcharge sur la maîtrise des ressources (ou le transfert de propriété) est minime pour moins de trois nœuds, car la demande de toute ressource du cluster peut être obtenue en un maximum de trois sauts (propriétaire-maître-demandeur). Cela rend Oracle RAC évolutif horizontalement avec de nombreux nœuds. Les fournisseurs d'applications (tels que SAP ) utilisent Oracle RAC pour démontrer l'évolutivité de leur application. La plupart des plus grands benchmarks OLTP se trouvent sur Oracle RAC. Oracle RAC 11g prend en charge jusqu'à 100 nœuds.

Pour certaines applications, RAC peut nécessiter un partitionnement minutieux des applications pour améliorer les performances . Une application qui évolue linéairement sur une machine SMP peut évoluer linéairement sous RAC. Cependant, si l'application ne peut pas évoluer de manière linéaire sur SMP, elle ne sera pas mise à l'échelle lors du portage vers RAC. En bref, l' évolutivité de l'application est basée sur la façon dont l'application évolue dans une seule instance .

Contexte concurrentiel

Les architectures sans partage et tout partagé ont chacune des avantages par rapport à l'autre. Les fournisseurs de SGBD et les analystes du secteur débattent régulièrement de la question; par exemple, Microsoft vante une comparaison de son SQL Server 2005 avec Oracle 10g RAC.

Oracle Corporation a proposé une architecture Shared Nothing RDBMS avec l'avènement des IBM SP et SP2 avec la sortie des éditions 7.x MPP, dans lesquelles des lecteurs partagés virtuels (VSD) ont été utilisés pour créer une implémentation Shared Everything sur une architecture Shared Nothing.

Partagé-tout

Les architectures de tout partagé partagent à la fois les données sur disque et les données en mémoire entre les nœuds du cluster. Cela contraste avec les architectures «sans partage» qui ne partagent aucune d'elles.

Certaines bases de données disponibles dans le commerce offrent une architecture «tout partagé». IBM DB2 for z / OS (le système d' exploitation mainframe IBM ) propose une option de partage de données hautes performances depuis le milieu des années 1990, lorsque IBM a lancé son infrastructure de clustering logicielle et matérielle mainframe. Fin 2009, IBM a annoncé DB2 pureScale, un schéma de clustering de disques partagés pour DB2 9.8 sur AIX qui imite l' implémentation parallèle du sysplex derrière le partage de données DB2 sur le mainframe.

En février 2008, Sybase a lancé son Adaptive Server Enterprise , Cluster Edition. Il ressemble à Oracle RAC dans sa conception de tout partagé.

Bien que techniquement pas tout partagé, Sybase fournit également une base de données relationnelle basée sur des colonnes axée sur les applications d'analyse et d'entrepôt de données appelée Sybase IQ qui peut être configurée pour s'exécuter en mode disque partagé.

Les bases de données cloud natives, telles qu'Amazon Aurora et POLARDB d' Alibaba Cloud , sont implémentées avec une architecture «tout partagé» en plus d'un système de fichiers distribué basé sur le cloud.

Partagé-rien

Les architectures sans partage ne partagent ni les données sur le disque ni les données en mémoire entre les nœuds du cluster. Cela contraste avec les architectures «tout partagé», qui partagent les deux.

Les produits concurrents offrant des architectures sans partage comprennent:

Voir également

Les références

Liens externes