w sosie własnym

Transkrypt

w sosie własnym
ENTERPRISE SOFTWARE REVIEW
INFORMATYKA W DUŻYCH ORGANIZACJACH
ORACLE
W SOSIE WŁASNYM
Obecnie Oracle dużymi krokami dąży do uproszczenia infrastruktury wspierającej bazy danych, by zwiększyć
ich wydajność. Nigdzie nie widać tego wyraźniej, niż w obszarze pamięci masowych, i jest to jeden z powodów
rosnącej popularności platform Engineered Systems. Niezależnie od nich, w Oracle 11g oraz 12c pojawiły się
technologie stanowiące prawdziwą rewolucję w dziedzinie wydajności.
Producenci systemów operacyjnych, serwerów, sieci i pamięci
masowych przez lata prześcigali się w strojeniu przetwarzania
baz danych na wszelkie możliwe sposoby. Optymalizacje
odbywały się wszakże tylko w ramach poszczególnych warstw.
Koordynacja pomiędzy nimi, nawet jeśli miała miejsce, wymagała od administratorów wzniesienia się ponad inżynierskie
rzemiosło, czyniąc z nich prawdziwych artystów technologii.
Obecnie Oracle dużymi krokami dąży do uproszczenia infrastruktury wspierającej bazy danych, by zwiększyć ich wydajność.
Nigdzie nie widać tego wyraźniej, niż w obszarze pamięci
masowych, i jest to jeden z powodów rosnącej popularności
platform Engineered Systems. Niezależnie od nich, w Oracle 11g
oraz 12c pojawiły się technologie stanowiące prawdziwą
rewolucję w dziedzinie wydajności. Mowa tu m.in. o agencie
Direct NFS zintegrowanym w silniku bazy danych, innowacyjnym protokole OISP, hybrydowej kompresji danych HCC
i zarządzaniu nią na podstawie statystyk Heat Maps za pomocą
reguł biznesowych ADO, a także funkcjach CloneDB, służących
do natychmiastowego wykonywania kopii bazy przy niewielkim
zapotrzebowaniu na zasoby.
Piotr Zając jest specjalistą w dziedzinie
architektury rozwiązań Oracle w firmie Advatech.
Wcześniej pracował w Sun Microsystems
oraz Oracle.
Złożone systemy zwykle lepiej jest optymalizować poprzez
koordynację działania poszczególnych elementów, niż przyspieszanie każdego z nich osobno. Całość środowiska jest bowiem
tak wydajna, i tak niezawodna, jak jego najsłabsze ogniwo.
Klasyczna architektura środowiska bazy danych jest w tym
względzie przykładem wręcz modelowym. Aby zapisać dane,
serwer bazy danych musi „przebić się” przez system plików,
wywołania systemowe, sterownik karty sieciowej lub kontrolera
HBA, oprogramowanie przełącznika Fibre Channel lub Ethernet,
oprogramowanie wirtualizatora pamięci masowych i kontrolery
pamięci cache w macierzy. To wersja uproszczona – w praktyce
jest to proces znacznie bardziej złożony.
Poszczególne warstwy powstawały wraz z rozwojem koncepcji
architektur przetwarzania danych. Każda z nich może pochodzić
od innego dostawcy, zachowana jest więc separacja – baza
danych nie komunikuje się bezpośrednio z macierzą, lecz
korzysta z pośredników, tłumaczy, interpretatorów. Nie ma
zatem wpływu na to, jak jej żądania zostaną przetworzone. Na
poziomie uniwersalnej, scentralizowanej macierzy dane z bazy
obsługiwane są w sposób statystyczny, tak samo, jak wszystkie
inne żądania I/O. To, czy trafią do bufora cache, a później do
grupy dyskowej właściwej dla nich z punktu widzenia wydajności, nie jest decyzją aplikacji, lecz oprogramowania macierzy,
które optymalizuje przetwarzanie z perspektywy całości
swojego obciążenia.
Aby zoptymalizować takie środowisko, potrzebny jest administrator z otwartą głową i zestawem narzędzi do śledzenia
danych w ich wędrówce przez poszczególne warstwy. Taki
człowiek musi rozumieć dogłębnie charakter przetwarzania
i jego przełożenie na wymagania wobec zasobów. Musi potrafić
skonfigurować środowisko tak, by poszczególne warstwy
przynajmniej sobie nawzajem nie przeszkadzały. O takiego
eksperta jednak coraz trudniej. I właśnie dlatego, innowacje w tej
dziedzinie idą obecnie w kierunku upraszczania, a także
efektywniejszego przekazywania „intencji” z warstwy aplikacyjnej do warstw niższych.
W dziedzinie infrastruktury samodzielnie optymalizującej swoje
działanie na bieżąco, zgodnie z potrzebami aplikacji (ang.
application-aware infrastructure), przynajmniej na ten moment,
liderem zdecydowanie jest Oracle. Jako wiodący producent
oprogramowania, a jednocześnie platform sprzętowych, może
je wzajemnie stroić, uzyskując znacznie lepsze efekty, niż w przypadku oprogramowania uniwersalnego, uwzględniającego
wiele możliwych architektur i konfiguracji.
„(…) baza danych nie komunikuje się bezpośrednio
z macierzą, lecz korzysta z pośredników, tłumaczy,
interpretatorów. Nie ma zatem wpływu na to, jak jej
żądania zostaną przetworzone. Aby zoptymalizować
takie środowisko, potrzebny jest administrator
z otwartą głową (…). Taki człowiek musi rozumieć
dogłębnie charakter przetwarzania i (…) potrafić
skonfigurować środowisko tak, by poszczególne
warstwy przynajmniej sobie nawzajem nie
przeszkadzały. O takiego eksperta jednak coraz
trudniej. I właśnie dlatego, innowacje w tej
dziedzinie idą obecnie w kierunku upraszczania,
a także efektywniejszego przekazywania „intencji”
z warstwy aplikacyjnej do warstw niższych”
Niezależnie od optymalizacji na styku sprzętu i oprogramowania, Oracle stara się wprowadzać także całkiem nowe pomysły.
Już w wersji 11g serwera Oracle pojawiły się ważne nowości
automatycznie optymalizujące wydajność, w szczególności
Direct NFS – klient NFS wbudowany w silnik bazy danych,
Hybrid Columnar Compression (HCC), a także funkcje
natychmiastowego wykonywania kopii bazy, znane jako
CloneDB. W wersji 12c mamy do czynienia z całą falą dalszych
istotnych optymalizacji. Na szczególną uwagę zasługują: Oracle
Intelligent Storage Protocol (OISP), Heat Maps, oraz Automatic
Data Optimization (ADO).
Wyższa inteligencja pomiędzy warstwami
Koncepcja protokołu OISP zakłada, że serwer baz danych
instruuje podsystem dyskowy o tym, jaki jest charakter zapisywanych danych, i jak należy traktować je z punktu widzenia
wydajności. Każdy typ danych – pliki baz danych, bieżące
zmiany, sumy kontrolne, logi transakcyjne, logi archiwalne itd.
– otrzymuje własny, odrębny priorytet zapisu, kontrolowany
poprzez parametr write bias (proporcja zapisów do odczytów
w przyznanym oknie operacji I/O). OISP może także stosować
różne wielkości bloków danych dla poszczególnych typów
danych, co jest rewolucją z punktu widzenia efektywności
zarządzania pojemnością przeznaczoną na bazy danych.
Mając informacje o udziałach sieciowych i wykorzystywanych
przez nie grupach dyskowych, system plików może zapisywać
dane różnego rodzaju w odpowiednich dla nich lokalizacjach.
W typowej instalacji środowiska Oracle administrator musi
zdefiniować nawet siedem różnych przestrzeni dyskowych na
poszczególne rodzaje danych. Aktywując OISP administrator nie
musi już manualnie definiować odrębnych udziałów sieciowych.
Serwer baz danych całkowicie autonomicznie instruuje system
plików, by stworzył udziały sieciowe, i nie siedem, a tylko dwa.
Jeden z nich zostaje przeznaczony na dane, zmiany i sumy
kontrolne, drugi zaś na wszystkie rodzaje logów. Z tej perspektywy, OISP znacznie ogranicza ilość pracy administratora, np. w celu
stworzenia nowych baz danych dla środowisk testowych.
Ogranicza także możliwość popełnienia błędu konfiguracyjnego,
skutkującego pogorszeniem wydajności środowiska.
„[Dzięki OISP] Każdy typ danych – pliki baz danych,
bieżące zmiany, sumy kontrolne, logi transakcyjne,
logi archiwalne itd. – otrzymuje własny, odrębny
priorytet zapisu, kontrolowany poprzez parametr
write bias (proporcja zapisów do odczytów
w przyznanym oknie operacji I/O). OISP może także
stosować różne wielkości bloków danych dla
poszczególnych typów danych, co jest rewolucją
z punktu widzenia efektywności zarządzania
pojemnością”
Trzeba w tym miejscu zaznaczyć, że do poprawnego działania
protokołu OISP wymagany jest stworzony jeszcze przez Sun
Microsystems i intensywnie rozwijany przez Oracle system plików
ZFS, który jest jednocześnie menedżerem woluminów. Sam ZFS
dostępny jest obecnie w systemach pamięci masowych Oracle ZFS
Storage Appliance – dedykowanych dla środowisk Oracle. Czy OISP
będzie dostępny także na platformach innych producentów,
wyposażonych w system plików ZFS rozwijany na zasadach open
source (www.openzfs.org) – tego na razie nie wiemy.
Automatyczna optymalizacja zbiorów danych
Wydajność można optymalizować także poprzez eliminację
nadmiaru przetwarzanych danych. W Oracle 12c pojawiły się
nowe rozszerzenia języka SQL, dzięki którym dane nie wykorzystywane na bieżąco są kompresowane. Oracle zastosował tu
m.in. hybrydową technologię kompresji. Metoda HCC – Hybrid
Columnar Compression polega na grupowaniu rekordów w
niewielkie zestawy, zwane Compression Units, a następnie
transponowaniu ich w ramach tychże zestawów do postaci
kolumnowej. Dzięki dużej jednorodności danych w ramach
kolumn oraz odpowiedniej optymalizacji algorytmicznej,
możliwa jest bardzo silna kompresja – rzędu powyżej 10x.
Środowisko Oracle 12c samodzielnie zbiera informacje o tym,
które dane są najbardziej zmienne, i które są najczęściej
odczytywane. Funkcje analityczne Heat Maps analizują
częstotliwość wykorzystania danych na dowolnym zadanym
poziomie – rekordów, stron bazy danych, czy też obiektów
bazy danych, np. tabel. Na tej podstawie administrator może
tworzyć polityki Automatic Data Optimization (ADO), służące
do automatyzacji zarządzania danymi z punktu widzenia
szybkości dostępu do nich. Platforma Oracle 12c wykonuje
zdefiniowane polityki automatycznie, ale istnieje również
możliwość aktywowania ich ad hoc.
Dotychczas stosowane optymalizacje związane z kompresją
dotyczyły głównie danych składowanych na potrzeby analiz
i raportowania (hurtownie danych). W wersji 12c kompresja
objęła także dane na bieżąco aktualizowane, a więc transakcyjne. Oprócz różnych poziomów wydajności (performance tiers)
wynikających z różnej wydajności grup dyskowych, Oracle
rozróżnia także kilka poziomów kompresji (compression tiers).
Im starsze lub im rzadziej używane są dane, tym silniejszej
kompresji mogą być poddawane. To o tyle słuszne, że rozmiar
danych przetwarzanych na bieżąco zwykle rośnie powoli,
natomiast dane archiwalne „puchną”, zajmując, często zupełnie
niepotrzebnie, cenne zasoby.
Automatyczne przydzielanie zasobów
aplikacjom w Oracle FS1
Przydzielanie zasobów pamięci masowych środowiskom
aplikacyjnym, a także późniejsze zarządzanie przypisanymi
zasobami w sposób bezpieczny dla trwającego przetwarzania, to jeden z poważniejszych „bólów głowy” administratorów. Również i w tej dziedzinie Oracle stara się wprowadzać
innowacje, czego dowodem są najnowsze macierze
blokowe. Oracle FS1 to druga generacja macierzy Oracle
przeznaczonej do pracy w sieciach SAN. Jest to de facto
kontynuacja rozwoju technologii wywodzącej się z macierzy Pillar Axiom. Oprócz rozbudowanych mechanizmów
zoptymalizowanego dla aplikacji Oracle tieringu, nowe
macierze oferują także automatyczne przydzielanie
zasobów aplikacjom (provisioning). Dzięki temu, a także
dzięki technologiom Heat Maps oraz Automatic Data
Optimization, nowe macierze umożliwiają przygotowanie
systemu pamięci masowych na potrzeby obsługi środowisk
aplikacyjnych za pomocą przysłowiowego „jednego guzika”.
Ile warta jest taka automatyzacja wie ten, kto miał okazję
osobiście konfigurować duże, złożone środowiska i zarządzać nimi, wprowadzając nieustannie zmiany konfiguracyjne zasobów w odpowiedzi na zmieniające się obciążenia,
oczekiwania biznesu, problemy, ograniczenia i różne
inne „względy”.
„Dotychczas stosowane optymalizacje związane
z kompresją dotyczyły głównie danych
składowanych na potrzeby analiz i raportowania
(hurtownie danych). W wersji 12c kompresja objęła
także dane na bieżąco aktualizowane, a więc
transakcyjne. Co więcej, polityki [ADO] mogą
odwoływać się do obiektów biznesowych, takich jak
faktura lub zamówienie, a także odzwierciedlać
reguły biznesowe. Można np. kompresować
i przenosić do archiwum zamówienia 60 dni po
zakończeniu ich realizacji, albo kompresować
dokumenty, które nie zostały otworzone ani razu
w ciągu ostatnich 30 dni”
Przykładowo, rekordy starsze niż 3 miesiące można poddawać
kompresji standardowej, a po 12 miesiącach kompresji silniejszej. Wizja Oracle najwyraźniej zakłada, że jeśli dane zostały
uznane za archiwalne, powinny być skompresowane. Co więcej,
polityki mogą odwoływać się do obiektów biznesowych, takich
jak faktura lub zamówienie, a także odzwierciedlać reguły
biznesowe. Można np. kompresować i przenosić do archiwum
zamówienia 60 dni po zakończeniu ich realizacji, albo kompresować dokumenty, które nie zostały otworzone ani razu w ciągu
ostatnich 30 dni.
CloneDB i wbudowany klient Direct NFS
Technologie optymalizujące pojawiły się już w wersji 11g,
ale z mojego rozeznania wynika, że nie wszyscy klienci Oracle
mieli okazję zapoznać się z nimi. Istotna z punktu widzenia
wydajności jest technologia Direct NFS oraz CloneDB. Oracle
Direct NFS jest zoptymalizowanym klientem NFS (Network File
System), umożliwiającym szybszy i bardziej skalowalny dostęp
do zasobów NFS zlokalizowanych w pamięciach masowych
z dostępem plikowym (NAS). Direct NFS wbudowany jest
bezpośrednio w silnik bazy danych – tak jak funkcje Automatic
Storage Management, służące do komunikacji bazy danych
z pamięciami z dostępem blokowym, działającymi
w sieciach SAN.
Direct NFS gwarantuje szybszy dostęp do danych, niż uzyskiwany z wykorzystaniem klienta NFS działającego jako odrębna
usługa w systemie operacyjnym, poza środowiskiem Oracle.
Wbudowany w bazę Oracle klient Direct NFS pomija warstwę
systemu operacyjnego przy dostępie do danych. Nie wymaga
inicjalnego konfigurowania i późniejszego strojenia. Z punktu
widzenia wydajności ważne jest to, że dane buforowane są
w pamięci cache tylko raz, w przestrzeni użytkownika – nie ma
potrzeby utrzymywania odrębnej kopii danych w przestrzeni
jądra systemu operacyjnego. Efektem jest wzrost wydajności
i mniejsze obciążenie zasobów serwera. Wydajność można
podnieść jeszcze bardziej, rozkładając komunikację z pamięciami masowymi na wiele interfejsów sieciowych serwera bazy
danych, jeśli tylko są dostępne.
„Direct NFS gwarantuje szybszy dostęp do danych,
niż uzyskiwany z wykorzystaniem klienta NFS
działającego jako odrębna usługa w systemie
operacyjnym. (…) pomija warstwę systemu
operacyjnego przy dostępie do danych. Z punktu
widzenia wydajności ważne jest to, że dane
buforowane są w pamięci cache tylko raz,
w przestrzeni użytkownika – nie ma potrzeby
utrzymywania odrębnej kopii danych w przestrzeni
jądra systemu operacyjnego. Efektem jest wzrost
wydajności i mniejsze obciążenie zasobów serwera”
CloneDB to właściwie specyficzne wykorzystanie funkcjonalności Direct NFS. W miejsce tradycyjnego podejścia, w którym
duplikat bazy danych wykonuje się za pomocą narzędzia RMAN,
CloneDB posługując się technologią Direct NFS w sposób
natychmiastowy tworzy klon logiczny na podstawie istniejącej
kopii zapasowej. Klon tworzony jest oczywiście w trybie
copy-on-write – jedynie bloki które ulegają zmianie zachowywane są lokalnie, podczas gdy dostęp do niezmienionych danych
uzyskiwany jest z kopi zapasowej. Takie podejście znakomicie
przyspiesza tworzenie klonów baz danych oraz umożliwia
tworzenie wielu odrębnych klonów na bazie pojedynczego
zestawu danych, co znacząco ogranicza wymogi na pojemność
dyskową systemu.
CENTRALA
Advatech Sp. z o.o.
Klecińska 123, 54-413 Wrocław
tel. +48 71 772 66 00
fax. +48 71 798 57 75
e-mail: [email protected]
ODDZIAŁ W POZNANIU
Advatech Sp. z o.o.
Sarmacka 11, 61-616 Poznań
tel. +48 61 828 82 73
fax. +48 61 826 79 50
e-mail: [email protected]
ODDZIAŁ W WARSZAWIE
Advatech Sp. z o.o.
Poleczki 21 , 02-822 Warszawa
tel. +48 22 319 38 70
fax. +48 22 319 38 71
e-mail: [email protected]
ODDZIAŁ W KATOWICACH
Advatech Sp. z o.o.
Kolista 25/23, 40-486 Katowice
tel. +48 32 735 03 16
fax. +48 32 735 03 16
e-mail: [email protected]
W świecie systemów IT rozszerzanie się zakresu skali integracji to zja-
w zamian jest dla nas najlepszym dowodem profesjonalnego podejścia
wisko nadające tempo rozwojowi infrastruktury. Dziś już nikt nie zasta-
do realizowanych usług i rzetelnego wywiązywania się z projektów.
nawia się specjalnie nad wyborem rodzaju procesora pod względem
zakresu jego instrukcji, zaciera się granica pomiędzy firmware a syste-
WŚRÓD OBSZARÓW DZIAŁALNOŚCI ADVATECH WYRÓŻNIĆ MOŻNA:
mem operacyjnym a jako element infrastruktury traktowany jest silnik
•projektowanie i wdrażanie infrastruktury IT w architekturze
bazy danych i platforma aplikacyjna. Misją Advatech w krajobrazie
wysokiej dostępności
ciągle rozwijających się technologii cyfrowych jest takie wspomaganie
• systemy bezpieczeństwa, archiwizacji i backup’u danych
swoich Klientów i Partnerów, aby w zmieniającej się rzeczywistości mak-
•obsługę serwisową infrastruktury informatycznej
symalnie efektywnie wykorzystywać pojawiające się na styku kolejnych
warstw infrastruktury synergie pozwalając na stały, organiczny wzrost
z gwarantowanymi SLA
• systemy pracy grupowej i zarządzania informacją
w tempie zmian narzucanych przez nowe technologie i rozszerzanie się
definicji pojęcia «infrastruktura».
Jesteśmy wśród najdynamiczniej rozwijających się firm IT na rynku
środkowoeuropejskim według prestiżowego rankingu Deloitte
Firma Advatech jako integrator rozwiązań informatycznych działa na
Technology Fast 50. Nieprzerwanie od 2004 roku otrzymujemy tytuł
rynku IT od 1998 roku. Od początku istnienia sukcesywnie zwiększamy
„Gazeli Biznesu” w zestawieniu „Pulsu Biznesu”. Poza tym bierzemy
portfolio oferowanych rozwiązań i podnosimy ich jakość balansując dy-
udział m.in. w takich ogólnopolskich rankingach jak Computerworld 200,
namikę rozwoju pomiędzy tym co nowe i ekscytujące oraz tym co spraw-
Book of Lists, w raportach Teleinfo 500 czy magazynu Home&Market.
dzone i stabilne. Staramy się dbać o każdy szczegół współpracy na wszyst-
Coraz wyższe lokaty w wymienionych zestawieniach świadczą o dyna-
kich etapach kontaktu z Klientem – zaufanie jakim jesteśmy obdarzani
micznym rozwoju firmy.
Oracle jest kluczowym partnerem Advatech na rynku rozwiązań infra-
•wsparcie przy opracowywaniu architektury i planowaniu implemen-
strukturalnych w zakresie przede wszystkim systemów wysokiej dostęp-
tacji środowiska uwzględniające aspekty wysokiej dostępności (HA),
ności dla platformy aplikacyjnej i bazodanowej Oracle, opartej na systemach SPARC/Solaris, x86/Solaris, x86/Oracle Linux, rozwiązaniach
storage wykorzystujących system plików ZFS, blokowych macierzach
serii FS oraz unikalnych bibliotekach taśmowych klasy Enterprise. W zakresie promowanych przez Advatech rozwiązań znajdują się również
systemy wirtualizacji (Oracle Virtual Manager), archiwizacji (SAM-QFS)
oraz połączenie elementów infrastruktury w formę zintegrowaną
– Engineered Systems: Exadata, Exalogic, SuperCluster.
odporności na awarie krytyczne (DR), backup’u i archiwizacji
•dostawę, implementację i kompleksową obsługę
serwisową infrastruktury
•planowanie migracji i optymalizację konfiguracji
systemów produkcyjnych
•proaktywne wsparcie, przeglądy konfiguracji i wydajności środowiska,
warsztaty szkoleniowe z transferami wiedzy
•zaawansowaną analitykę procesów przetwarzania w oparciu
o narzędzia Oracle takie jak Oracle Enterprise Manager.
W zakresie współpracy z Oracle Advatech oferuje swoim Klientom kompleksowe portfolio usług uzupełniających platformę sprzętu i oprogramowania
Wśród referencyjnych klientów Advatech w obszarze współpracy
Oracle w obszarze pełnego cyklu życia platformy i wszystkich aspektów
z Oracle znajdują się największe firmy z sektora finansowego, sektora
utrzymania i zarządzania środowiskiem, obejmujące między innymi:
telekomunikacyjnego, przemysłu oraz instytucje sektora publicznego.
© 2015 Advatech. Znaki towarowe: nazwa Advatech i logotyp Advatech są znakami towarowymi lub zarejestrowanymi znakami towarowymi firmy Advatech. Oracle jest zarejestrowanym
znakiem towarowymi firmy Oracle. Nazwa Intel oraz logotyp Intel są zarejestrowanymi
znakami towarowymi firmy Intel Corporation w USA i pozostałych krajach. Inne nazwy firm,
produktów i usług mogą być znakami towarowymi albo usługowymi innych podmiotów.

Podobne dokumenty