Кіріспе

Деректер базасын есептеуде Oracle Real Application Clusters (RAC) — Oracle Corporation компаниясы жасаған және 2001 жылы Oracle9i нұсқасымен бірге ұсынған Oracle Database бағдарламалық жасақтамасының мүмкіндігі, Oracle деректер базасы орталарында кластерлеу және жоғары сенімділікті қамтамасыз етеді. Oracle Corporation RAC-ты Enterprise Edition нұсқасына қоса береді, егер түйіндер Oracle Clusterware арқылы кластерленген болса.

Функционалдылығы

Oracle RAC бірнеше компьютерге Oracle RDBMS бағдарламалық жасақтамасын бір мезгілде орындауға және жалғыз деректер қорына қол жеткізуге мүмкіндік береді, осылайша кластерлеуді қамтамасыз етеді. RAC емес Oracle деректер базасында бір инстанция ғана жалғыз деректер базасына қол жеткізеді. Деректер қоры дискте сақталатын деректер файлдары, басқару файлдары және қайта жазу журналдарынан тұрады. Инстанция – бұл компьютер жүйесінде іске қосылатын Oracle-қа қатысты жад және фонолық процестердің жиынтығы. Oracle RAC ортасында екі немесе одан көп инстанциялар бір мезгілде жалғыз деректер базасына қол жеткізеді. Бұл қолданбаға немесе пайдаланушыға кез келген компьютерге қосылып, біртұтас үйлестірілген деректерге қол жеткізуге мүмкіндік береді. Инстанциялар "Interconnect" арқылы байланысқан, бұл барлық инстанциялардың деректерге қол жеткізуде синхронды жұмыс істеуін қамтамасыз етеді.

Мақсаттары

Oracle RAC-тің басты мақсаты – деректердің өнімділігін, кеңейтілу мүмкіндігін, сенімділігін және инстанция деңгейінде жоғары қолжетімділігін қамтамасыз ету үшін кластерленген дерекқорын іске қосу болып табылады.

Кэштің бірігуі

Oracle 9-дан бұрын желілік кластерленген Oracle дерекқорлары деректерді тасымалдау ортасы ретінде сақтау құрылғысын пайдаланды (яғни, бір түйін деректер блогын дискіге жазады, ал басқа түйін сол дискіден сол деректерді оқиды), бұл өнімділіктің нашар болуына себеп болатын кемшілік еді. Oracle 9i бұл мәселені шешті: RAC кластер ішіндегі байланыс үшін арнайы желілік қосылымды қолданады. RAC-тің барлық компьютерлері/экземпляры бір дерекқорға қол жеткізетіндіктен, жүйе жалпы алғанда әртүрлі компьютерлердегі деректер өзгерістерін үйлестіруге кепілдік беруі керек, сондықтан компьютер деректерді сұрағанда, ол ең соңғы нұсқаны алуы тиіс – тіпті басқа компьютер осы деректерді жақында өзгерткен болса да. Oracle RAC осы мүмкіндікті Cache Fusion деп атайды. Cache Fusion – бұл Oracle RAC-тің әр компьютерде жеке-жеке кэште сақталатын деректерді бірыңғай, жаһандық кэшке "біріктіру" қабілеті.

Желі құру

Oracle Grid Naming Service (GNS) кластерлік тізілімде атауларды анықтауды қамтамасыз етеді.

Диагностика

Трек файл талдағышы (TFA) RAC диагностикалық мәліметтерін жинауға көмектеседі.

Нұсқалар

Oracle Real Application Clusters 12c Release 1 Enterprise Edition. Oracle Real Application Clusters One Node (RAC One Node) Oracle Database 11g Release 2 Enterprise Edition нұсқасында жұмыс істейтін бір түйінді орнатуларда RAC технологиясын қолдануға арналған.

Эволюция

Oracle RAC бір даналы Oracle дерекқорына қарағанда қосымша күрделілік қосады. Дерекқорды автоматтандыру бір даналы дерекқорлар үшін мағыналы болғанымен, кластерленген дерекқорлар үшін олардың күрделілігі артуына байланысты одан да қажет болады. Oracle Real Application Clusters (RAC), 2001 жылы Oracle 9i-мен енгізілген, Oracle Parallel Server (OPS) дерекқорының орнын басады. Oracle9i көптеген Unix нұсқалары үшін (Linux және Windows-ты қоспағанда, Oracle Cluster Ready Services немесе CRS деп аталатын тегін кластерлік бағдарламаларды ұсынды) сыртқы кластерлік бағдарламаны (TruCluster Veritas Cluster Server немесе Sun Cluster сияқты кластерлік бағдарламаны) қажет еткен болса, Oracle 10g-ден бастап Oracle кластерлік бағдарламалық жасақтамасы барлық операциялық жүйелер үшін қолжетімді болды. Oracle Database 10g Release 2 (10.2) нұсқасымен Cluster Ready Services Oracle Clusterware деп қайта аталды. Oracle 10g немесе одан жоғары нұсқаларын пайдаланғанда, Oracle Clusterware – Oracle RAC жұмыс істейтін көптеген платформалар үшін қажетті жалғыз кластерлік бағдарлама (Tru кластерін қоспағанда, онда сізге жеткізуші кластерлік бағдарлама қажет). Егер кластерлік бағдарлама Oracle RAC үшін сертификатталған болса, онда сіз басқа өндірушілердің кластерлік бағдарламаларын пайдалана аласыз. RAC-те жазу транзакциясы дерекқорының тиісті аймағына ие болуы керек: әдетте, бұл кластерлік өзара байланыста (жергілікті IP желісі) дерек блогының меншік құқығын басқа түйінден жазуды жасағысы келетін түйінге беру туралы сұрау салуды қамтиды. Бұл жад операцияларын пайдаланатын бірде-бір дерекқор түйінімен салыстырғанда салыстырмалы түрде ұзақ уақыт алады (бірнешеден ондаған миллисекундқа дейін). Көптеген қолданбалар үшін жүйелердегі блоктарға қол жеткізуді үйлестіруге жұмсалатын уақыт жүйедегі көптеген операцияларға қарағанда аз, ал RAC бір жүйеге ұқсас масштабталады. Сонымен қатар, жоғары оқу транзакциялық дерекқорлар (мысалы, деректер қоймасы қолданбалары) RAC-те өте жақсы жұмыс істейді, өйткені меншік құқығын берудің қажеті жоқ. (Oracle 11g осы салада көптеген жақсартулар жасады және тек оқу жүктемелері үшін бұрынғы нұсқаларға қарағанда әлдеқайда жақсы жұмыс істейді.) Ресурсты басқару (немесе меншік құқығын беру) бойынша шығындар үш түйінден аз болса, минималды, өйткені кластердегі кез келген ресурсқа арналған сұрау ең көп дегенде үш секіруде алынуы мүмкін (иесі, бас сұрау салушы). Бұл Oracle RAC-ті көптеген түйіндермен көлденең масштабтауға мүмкіндік береді. Қолданба өндірушілер (мысалы, SAP) өздерінің қолданбаларының масштабталуын көрсету үшін Oracle RAC-ті пайдаланады. OLTP-нің ең ірі өлшемдерінің көпшілігі Oracle RAC-та жүзеге асырылады. Oracle RAC 11g 100 түйінге дейін қолдау көрсетеді. Кейбір қолданбалар үшін RAC-қа өнімділікті арттыру үшін қолданбаны мұқият бөлу қажет болуы мүмкін. SMP машинасының сызықтық масштабталатын қолданбасы RAC-те де сызықтық масштабталуы мүмкін. Алайда, егер қолданба SMP-де сызықтық масштабтауға мүмкіндік бермесе, ол RAC-ке көшірілген кезде масштабталмайды. Қысқасы, қолданбаның масштабталуы бір данада қолданбаның қаншалықты масштабталатынына байланысты.

Бәсекелестік жағдай

Ортақ ештеңе жоқ және ортақ барлық архитектуралардың әрқайсысының өзгесінен артықшылықтары бар. ДБЖ жеткізушілер мен салалық сарапшылар осы мәселені үнемі талқылайды; мысалы, Microsoft өзінің SQL Server 2005-ті Oracle 10g RAC-пен салыстыруды жариялайды. Oracle корпорациясы IBM SP және SP2-нің 7.x MPP нұсқаларын шығару арқылы Shared Nothing архитектурасымен RDBMS ұсынды, онда виртуалды ортақ дискілер (VSD) Shared Nothing архитектурасында Shared Everything жүзеге асыру үшін қолданылды.

Бәрін ортақтастырамыз

Ортақ архитектуралар кластердегі түйіндер арасында дискідегі және жадтағы деректерді бөліседі. Бұл ешқандай деректі бөліспейтін "ешнәрсемен бөліспейтін" архитектураларға қарама-қарсы. Кейбір коммерциялық деректер базалары "ортақ архитектураны" ұсынады. IBM Db2 for z/OS (IBM мейнфрейм операциялық жүйесі) IBM өз мейнфрейм аппараттық және бағдарламалық жасақтама кластерлік инфрақұрылымын шығарғаннан бері 1990 жылдардың ортасынан бастап жоғары өнімді деректерді бөлісу мүмкіндігін ұсынып келеді. 2009 жылдың соңында IBM DB2 pureScale-ді жариялады, ол AIX-тегі DB2 9.8 үшін ортақ дискілі кластерлеу схемасы болып табылады және Db2 деректерін бөлісудегі мейнфреймдегі параллель sysplex жүзеге асыруын имитациялайды. 2008 жылдың ақпан айында Sybase өзінің Adaptive Server Enterprise, Cluster Edition-ын шығарды. Ол Oracle RAC сияқты, барлық элементтері ортақ дизайнмен жасалған. Техникалық тұрғыдан алғанда толыққанды ортақ болмаса да, Sybase талдау және деректер қоймасы қолданбаларына бағытталған бағандық реляциялық деректер базасын ұсынады, ол Sybase IQ деп аталады және ортақ дискілік режимде жұмыс істеуге конфигурациялануы мүмкін. Amazon Aurora және Alibaba Cloud POLARDB сияқты бұлттық деректер базалары бұлттағы үлестірілген файлдық жүйе негізінде "ортақ архитектурамен" іске асырылған.