48_53_bazy.pdf
(
1335 KB
)
Pobierz
5699627 UNPDF
praktyka
Systemy bazodanowe dla Linuksa
Systemy bazodanowe
Marcin Barczyk
Baza danych – to hasło kojarzy się z informatyką lub z czymś niesłychanie skomplikowanym,
wymagającym zasobów sprzętowych, ludzkich i nie tylko. Gdzieś w głowie kołacze się uporczywie
słowo
mainframe
. Skojarzenia te są jak najbardziej słuszne, choć więcej mają wspólnego z początkami
systemów bazodanowych (przynajmniej tych komputerowych) niż ze współczesnością.
ście na wielkich komputerach (innych właściwie
nie było), pracujących pod kontrolą dedykowa-
nych systemów operacyjnych, najczęściej różnych
wariantów systemu UNIX. Dziś moc obliczeniowa zwykłych
komputerów osobistych (zapewne i lepszych kalkulatorów)
znacznie przewyższa moc tamtych
mainframe'ów
, a system
Linux jest doskonałym środowiskiem pracy dzisiejszych
systemów baz danych.
Należy zaznaczyć, że znacznie poszerzyła się domena
zastosowań systemów
DBMS
(ang.
Database Management
Systems
), traiły niemalże pod strzechy, chociaż początkowo
były stosowane w systemach księgowych (legendarny
SAP
)
czy bankowych. Dziś obecne są we wszystkich dziedzinach
życia i trudno sobie wyobrazić forum internetowe, system re-
zerwacji, sklep internetowy, Wikipedię czy system portalowy
bez zastosowania systemów baz danych.
To upowszechnienie stosowania
DBMS
ma wiele przy-
czyn, ale pierwszą i zapewne najważniejszą jest dostępność
rozwiązań
open
source
na wielu polach, które nie ustępują
swoim komercyjnym odpowiednikom. Ma to również nie-
podważalną zaletę, czyli bardzo niski bądź zerowy koszt.
Przełomem było także opracowanie wspólnych rozwiązań,
pozwalających na łączenie się z różnymi systemami baz da-
nych w taki sam sposób (
ODBC, JDBC, DBI, PDO
, ....), co
byłoby trudne bez istnienia języka
SQL
. Jeżeli chcemy po-
prawnie ocenić możliwości poszczególnych systemów bazo-
danowych i wybrać ten właściwy do naszych zastosowań, to
konieczne jest poznanie odrobiny teorii.
Jak podaje Wikipedia: „Baza danych – to zbiór danych
zapisanych w ściśle określony sposób w strukturach, odpo-
wiadających założonemu modelowi danych. W potocznym
ujęciu obejmuje dane oraz program komputerowy wyspecja-
lizowany do gromadzenia i przetwarzania tych danych. Pro-
gram taki (często zestaw programów) nazywany jest Sys-
temem zarządzania bazą danych (ang.
DataBase Manage-
ment System, DBMS
). W ścisłej nomenklaturze baza da-
nych oznacza zbiór danych, który zarządzany jest przez sys-
tem
DBMS
”. W większości współczesnych
DBMS
mode-
lem danych jest model relacyjny (stąd też nazwa – relacyj-
ne bazy danych), a podstawowym terminem w modelu rela-
cyjnym jest relacja (ang.
Relation
). Relacja jest deiniowana
jako zbiór kratek o takich samych atrybutach, co zwykle jest
realizowane jako tabela, składająca się z rekordów (wierszy)
48
listopad 2007
dla Linuksa
P
ierwsze bazy danych funkcjonowały rzeczywi-
praktyka
Systemy bazodanowe dla Linuksa
o identycznych zestawach pól (kolumn). Każda
tabela powinna mieć klucz główny, czyli kolum-
nę (lub zestaw kolumn), której zawartość jedno-
znacznie pozwala zidentyikować rekord w ta-
beli. Gdyby przykładowa tabela
ludzie
za-
wierała dane osób w Polsce, to kluczem głów-
nym mógłby być numer PESEL, który jest uni-
kalny dla każdego obywatela. Oprócz klucza
głównego tabele mogą mieć także klucze ob-
ce, jakim jest kolumna jednej tabeli, której za-
wartość jest kluczem głównym innej tabeli, czy-
li gdybyśmy w naszej bazie danych mieli oprócz
tabeli
ludzie
, tabelę
posiadane_samochody
,
to mogłaby zawierać, oprócz danych pojazdu,
także kolumnę z numerem PESEL właściciela,
a wtedy ta kolumna stałaby się kluczem obcym
w tabeli
posiadane_samochody
. Kiedy w tabe-
li pojawia się klucz obcy, to pojawia się także
relacja (ang.
Relationship
, nie mylić ze wspo-
mnianą wcześniej, relacją –
relation
) pomiędzy
tabelami
ludzie
i
posiadane_samochody
. Ro-
dzi się pytanie, dlaczego to wszystko dzielić na
dwie tabele, jeśli dane właściciela mogłyby zo-
stać wpisane w tabeli z samochodami. Przy-
czyną jest uniknięcie redundancji, czyli zbęd-
nego dublowania danych. Gdyby nasz obywa-
tel posiadał dwa samochody w wariancie z jed-
ną tabelą, jego pełne dane należałoby wpisać
dwukrotnie (nie wspominając o większej ilości
aut), a to może prowadzić do niespójności da-
nych (dane w jednym rekordzie zostaną zaktu-
alizowane, a w innych nie).
Jednym z podstawowych wymagań stawia-
nych
DBMS
jest obsługa transakcji, która jest
zbiorem podstawowych operacji na bazie da-
nych tworzących niepodzielną całość. Transak-
cję musi charakteryzować
ACID
(skrót od an-
gielskich słów:
atomicity, consistency, isola-
tion, durability
).
zamkniętych transakcji, na przykład po na-
głej awarii zasilania czy sprzętu.
•
Atomicity
– atomowość, niepodzielność.
Oznacza, że każda transakcja wykona się
w całości albo wcale, czego książkowym
przykładem jest operacja dokonywania
przelewu na rachunkach bankowych. Mu-
si wykonać się równocześnie zmniejsze-
nie stanu konta, z którego dokonujemy
przelewu i zwiększenie stanu konta doce-
lowego.
•
Consistency
– spójność danych. Oznacza
konieczność zachowania integralności da-
nych zarówno na początku, jak i na koń-
cu transakcji. Jeśli mamy nałożony na na-
sze dane warunek, to wszystkie salda mu-
szą być dodatnie, a transakcja, która spo-
wodowałaby pojawienie się salda ujemne-
go na którymkolwiek z nich, nie może za-
kończyć się sukcesem.
•
Isolation
– izolacja, czyli każda z wykonu-
jących się równocześnie transakcji, musi
zachodzić tak, jakby pozostałe nie zachodzi-
ły, a żadne dane stanów pośrednich trans-
akcji nie mogą być widoczne w innych
transakcjach. Posługując się przykładem ban-
kowym: operator programu widzi zamia-
ny, jakie zaszły na kontach, natomiast nie
widzi stanu pośredniego, kiedy na pierw-
szym koncie zniknęły pieniądze, a na dru-
gim jeszcze się nie pojawiły.
•
Durability
– trwałość. Oznacza, że system
potrai uruchomić się oraz udostępnić spój-
ne i nienaruszone dane, zapisane w ramach
Informacje zgromadzone w bazie danych mo-
żemy pobierać czy modyikować, zadając za-
pytania formułowane w języku
SQL
(ang.
Structured Query Language
), który powstał w
laboratoriach irmy IBM na początku lat 70.
XX w. Zyskując coraz większą popularność,
był wdrażany przez kolejne irmy w swoich
produktach, stając się właściwie synonimem
systemów bazodanowych, które dzisiaj czę-
sto są nazywane bazami
SQL
. Upowszechnie-
nie języka
SQL
oraz jego dalszy rozwój spowo-
dowały konieczność standaryzacji.
SQL
stał się
standardem ISO w 1986 r., a w związku z jego
dalszym rozwojem opracowano kolejne wersje
standardu, tzw.
SQL89
,
SQL92
,
SQL99
i ostat-
ni
SQL2003
. O ile pierwsze dwie specyikacje
były próbą ujednolicenia funkcji oferowanych
przez różne istniejące systemy bazodanowe,
o tyle
SQL92
wyznaczał ścisły standard i prze-
widywał dodanie nowych funkcjonalności,
przewidzianych do implementacji. Z punktu
widzenia programisty - im bardziej dany ser-
wer baz danych będzie zgodny ze standardami,
tym bardziej nasz kod będzie przenośny do in-
nych
DBMS
, a wyższy standard języka będzie
realizował tym, że efektywniej będzie wyko-
rzystywał sprzęt.
Przeważnie systemy zarządzania bazami
danych mają swój dedykowany program klien-
cki, umożliwiający manipulację danymi, naj-
częściej jest to tekstowa konsola. Coraz więcej
DBMS
dostarczanych jest wraz z pakietem pro-
gramów towarzyszących i pracujących w try-
bie graicznym, a umożliwiających łatwe zarzą-
dzanie danymi, uprawnieniami, a także admi-
nistrowanie serwerem baz danych. Bogactwo
tych narzędzi wpływa na komfort użytkowania
Popularne standardy
interfejsów baz danych
Rysunek 1.
Zrzut ekranu programu phpMyAdmin
• ODBC –ang.
Open DataBase Con-
nectivity
– otwarte łącze danych 0150
–
API
niezależne od systemu opera-
cyjnego, języka programowania czy
systemu baz danych.
• JDBC – ang.
Java DataBase Connec-
tivity
– łącze do baz danych w języku
Java.
• DBI – ang.
DataBase Interface
– stan-
dard łącza baz danych dla języka PERL.
• PDO – ang.
PHP Data Objects
– po-
jawiające się w PHP 5 rozszerzenie
języka, ujednolicające sposób obsłu-
gi baz danych różnych producentów.
www.lpmagazine.org
49
praktyka
Systemy bazodanowe dla Linuksa
Rysunek 2.
Zrzut ekranu programu Navicat w wersji dla MySQL
zmiana licencji była powodem zastąpienia
biblioteki
MySQL
, domyślnie załączanej do
PHP
, biblioteką
SQLite
.
Serwer MySQL
dostarczany jest wraz z pa-
kietem narzędzi umożliwiających zarządzanie
nim, dostęp do danych oraz pełnienie takich
zadań jak naprawa uszkodzonych tabel, wy-
konywanie
backupu
itd. Podstawowym narzę-
dziem jest konsolowy program
mysql
, którego
można używać zarówno w trybie interaktyw-
nym (wpisując polecenia z linii komend), jak
i wsadowym (np. wewnątrz skryptów powłoki).
Administrację zaawansowanymi ustawienia-
mi serwera zapewnia także program
mysqlad-
min
. Bardzo popularny jest również
frontend:
„phpMyAdmin
”, napisany w PHP, a obsługiwa-
ny poprzez przeglądarkę internetową i dlatego
znajduje zastosowanie w irmach, umożliwia-
jących hosting baz danych. Obsługa jest dość
intuicyjna, a interfejs przetłumaczony na po-
nad 50 języków. Wersja 5 serwera MySQL jest
dostarczana wraz z narzędziami pracującymi
w trybie graicznym:
bazy danych, ponieważ nie każdy programi-
sta jest ortodoksyjnym zwolennikiem białych
literek na czarnym tle. Niesłychanie ważna
jest także dostępność wielu interfejsów dla
różnych języków programowania oraz ste-
rowników, takich jak:
ODBC, JDBC, DBI
czy
PDO
.
Na rynku funkcjonuje bardzo wiele sys-
temów bazodanowych, ale znakomita więk-
szość z nich może pracować w środowisku
systemu Linux; pozwoliłem sobie opowie-
dzieć tylko o kilku, kierując się głównie ich
popularnością. Oprócz produktów darmo-
wych (
MySQL, Postgres, Firebird
), chciałbym
zwrócić uwagę na systemy komercyjne ta-
kich gigantów, jak:
Oracle
czy
IBM
. Koja-
rzyły się głównie z ogromnymi wymagania-
mi sprzętowymi, a przede wszystkim astro-
nomiczną ceną, jednak warto wiedzieć, że
producenci udostępnili darmowe wersje swo-
ich baz danych, często w pełni funkcjonalne,
pozwalające na oswojenie się z nimi i w razie
potrzeby gładkie przejście na „duże” wersje
tych baz, czyli doskonałe skalowanie. Nie do
pogardzenia jest także możliwość zdobycia
doświadczenia w pracy z darmową wersją ta-
kiej bazy danych, będące doskonałym atutem
przy poszukiwaniu pracy czy negocjowaniu
podwyżki.
często spotykanym systemem bazodanowym
w zastosowaniach internetowych, a także naj-
szybszym serwerem bazodanowym open sour-
ce. Jednak nie ma róży bez kolców, ponieważ
ten system bardzo długo nie obsługiwał nawet
transakcji, a klucze obce traktował „po maco-
szemu”, więc wersja 5.2 serwera
MySQL
zbli-
żyła się znacząco do standardu
SQL92
i wpro-
wadziła elementy późniejszych specyikacji,
jednak nie w każdej dystrybucji Linuksa jest
dostępna aktualna wersja.
Serwer MySQL
może przechowywać dane
w kilku formatach plików, m.in.:
•
MySQL Administrator
(program, wspoma-
gający zarządzanie bazami danych, konta-
mi użytkowników oraz kontrolowanie sta-
nu systemu);
•
MySQL Query Browser
(umożliwia łatwe,
wizualne konstruowanie zapytań i ich op-
tymalizację oraz łatwe przeglądanie wyni-
ków zapytania);
•
MySQL Migration Toolkit
(ułatwia migra-
cję danych z komercyjnych systemów ba-
zodanowych);
•
MyISAM
– najstarszy typ, nie obsługujący
transakcji oraz kluczy obcych, za to umoż-
liwiający wyszukiwanie pełnotekstowe,
a w starszych wersjach
MySQL
był typem
domyślnym składowania danych; obecnie
wypierany przez
InnoDB
;
•
InnoDB
– wprowadza transakcje oraz ob-
sługę kluczy obcych i został przygotowa-
ny przez irmę
Innobase Oy
; obecnie prze-
jętą przez
Oracle Corporation;
•
MEMORY
– najszybszy typ tablicy, po-
nieważ cała jej zawartość jest przechowy-
wana w pamięci RAM komputera; nieste-
ty poważną wadą jest jej ulotność, dlatego
że po wyłączeniu komputera nie zachowu-
ją się dane.
Szczegółowe informacje dostępne są na stro-
nie:
http://www.mysql.com (
jęz. angielski).
Bardzo przyjazne jest także narzędzie
komercyjne, udostępniane w trzydziestodnio-
wej wersji próbnej –
Navicat
(
http://www.
navicat.pl
).
PostgreSQL
PostgreSQL
jest drugim najbardziej znanym
systemem bazodanowym
open
source
i podob-
nie jak
MySQL
baza
ta ma wersje dla ogromnej
liczby platform sprzętowych i systemowych.
Z systemami
Linux
/
UNIX
jest związana wła-
ściwie od początku swojego istnienia, jedynie
wersje 7 potrzebowały w środowisku Windows
emulacji
Cygwin
do pracy, a obecnie obowią-
zująca wersja to 8.2.4.
PostgreSQL
wywodzi
się z projektu
POSTGRES
(
Post
Ingres
), roz-
wijanego na Uniwersytecie Berkeley na podsta-
wie
DBMS
Ingres
, który skomercjalizował się
w latach 80. XX w. Model danych zastosowany
MySQL
Jak twierdzi irma
MySQL AB
, to „najpopu-
larniejsza baza danych open source na świe-
cie” i nie jest to zupełnie czcza przechwałka.
Ze względu na łatwość instalacji w różnych
środowiskach, prostotę koniguracji i obsługi,
a zarazem całkiem duże obciążanie, jest bardzo
Pewnym ograniczeniem w wykorzystaniu
My-
SQL
stanowi licencja
GPL
, ponieważ serwer
jest darmowy tak długo, jak długo nam służy.
Jeśli natomiast chcielibyśmy napisaną przez
nas aplikację sprzedać wraz z serwerem, to mu-
sielibyśmy nabyć licencję komercyjną, a ta
50
listopad 2007
praktyka
Systemy bazodanowe dla Linuksa
w
PostgreSQL
nie jest czysto relacyjny, ale re-
lacyjno-obiektowy.
Licencja zezwala na komercjalizację pro-
jektu, dlatego też podejmowano wiele prób
w tym kierunku, rozpoczęty w 2004 r. projekt
EnterpriseDB
– uzupełnienia
Postgresa
o funk-
cjonalności, które mają pozwolić, aby na nim
mogły pracować aplikacje napisane dla baz da-
nych
Oracle.
Jest to oprogramowanie tworzone z dużym
naciskiem na jak najpełniejszą zgodność ze
standardami, tak więc implementuje większość
SQL2003
. Jest wolniejszy niż
MySQL
, jednak
oferuje wiele przydatnych opcji, jak:
zarządzanie narzędziami do replikacji
Slony-I
.
Dla
PostgreSQL
istnieje także wersja wspo-
mnianego wcześniej programu
Navicat
.
Informacje na temat serwera Firebird mo-
żemy uzyskać w internecie pod adresem:
http://
www.irebirdsql.org
– jednak dokumentacja tam
dostępna, zwłaszcza w porównaniu z poprzed-
nio opisanymi serwerami, jest co najmniej uboga.
Firebird
Zwany czasem
FirebirdSQL
jest relacyjną bazą
danych, zgodną ze standardem
SQL92
, oferują-
cą wiele funkcjonalności ze standardu
SQL2003
.
Działa pod Linuksem, Windowsem oraz więk-
szą częścią systemów Unixowych.
Firebird
jest
zarządzany i rozwijany przez
Firebird Project
na
bazie odgałęzienia od projektu
open source
bazy
danych
InterBase
irmy
Borland
. Obecna wersja
2.0.1 pochodzi z końca 2006 r.
Firebird
jest roz-
powszechniany na licencji
InterBase Public Li-
cence
i można go wykorzystywać w zastosowa-
niach zarówno darmowych, jak i komercyjnych
bez konieczności rejestracji czy też wnosze-
nia jakichkolwiek opłat. Serwer
Firebird
moż-
na uruchomić w dwóch głównych trybach: kla-
sycznym i superserwera. Tryb klasyczny to ob-
sługa każdego połączenia do bazy przez utwo-
rzenie kolejnego procesu, natomiast superserwer
obsługuje połączenia jako jeden proces z wie-
loma wątkami; niestety ten tryb nie obsługuje
SMP
(wielu procesorów), więc jeśli zależy nam
na wydajności, a mamy procesor, np. wielordze-
niowy, to tryb klasyczny będzie odpowiedniej-
szy. W odróżnieniu od dwóch poprzednich roz-
wiązań, w
Firebird
każda baza danych jest jed-
nym plikiem; podobnie ma to miejsce, np. w
MS
Access
, natomiast mechanizmy kontroli dostępu
są w trakcie rozbudowy.
Firebird
ma konsolo-
we narzędzia wspomagające pracę z danymi, na-
tomiast manipulacji danymi dokonujemy za po-
średnictwem
isql
, a użytkownikami możemy za-
rządzać dzięki programowi
gsec
.
IBM DB2
Firma IBM jest niekwestionowanym liderem
w świecie informatyki, ponieważ prowadzi
badania w wielu dziedzinach. Także w historii
systemów bazodanowych ma swój wielki roz-
dział. W laboratoriach tej irmy powstawał ję-
zyk
SQL
. Wśród portfolio produktów i usług
IBM znajduje się także system bazodanowy
DB2
, a jest to potężne narzędzie, znajdujące
zastosowanie w środowiskach, wymagających
najwyższej dostępności, wydajności i obciążal-
ności, czyli jeden z tych produktów, które wy-
znaczają standardy w swojej dziedzinie.
DB2
występuje w wielu odmianach i wersjach do-
stępnych na platformy od palmtopów po syste-
my
mainframe
, jednak zwykle przez
DB2
rozu-
mie się
DB2 Enterprise Server Edition
. Pełnej
listy funkcjonalności
DB2
nie sposób tu przyta-
czać, dlatego że wersja, która jest dostępna za
darmo, czyli
DB2 Express-C
, jest pozbawiona
niektórych z nich (głównie tych związanych
z zapewnieniem usług wysokiej dostępności,
czyli replikacji lub klastrowania), niemniej to,
co pozostaje, nadal jest godne uwagi.
Serwer DB2 Express-C
jest w pełni
funkcjonalnym silnikiem bazodanowym bez
ograniczeń funkcjonalnych, natomiast ma
ograniczenie sprzętowe do dwóch procesorów
oraz 4GB pamięci RAM. Sądzę, że nie jest
to istotne ograniczenie dla użytkownika kom-
putera klasy PC.
• bardzo bogate możliwości programowania
po stronie serwera (wiele języków wbudo-
wanych, umożliwiających pisanie własnych
funkcji, dokonujących zmian na danych);
• różne metody indeksowania, m.in. B-drzewa,
tablice haszujące, indeksy GiST oraz bitma-
powe;
• dużą ilość typów danych – oprócz podstawo-
wych także adresy IP, igury geometryczne,
adresy MAC, tablice, pola tekstowe o prak-
tycznie nieograniczonej długości itp.;
ponieważ
PostgreSQL
jest systemem obiekto-
wo-relacyjnym udostępnia wiele funkcji czysto
obiektowych, takich jak dziedziczenie tabel,
operatory wraz z możliwością ich przeciążania
i możliwość deiniowania własnych obiektów;
• widoki;
• podzapytania;
• wielostopniowe zatwierdzanie transakcji;
• wyrażenia regularne;
unikalny sposób radzenia z równoczesnym do-
stępem do danych poprzez współbieżne trans-
akcje przy użyciu
MVCC
(ang.
Multi Version
Concurrency Control
– system kontroli wersji
współbieżnych), co pozwala na łatwą możli-
wość odtworzenia stanu bazy w danym czasie
(
Point-in-time recovery
).
Oprócz tego wszystkiego (a wymieniłem nie-
które)
Postgres
niedomaga w zastosowaniach,
wymagających klastrowania i replikacji, a są to
narzędzia, które powstały i nadal mają ograni-
czoną funkcjonalność lub są płatne, czyli nie-
dostępne zwykłemu śmiertelnikowi, jednak
w większości zastosowań takie rozwiązania nie
są konieczne. Podobnie jak
MySQL
,
Postgre-
SQL
dostarczana jest z aplikacją kliencką
(psql
)
oraz narzędziami do zarządzania serwerem
w trybie tekstowym. Istnieje także świetne na-
rzędzie
pgAdminIII (http://http://www.pgadmin.
org/
), umożliwiające w trybie graicznym opera-
cje na danych, administrację serwerem, a nawet
Rysunek 3.
Zrzut ekranu programu pgAdminIII
www.lpmagazine.org
51
praktyka
Systemy bazodanowe dla Linuksa
Obecna dziewiąta wersja
DB2
nazywana
jest przez IBM systemem hybrydowym, dlate-
go że, oprócz tradycyjnego modelu relacyjnego,
ma dodatkowo wsparcie modelu hierarchiczne-
go do celów przetwarzania dokumentów
XML
,
a model ten bardziej odpowiada ich strukturze.
Wersję
DB2 Express-C
warto wziąć pod
uwagę nie tylko z ciekawości. Ze względu na
doświadczenie zdobyte podczas pracy z tym
systemem, może on znaleźć zastosowanie ko-
mercyjne, a nasza mała aplikacja zyska duże
możliwości skalowania – stosownie do potrzeb,
poprzez zastosowanie wyższych, ale już płat-
nych wersji
DB2
. O zgodności ze standardami,
wysokiej stabilności i niezawodności, jako że
są to cechy charakteryzujące produkty komer-
cyjne (przynajmniej w tej dziedzinie); nie trze-
ba wspominać. Oczywiście
DB2
stawia przed
nami znacznie wyższe wymagania sprzętowe
niż miało to miejsce w przypadku poprzednio
omawianych
DBMS
. Producent zaleca 1 GB
pamięci RAM i co najmniej dwa razy więcej
swapa
, zwracając uwagę, że wymagania te mo-
gą się zmieniać w zależności od złożoności sys-
temu i obciążenia.
Pakiet instalacyjny dla
DB2 Express-C
na-
leży pobrać ze strony:
http://www.ibm.com/soft-
ware/data/db2/express/download.html
po uprzed-
niej rejestracji; niestety plik instalacyjny jest
dosyć duży (ok. 300 MB) i jest to wyłącznie
instalator serwera. Narzędzia do jego obsługi
należy pobrać oddzielnie z tej samej strony.
Szczegółowe informacje dotyczące instalacji
oraz obsługi dostępne są na stronie IBM.
tuacją podobną do IBM. Wielki koncern, zaj-
mujący się produkcją systemów bazodano-
wych, udostępnia nieco ograniczoną wersję
swojego lagowego produktu, wraz z jego za-
awansowanymi technologicznie funkcjami,
szerszej społeczności entuzjastów i develo-
perów albo początkującym administratorom
baz danych.
Obecnie nazwa
Oracle
jest często synoni-
mem bazy danych, choć niekoniecznie słusz-
nie, ponieważ ta wersja serwera
Oracle
ma
także limity uruchomieniowe, a mianowicie
- rozmiar danych użytkownika w pojedyn-
czej bazie danych nie może być większy niż
4GB, system używa do 1 GB pamięci RAM,
a w systemach wieloprocesorowych czy wie-
lordzeniowych używa się tylko jednego pro-
cesora (rdzenia).
Oracle Database XE
jest
dostępne dla systemów Windows oraz wielu
dystrybucji Linuksa, co ciekawsze udostępnia
przygotowane paczki
rpm
dla systemów z ro-
dziny
Red Hata – Mandriva, Novell, Red Hat
Linux, Fedora
oraz
deb
dla
Ubuntu
i
Debia-
na
. Każdy z tych pakietów występuje w wersji
z kodowaniem
Latin1
lub
UNICODE
, a można
je pobrać z
http://www.oracle.com/technology/
software/products/database/xe/htdocs/102xe-
linsoft.html.
Plik instalatora to około 260 MB, do te-
go konieczne jest pobranie i zainstalowanie
klienta (25 MB). Do zarządzania bazą danych
służy oprogramowanie oparte o
web serwer
i
obsługiwane przez przeglądarkę internetową
(jej obecność w systemie jest jednym z wy-
magań instalacyjnych). W tym przypadku ser-
wer ma dość duże wymagania sprzętowe, co
najmniej 256 MB RAM (zalecane 512 MB,
ale i to jest bardzo skromny szacunek) dla ser-
W Sieci
• MySQL:
http://www.mysql.com/products/
database/
• PostgreSQL:
http://www.postgresql.org
• Firebird:
http://www.irebirdsql.org
• IBM DB2 Express-C:
http://www.ibm.com/software/data/
db2/express/
• Oracle 11g:
http://www.oracle.com/global/pl/
database/
wera i kolejne 256 MB dla aplikacji klienc-
kiej. Dodatkowo na dysku potrzeba minimum
1,5 GB dla serwera i 100 MB dla klienta. Jeśli
zamierzamy używać tego komputera do cze-
goś więcej niż tylko uruchomienia bazy da-
nych, to raczej powinien dysponować proce-
sorem z tych nowszych. Jak na produkt ko-
mercyjny przystało,
Oracle 10g
ma pełną do-
kumentację oraz wsparcie dla programistów
na swoich stronach (w większości po an-
gielsku).
Podsumowanie
Pisząc o systemach bazodanowych celowo po-
minąłem kwestię dostępności interfejsów do-
stępu do danych, dlatego że środowisko de-
veloperów tych systemów bardzo poważnie
traktuje potrzeby programistów, a do każdego
z omówionych
DBMS
istnieje odpowiedni ste-
rownik
ODBC, JDBC, DBI, PDO, .NET data
provider
, także obowiązkowe natywne biblio-
teki języków, takich jak
c/c++, Python
czy co-
raz popularniejszy
Ruby
.
Zainteresowanych zachęcam do dalszego
zgłębiania wiedzy na temat systemów bazoda-
nowych ( czytelnicy znajdą w księgarniach li-
teraturę polskojęzyczną, opisującą je szczegó-
łowo). Dobrym i zarazem darmowym źródłem
wiedzy, o wspomnianych tutaj
DBMS
, są strony
internetowe ich producentów. Niestety w więk-
szości przypadków konieczna jest znajomość
języka angielskiego.
Oracle 10g Express Edition
W przypadku
Oracle Database XE
(bo taka na-
zwa też funkcjonuje) mamy do czynienia z sy-
O autorze
Rysunek 4.
Zrzut GUI dla bazy Firebird
Autor jest studentem Wyższej Szkoły Za-
rządzania i Bankowości w Krakowie oraz
pracownikiem irm Faust IT i Rosoha Soft-
ware w Krakowie.
Kontakt z autorem:
marcin.barczyk@rosoha.com
52
listopad 2007
Plik z chomika:
sq9nip
Inne pliki z tego folderu:
LINUX+extra! Mandriva 2008 Free.pdf
(31607 KB)
Linux+extra! Fedora 8.pdf
(27652 KB)
37_strony_rekomendowane_PL_Linux+.pdf
(681 KB)
54_61_linux_na_laptopie.pdf
(2147 KB)
48_53_bazy.pdf
(1335 KB)
Inne foldery tego chomika:
21 Wiek
Budujemy Dom
Businessman
Chip
DIGITAL CAMERA
Zgłoś jeśli
naruszono regulamin