Baza w tonacji "g"

Eleganckie rozwiązania

Baza Oracle 10g wnosi kilka udoskonaleń w dziedzinie obróbki i przechowywania danych w bazie. Pierwszą z nowości jest umieszczenie funkcji wyszukiwania wyrażeń regularnych bezpośrednio w motorze bazy danych i uwzględnienie ich w składni SQL i PL/SQL. Dzięki temu dane nie muszą być przesyłane partiami pomiędzy bazą a zewnętrzną w stosunku do niej aplikacją realizującą funkcje parsera i w rezultacie wydajność aplikacji wykorzystujących parsowanie (a takich jest większość) znacząco wzrasta. Dodatkowym udogodnieniem jest uwzględnienie w składni SQL i PL/SQL kilku typowych odmian operacji parsowania. Dzięki temu takie funkcje, jak wskazanie: ciągów dokładnie odpowiadających wyrażeniu, wszystkich ciągów zawierających wyrażenie, miejsca wystąpienia wyrażenia w ciągu czy też zastąpienia wszystkich wystąpień wyrażenia innym wyrażeniem są dostępne "od ręki", bez konieczności każdorazowego implementowania ich na nowo.

W bazie 10g pojawiły się dwa nowe typy danych przeznaczone do reprezentacji liczb zmiennoprzecinkowych oparte na standardzie IEEE 754 Standard for Binary Floating Point Arithmetic: binary_float (typ 32-bitowy) i binary_double (typ 64-bitowy). Operacje na liczbach zmiennoprzecinkowych występują często w aplikacjach analitycznych i przestrzennych, choć nie tylko. Zastosowanie zapisu bitowego dla liczb zmiennoprzecinkowych, zamiast dotychczasowego zapisu w zwykłym, dziesiętnym formacie number, pozwala na dużą oszczędność pamięci i miejsca w systemach pamięci masowych. Ze względu na to, że pola w nowych formatach mogą być indeksowane, znacznie przyspieszy to ich wyszukiwanie i odczyt. Oczywiście, nowe formaty to jedynie opcja dla projektanta - typ number nadal pozostaje podstawowym sposobem reprezentacji liczb w bazach Oracle.

Zmiany zaszły też w dziedzinie danych typu LOB (large object), wykorzystywanego do obsługi plików multimedialnych. Dotychczas maksymalna wielkość obiektu tego typu nie mogła przekroczyć 4 GB, obecnie dopuszczalna wielkość pojedynczego obiektu typu LOB może sięgać iloczynu 4 GB i przyjętej wielkości bloku danych w bazie (od 2 do 32 KB), a więc od 8 do 128 TB! To jednocześnie maksymalna przestrzeń, jaką mogą w bazie zająć wszystkie obiekty typu LOB łącznie. W bazie 10g Oracle usprawnił także obsługę tymczasowych obiektów LOB - przy równoległym odczycie tego samego obiektu przez wielu użytkowników, dla każdego z nich jest tworzony jedynie licznik kopii, zamiast rzeczywistej kopii obiektu. Obniża to wymagania co do wielkości pamięci i poprawia wydajność obsługi tego rodzaju obiektów.

Maksymalna dopuszczalna wielkość bazy danych w Oracle 10g została zwiększona do 8 EB (Exabajtów), czyli 8 mln TB.

Filary konstrukcyjne

W bazie Oracle 10g pojawiły się nowe - obok imp/exp, Oracle Streams i Oracle Data Guard - mechanizmy eksportu/importu danych i metadanych. Mechanizm określany jako Data Pump został stworzony z myślą o szybkim przenoszeniu dużych ilości danych pomiędzy bazami. W poprzednich wersjach baz Oracle terminem Data Pump był określany mechanizm importowania danych do bazy z plików tekstowych.

Proces przenoszenia danych w ramach mechanizmu Data Pump w Oracle 10g jest bardzo szybki - wielokrotnie szybszy niż przy dotychczas stosowanym eksporcie/imporcie przestrzeni tabel czy pojedynczych tabel za pomocą skryptów SQL Plus czy procedur składowanych. Wynika to z faktu, że w przypadku Data Pump rzeczywiste kopiowanie danych odbywa się nie na poziomie tabel, lecz plików. Ponadto, w przypadku wskazania całej partycji jako zakresu, istnieje możliwość stworzenia wielu równoległych strumieni danych, co przy założeniu braku ograniczeń po stronie sieci/macierzy powinno przyspieszyć kopiowanie dużych zestawów danych. Zastosowanie tej metody ma jednak dodatkowe, szczegółowe obwarowania, np. niektóre rodzaje obiektów można przenosić tylko jednostrumieniowo, inne zaś - tylko wielostrumieniowo.

Nowy mechanizm Data Pump zawiera znacznie rozbudowane możliwości drobnoziarnistego określania zakresu obiektów do importu/eksportu. Oprócz całych partycji, przestrzeni tabel, tabel czy indeksów za pomocą funkcji Data Pump można przenosić tylko wskazane widoki, rekordy i kolumny lub ich części.

Dane w oku cyklonu

Na odbywającej się w ubiegłym tygodniu konferencji Oracle World izraelska firma InfoCyclone zaprezentowała oparte na systemie Linux serwery cache służące do przyspieszania dostępu do danych najczęściej pobieranych z bazy. Obecnie rozwiązanie współdziała tylko z bazami Oracle 8.0.5 wzwyż i 9i, jednak w przyszłym roku firma zamierza udostępnić analogiczne serwery dla baz IBM DB2 UDB. Podobne rozwiązania oferuje amerykańska firma Appfluent Technologies.


TOP 200