W pracy miałem przez jakiś czas do czynienia z systemem IBM DB2 DBMS. Ponieważ Ponieważ system jest komercyjny, w Internecie nie ma zbyt wielu informacji w języku rosyjskim, dlatego zdecydowałem się opisać niektóre cechy tego systemu DBMS.

Punkt wejścia

Zacznijmy od punktu wejścia do DBMS. W SQL SERVER punktem końcowym jest instancja, która oczywiście może mieć osobne bazy danych, ale konfiguracja i model bezpieczeństwa są takie same dla całej instancji. W DB2 punkt wejścia wygląda tak - instancja (odpowiadająca konkretnemu portowi) - Baza danych. W tym przypadku konfiguracja dostępna jest zarówno dla całej instancji, jak i dla osobnej bazy danych.

Konfigurację instancji można wyświetlić za pomocą komendy db2:

Konfiguracja menedżera baz danych

Typ węzła = Enterprise Server Edition z klientami lokalnymi i zdalnymi

Poziom wersji konfiguracji menedżera bazy danych = 0x0b00

Szybkość procesora (milisek/instrukcja) (CPUSPEED) = 2,912790e-07
Szerokość pasma komunikacji (MB/s) (COMM_BANDWIDTH) = 1,000000e+02

Maksymalna liczba jednocześnie aktywnych baz danych (NUMDB) = 8
Obsługa stowarzyszonego systemu baz danych (FEDERATED) = TAK
Nazwa monitora procesora transakcyjnego (TP_MON_NAME) =

Domyślne konto obciążenia zwrotnego (DFT_ACCOUNT_STR) =

Ścieżka instalacji zestawu Java Development Kit (JDK_PATH) = /home/db2inst1/sqllib/Java/jdk32

Poziom wychwytywania błędów diagnostycznych (DIAGLEVEL) = 3
Poziom powiadamiania (NOTIFYLEVEL) = 3
Ścieżka katalogu danych diagnostycznych (DIAGPATH) = /home/db2inst1/sqllib/db2dump

Domyślne przełączniki monitora bazy danych
Pula buforów (DFT_MON_BUFPOOL) = WYŁ

Tam, gdzie zostaną wskazane parametry, ich znaczenie i interpretacja. Możliwa jest również wersja skrócona:

pobierz dbm cfg

Lub korzystając z żądania:

Wybierz nazwę i wartość z sysibmadm.dbmcfg

Ważne parametry obejmują:

  • rodzaj uwierzytelnienia (AUTENTYKACJA)
  • domyślna ścieżka do tworzenia nowych baz danych (DFTDBPATH)
  • wykrywanie serwerów w sieci (ODKRYJ)
Możesz wyświetlić ustawienia konkretnej bazy danych w następujący sposób:

połącz się z próbką(przykład - nazwa bazy danych)

pobierz konfigurację menedżera bazy danych

Lub z mniej więcej taką samą prośbą jak poprzednio:

wybierz nazwę i wartość z sysibmadm.dbcfg

Uwierzytelnianie

Dużą różnicą pomiędzy DB2 i innymi systemami DBMS jest model uwierzytelniania. Nie ma użytkowników wewnętrznych, takich jak w SQL Server lub MySQL. Wszelkie uwierzytelnianie odbywa się za pomocą środków zewnętrznych w stosunku do DBMS (dynamicznie ładowane wtyczki) - narzędzia systemu operacyjnego lub wtyczki zewnętrzne (Kerberos, GSS API). Typ uwierzytelniania jest określony w parametrze AUTHENTICATION konfiguracji menedżera baz danych. Wartość domyślna to SERWER - na który wysyłana jest nazwa użytkownika i hasło otwarta forma i ta para jest sprawdzana pod kątem poprawności za pomocą systemu operacyjnego. Jeżeli nazwa użytkownika i hasło są prawidłowe, sprawdzane jest uprawnienie CONNECT dla użytkownika lub grup, do których należy (w tym specjalnej grupy PUBLIC, w której skład wchodzą wszyscy uprawnieni użytkownicy). Uprawnienia te można zobaczyć w tabeli SYSCAT.DBAUTH:

wybierz GRANTEE z SYSCAT.DBAUTH gdzie CONNECTAUTH = "Y"

Dużym błędem podczas konfiguracji jest włączenie typu uwierzytelniania KLIENT. W takim przypadku DB2 ufa łączącemu się klientowi w zakresie przeprowadzenia uwierzytelnienia, a jeśli PUBLIC ma uprawnienie CONNECT, wówczas każdy użytkownik będzie mógł połączyć się z bazą danych i będzie miał dostęp do wszystkich danych znajdujących się w posiadaniu PUBLIC. Nazwa użytkownika jest pobierana z systemu operacyjnego. Oznacza to, że jeśli połączymy się poprzez Data Studio jako użytkownik Administrator, wówczas zostaną mu przyznane wszystkie uprawnienia, jakie posiada użytkownik danego użytkownika. I w tym przypadku nie ma znaczenia, z jakiego komputera uzyskano dostęp. Ten typ Zaleca się włączenie uwierzytelniania tylko wtedy, gdy pomiędzy serwerem a klientem istnieje bezpieczny kanał, a inni klienci nie będą mogli połączyć się z DBMS.

Upoważnienie

Uprawnienia specyficzne dla instancji są określone w konfiguracji menedżera bazy danych. Są to następujące przywileje:

  • SYSADM
  • SYSCTRL
  • SYSMAINT
  • SYSMON
Uprawnienia te ustawia się poprzez określenie grupy, do której będzie należeć użytkownik. W dbmcfg są to odpowiednio parametry SYSADM_GROUP, SYSCTRL_GROUP, SYSMAINT_GROUP i SYSMON_GROUP.

Następnie istnieją uprawnienia specyficzne dla bazy danych. Są to uprawnienia takie jak dostęp do bazy danych (CONNECTAUTH), tworzenie tabel (CREATETABAUTH), tworzenie podprogramów (EXTERNALROUTINEAUTH) itp. Uprawnienia te można przeglądać w widoku SYSCAT.DBAUTH

I wreszcie uprawnienia dostępu do konkretnych danych - tabel, podprogramów itp. Wszystko tutaj jest dość trywialne, ale ma też pewne osobliwości.

Uprawnienia dostępu do tabeli można przeglądać w widoku SYSCAT.TABAUTH. Rodzaj przyznanego uprawnienia jest przechowywany w oddzielnych kolumnach, w zależności od samego uprawnienia (SELECTAUTH, DELETEAUTH itp.). Kiedy nadajesz uprawnienie za pomocą polecenia GRANT dla uprawnień REFERENCES i UPDATE, możesz także określić nazwy kolumn, do których te uprawnienia będą miały zastosowanie. W takim przypadku informację na ten temat można wyświetlić w widoku SYSCAT.COLAUTH

Uprawnienia procedur (funkcji, procedur i metod) można przeglądać w SYSCAT.ROUTINEAUTH. Wszystko tutaj nie jest do końca banalne; w zależności od pól SPECIFICNAME i TYPENAME, uprawnienia można nadać wszystkim podprogramom danego schematu.

Jeśli czytelnikom podoba się ten artykuł, jestem gotowy porozmawiać o ochronie danych w DB2 za pomocą kontroli dostępu opartej na etykietach

Oprogramowanie, zjednoczeni nazwą Inteligencja biznesowa IBM DB2 (<деловой интеллект >), służą do analizy zgromadzonych (historycznych) danych w celu wsparcia podejmowanie decyzji. Obecnie obszar ten stanowi jeden z najwyższych priorytetów w zakresie technologii zarządzania danymi. Wynika to z jednej strony z faktu, że wykorzystanie danych historycznych może (i pomaga) w poszukiwaniach najlepsze rozwiązania w działalności gospodarczej, a z drugiej strony możliwość organizacji przechowywania, szybkiego wyszukiwania niezbędnych danych i wydobywania z nich niezbędnych informacji (wiedzy) przy wykorzystaniu nowoczesnych narzędzi informatycznych.

Funkcjonalnie oprogramowanie Kierunek ten dzieli się na cztery grupy:

  • narzędzia do analizy danych w czasie rzeczywistym (OLAP-On-line Analytical Processing);
  • narzędzia do tworzenia hurtowni danych (Data Warehouse);
  • narzędzia wspierające dostęp do danych;
  • środki inteligentnego przetwarzania danych, lub<добычи информации>(Inteligentny górnik).

Analiza danych w czasie rzeczywistym (OLAP) przeprowadzono w celu wsparcia podejmowanie decyzji(operacyjnych lub strategicznych) w zakresie zarządzania przedsiębiorstwem. Systemy Informacyjne które wspierają tego typu działalność nazywane są Systemy wspomagania decyzji (DSS).

Termin OLAP został ukuty w 1993 roku przez Edwarda Codda (E. Codd – autor relacyjny model danych). Według Codda OLAP to technologia złożonej dynamicznej syntezy, analizy i konsolidacji dużych wolumenów wielowymiarowych danych. Istnieje tzw<тест FASMI>, zawierający podstawowe zasady technologii OLAP:

  • Szybko(szybki) - dostarczenie wyników analizy w akceptowalnym czasie (zwykle nie dłuższym niż pięć sekund);
  • Analiza(analiza) - możliwość przeprowadzenia dowolnego logicznego i Analiza statystyczna danych, a także zapisywania ich wyników w formie dostępnej dla użytkownika;
  • Wspólny(współdzielony) - dostęp do danych dla wielu użytkowników z obsługą mechanizmów blokujących i dostępem autoryzowanym;
  • Wielowymiarowy(wielowymiarowy) – wielowymiarowa reprezentacja danych na poziomie koncepcyjnym, obejmująca pełną obsługę hierarchii i wielokrotnych hierarchii;
  • Informacja(informacja) - możliwość dostępu do wszelkich niezbędnych informacji, niezależnie od ich objętości i miejsca przechowywania.

Aby sprostać wymaganiom czasowym analizy danych i uzyskania odpowiedzi na złożone zapytania, konieczne było zastosowanie nowej technologii organizacji i przechowywania danych. Ta nowa technologia nazywa się< magazyn danych> (hurtownia danych).

Magazyn danych. Zgodnie z definicją autora koncepcji hurtowni danych B. Inmona) jest to<предметно-ориентированные, интегрированные, неизменчивые, поддерживающие хронологию наборы данных, организованные для целей поддержки podejmowanie decyzji>. W tej definicji pod integracja danych jest rozumiana jako ujednolicenie i skoordynowanie Prezentacja danych z różnych źródeł.< Поддержка хронологии>oznacza obecność<исторических>dane, tj. dane odpowiadające przedziałowi czasu poprzedzającemu bieżący moment.<Неизменчивость данных>oznacza, że ​​zmiana danych w magazynie odbywa się poprzez dodanie nowych danych odpowiadających określonemu przedziałowi czasu, bez zmiany informacji znajdujących się już w magazynie.

Do głównych wymagań stawianych hurtowniom danych należą:

  • obsługa szybkiego pobierania danych z magazynu (tj. krótki czas reakcji na żądania);
  • utrzymanie wewnętrznej spójności danych;
  • możliwość uzyskania wycinków danych (na przykład wartości zestawu wskaźników dla określonego okresu, wartości jednego wskaźnika dla szeregu kolejnych przedziałów czasu itp.);
  • dostępność wygodnych narzędzi do przeglądania danych w repozytorium;
  • kompletność i wiarygodność przechowywanych danych.

Magazyn danych- jest pojedynczym źródłem danych związanych z funkcjonowaniem branży, przedsiębiorstwa, organizacji, zawierającym wszystkie niezbędne i rzetelne informacje wspierające podejmowanie decyzji.

Typowy magazyn różni się zasadniczo od konwencjonalnej relacyjnej bazy danych. Wyjaśnijmy to stwierdzenie rozważając modele logiczne relacyjnych baz danych i przechowywanie danych.

W tradycyjnych relacyjnych bazach danych logiczny model danych to zbiór dwuwymiarowych (płaskich) tabel skonstruowanych w taki sposób, aby zapewnić jak najefektywniejsze wykonywanie różnorodnych operacji na danych. Znormalizowany model logiczny Relacyjne bazy danych charakteryzują się w szczególności następującymi cechami:

  • wszystkie wartości przechowywane w komórkach tabeli (wartości atrybutów) są niepodzielne (tj. każda komórka tabeli zawiera tylko jedną wartość);
  • dane nie są duplikowane (tzn. nie ma redundancji w bazie danych).


Ryż. 6.14.

Ten Prezentacja danych nie zawsze spełnia cele wsparcia podejmowanie decyzji gdy istnieje potrzeba szybkiego uzyskania odpowiedzi na złożone zapytania analityczne. Bardziej odpowiednie jest tutaj logiczny model danych w postaci wielowymiarowego sześcianu. Kostka jest figura geometryczna z trzema wymiarami. Kostki danych w praktyce mają od 4 do 12 wymiarów; w takich przypadkach nazywane są hipersześcianami. Wymiar w sześcianie jest jedną z cech danych. Przykładowo w sześcianie pokazanym na ryc. 6.14, wymiary są<время>(2001, 2002),< пункт назначения>(Moskwa, Sankt Petersburg),<груз>(benzyna, węgiel). W komórkach sześcianu (ryc. 6.14) przechowywane są dane dotyczące wielkości przewozów. Dane te są agregowane w ramach innych wymiarów. Na przykład dla sześcianu na ryc. 6.14, jeśli istnieje wymiar< пункт отправки>, wówczas dane pokazane na rysunku należy uznać za zagregowane według tego wymiaru (tj.<1000>jest to łączna masa węgla dostarczonego do Moskwy w 2001 roku od wszystkich dostawców). Na wielowymiarowej kostce łatwo zdefiniować wiele operacji typowych dla prac analitycznych: zmniejszenie liczby wymiarów (rzutów), łączenie (łączenie kostek o wspólnych wymiarach) itp. Na przykład podczas agregowania według wymiaru<груз>sześcian na rys. 6.14 zamienia się w kwadrat pokazany na ryc. 6.15.


Ryż. 6.15. Agregacja sześcianu Rys. 6.3.4 według wymiaru „obciążenia”.

Model logiczny W tym przypadku pamięć reprezentowana jest przez zbiór wielowymiarowych kostek (hipersześcianów), na ogół o różnych wymiarach, z których każdy odpowiada jednemu lub większej liczbie wskaźników ilościowych branży, organizacji lub przedsiębiorstwa.

Należy zauważyć, że wymiary sześcianu wielowymiarowego mogą mieć strukturę hierarchiczną. Na przykład pomiar< пункт отправки>można przedstawić za pomocą trójpoziomowego diagramu hierarchicznego (patrz ryc. 6.16.).

W odróżnieniu od znormalizowanych model logiczny relacyjne bazy danych, model logiczny typ kostki pozwala na redundancję danych, tj. zawiera, oprócz danych początkowych, pewne wstępnie obliczone dane końcowe (dane zagregowane). Jest to uzasadnione w DSS, ponieważ pozwala skrócić czas reakcji systemu na złożone żądania.


Ryż. 6.16. Schemat hierarchiczny wymiaru „punktu początkowego”.

Przyjrzeliśmy się logicznemu modelowi przechowywania, który reprezentuje dane jako zbiór wielowymiarowych kostek. Fizyczna realizacja magazynu odbywa się zwykle na jeden z następujących sposobów:

  • wykorzystanie specjalistycznych struktur wielowymiarowych różniących się od tradycyjnych relacyjnych baz danych;
  • wykorzystanie relacyjnych baz danych do przechowywania danych;
  • rozwiązanie hybrydowe: szczegółowe dane przechowywane są w relacyjnych bazach danych, a dane zagregowane przechowywane są w specjalnych wielowymiarowych strukturach.

W Serwer IBM DB2 OLAP utrzymany model wielowymiarowy dane oparte na relacyjnym systemie DBMS DB2 UDB. Narzędzia wydajnościowe (patrz sekcja 6.3.2) mogą zapewnić wymaganą wydajność taktowania.

Narzędzia do hurtowni danych pozwalają na zbieranie danych z systemów zarządzania przedsiębiorstwem i źródeł zewnętrznych, <очищать>je, przekonwertuj je i załaduj do magazyn danych.

Na etapie projektowania użytkownik otrzymuje zestaw narzędzi do tworzenia hurtowni danych. Zawiera narzędzia, które pozwalają wygenerować różne schematy czyszczenia i ładowania danych, a także graficznie opisać działania niezbędne do zbudowania i utrzymania hurtowni danych. Podstawowy oprogramowanie ta grupa - Menedżer hurtowni IBM DB2; jego przeznaczenie, funkcje i cechy podano w tabeli 6.3.

Tabela 6.3. Komponenty IBM Business Intelligence
NIE. Główny cel Produkt Funkcjonalność i cechy
1. Analiza danych w czasie rzeczywistym (OLAP) Serwer IBM DB2 OLAP
  • obsługa wielowymiarowego modelu danych (opartego na relacyjnym systemie DBMS);
  • obsługa wielowymiarowych operacji agregacji danych w różnych strukturach hierarchicznych;
  • równoległe przetwarzanie wniosków;
  • wykorzystanie metod optymalizacja zapytań
2. Tworzenie hurtowni danych (Data Warehouse) Menedżer hurtowni IBM DB2
  • rozbudowa funkcjonalności DB2 o ekstrakcję, transformację i ładowanie danych (ELT - Extraction, Transformation and Loading);
  • wsparcie w zarządzaniu katalogami metadanych i informacji (repozytoriami);
  • obsługa narzędzi QMF for Windows (tworzenie zapytań do DB2 za pomocą używając Windowsa lub interfejs sieciowy);
  • wsparcie aplikacji<агентов>które przenoszą dane pomiędzy systemem źródłowym i docelowym bez udziału centralnego serwera
3. Wsparcie dostępu do danych Funkcja zarządzania zapytaniami (QMF)
  • tworzenie raportów i zapytania do baz danych;
  • tworzenie żądań w Javie w celu inicjalizacji poprzez przeglądarkę;
  • integracja wyników zapytań z arkuszami kalkulacyjnymi i osobistymi bazami danych;
  • wykorzystanie metod rozbiór gramatyczny zdania Zapytania SQL;
  • kontrola zużycia zasobów przez grupy użytkowników
Złącze DB2 Warehouse Manager dla SAP R/3
  • dostęp i migracja obiektów biznesowych SAP do pamięci masowej DB2;
  • wyodrębnianie umiarkowanych ilości danych SAP R3
Łącznik D2 Warehouse Manager z Internetem
  • wydobywanie danych z bazy danych WSA (IBM WebSphere Site Analyzer) lub hurtowni danych i umieszczanie ich w hurtowni;
  • Sprawdza, czy produkt WSA kopiuje dane o ruchu internetowym do docelowej pamięci masowej
Agent zaopatrzenia DB2 Warehouse Manager dla systemu z/OS
  • oprogramowanie agenta umożliwiające programowi IBM DB2 Warehouse Manager działającemu w systemach Linux, UNIX lub Windows wyodrębnianie i przekształcanie danych hostowanych na platformie z/OS
4. Inteligentne przetwarzanie danych (Intelligence Miner) Inteligentne modelowanie koparki DB2
  • wykrywanie skojarzeń;
  • grupowanie ;
  • Klasyfikacja;
  • kompatybilny z Predictive Model Markup Language (PMML) w wersji 2.0
Inteligentny wizualizator koparki DB2
  • graficzne przedstawienie wyników rozwiązywania problemów wykrywania asocjacji, grupowania i klasyfikacji;
  • Obsługa języka PMML, wersja 2.0
Punktacja inteligentnego górnika DB2
  • osadzanie modeli (wyniki eksploracji uzyskane przy użyciu narzędzia DB2 Intelligent Miner Modeling) w aplikacjach w celu wykorzystania nowych danych
DB2 Intelligent Miner dla tekstu
  • ekstrakcja, indeksowanie, analiza i klasyfikacja informacji ze źródeł tekstowych (dokumenty, strony internetowe, formularze)

Narzędzia wspomagające dostęp do danych to interfejsy API i serwery oprogramowania pośredniego, które obsługują narzędzia klienckie uzyskujące dostęp do informacji biznesowych i przetwarzające je. Spoiwa serwery oprogramowania umożliwiają klientom uzyskanie przejrzystego dostępu do licznych serwerów baz danych (tworzonych zarówno przez IBM, jak i innych programistów). Główne produkty programowe tej grupy opisano w tabeli 6.3.

Inteligentne narzędzia do przetwarzania danych (<добычи информации>, Inteligentny Górnik). Głównym celem inteligentnego przetwarzania danych (IDP) jest wyszukiwanie ukrytych wzorców w danych. Większość metod IAD została pierwotnie opracowana w obszarze badawczym zwanym< systemy sztuczna inteligencja >. Dopiero teraz, gdy utworzyły się duże i szybko rosnące tablice danych korporacyjnych, metody te stały się w pełni poszukiwane.

Początkowo narzędzia IAD były rozwijane w ten sposób, że jako materiał źródłowy do analizy przyjmowano dane zorganizowane w płaskie tabele relacyjne. Stosowanie IDA do danych reprezentowanych przy użyciu pamięci hipersześcianowej może być w wielu przypadkach bardziej skuteczne.

Zazwyczaj wyróżnia się pięć następujących typów zadań IAD:

  • Klasyfikacja. Najczęstsze zadanie IAD. Pozwala zidentyfikować cechy charakteryzujące podobne grupy obiektów – klasy, dzięki czemu na podstawie znanych wartości tych cech można przypisać nowy obiekt do konkretnej klasy. Kluczem do rozwiązania tego problemu jest analiza zbioru wstępnie sklasyfikowanych obiektów. Najbardziej typowym przykładem zastosowania klasyfikacji jest konkurencja pomiędzy dostawcami towarów i usług dla określonych grup klientów. Klasyfikacja może pomóc w określeniu cech niezrównoważonych klientów, którzy prawdopodobnie przejdą na innego dostawcę, co pozwala nam znaleźć najlepszy sposób, aby ich przed tym powstrzymać (na przykład poprzez rabaty, zachęty, a nawet poprzez indywidualne docieranie do przedstawicieli).<групп риска>).
  • Grupowanie. Logicznie rozszerza ideę klasyfikacji na bardziej złożony przypadek, gdy same klasy nie są predefiniowane, tj. Przynależność danych obiektów do tej czy innej klasy nie jest znana. Wynikiem zastosowania metody wykonującej grupowanie jest właśnie ta opcja ustaw partycje obiekty na grupy, w tym<близкие>obiekty. Dzięki temu możliwa jest identyfikacja powiązanych ze sobą grup klientów czy nabywców w celu prowadzenia wobec nich zróżnicowanej polityki. W powyższym przykładzie<группа риска>- kategorie klientów, którzy są gotowi odejść do innego dostawcy - można zidentyfikować poprzez grupowanie przed rozpoczęciem procesu opieki, co pozwoli na podjęcie działań zapobiegawczych, a nie awaryjnych.
  • Identyfikacja skojarzeń. Stowarzyszenie to połączenie pomiędzy dwoma lub większą liczbą jednocześnie zachodzących zdarzeń. Ilościową miarą powiązania może być np. warunkowe prawdopodobieństwo zdarzenie A pod warunkiem, że zaszło zdarzenie B.
  • Wykrywanie sekwencji. Podobnie jak skojarzenia, sekwencje określają powiązania między zdarzeniami, ale nie zachodzą one jednocześnie, ale z pewną przerwą w czasie. Miarą związku pomiędzy kolejnymi zdarzeniami A, B, C może być prawdopodobieństwa warunkowe zdarzenie B pod warunkiem, że zdarzenie A miało miejsce, oraz warunkowe prawdopodobieństwo zdarzenia C pod warunkiem, że miały miejsce zdarzenia A i B.
  • Prognozowanie. Jest to zadanie polegające na oszacowaniu przyszłych wartości wskaźnika na podstawie analizy danych bieżących i historycznych. Na przykład prognozę wielkości ruchu oczekiwanego w przyszłym roku można sporządzić na podstawie danych zgromadzonych w bazie wskaźników produkcyjno-ekonomicznych kolei. W zagadnieniach tego typu najczęściej wykorzystuje się tradycyjne metody statystyki matematycznej.

Inteligentny górnik DB2 to zestaw produktów zapewniający użytkownikowi narzędzia analityczne niezbędne do podejmowania przemyślanych i wysokiej jakości decyzji biznesowych. Problemy rozwiązywane przez ten zestaw produktów mogą prowadzić do wyboru bardziej precyzyjnej strategii marketingowej, ograniczenia odpływu klientów i zwiększenia zysków z handlu internetowego. Główne produkty rodziny DB2 Intelligent Miner opisano w tabeli 6.3.

DB2 (wymawiane „dibi two” w języku rosyjskim, również powszechne tłumaczenie z angielskiego „dibi tu”) - rodzina produkty oprogramowania w dziedzinie zarządzania informacjami w IBM. Najczęściej mówiąc o DB2, mają na myśli system zarządzania relacyjnymi bazami danych DB2 Universal Database (DB2 UDB), opracowany i wydany przez firmę IBM.

Pomimo przychylnego podejścia do systemu operacyjnego Linux, który jest rozpowszechniany na licencji open source, IBM nie planuje jeszcze udostępniania kodu źródłowego swojej bazy danych DB2. Zostało to stwierdzone przez Jima Wasko, dyrektora IBM Linux Technology Center, podczas corocznego szczytu Linux Foundation Collaboration Summit, który odbył się w San Francisco w kwietniu 2011 r. Wewnątrz IBM toczy się ciągła walka pomiędzy przedstawicielami różnych działów – wyjaśnił Vasko. W niektórych przypadkach wybór Linuksa lub Windowsa oznacza spadek przychodów ze sprzedaży oprogramowanie, ale wzrost przychodów z usług, a w pozostałych przypadkach możemy mówić o dochodach ze sprzedaży sprzętu. Musimy patrzeć optymalne rozwiązanie, podsumował. Vasko powiedział, że przejście pod kontrolę Oracle nad pakietami open source opracowywanymi w Sun Microsystems spowodowało pewne problemy dla IBM. Oracle próbuje przekonać klientów do zamiany sprzętu IBM na własne serwery Exadata i bazy danych Oracle. W 2011 roku dyrektor Linux Foundation Jim Zemlin spodziewa się rozwoju wyspecjalizowanych, wysokowydajnych systemów opartych na Linuksie, takich jak IBM Watson, oraz gotowych urządzeń wymagających minimalnej konfiguracji.

Wdrożenia

Obecnie oprócz komercyjnych produktów z tej rodziny IBM dystrybuuje również bezpłatną dystrybucję DB2 Express-C dla systemów Linux (x86, x86-64, POWER), Windows (x86, x86-64), Solaris (x86-64), Platformy Mac OS X (wersja beta x86-64). Darmowa wersja ma ograniczenia dotyczące używania nie więcej niż jednego systemu DBMS do działania podwójny rdzeń procesora i 2 GB pamięć o dostępie swobodnym(całkowita liczba procesorów i pamięci w systemie może być dowolna, ale zasoby przekraczające określone limity nie będą wykorzystywane przez SZBD).

2017: Ogłoszenie dodatków do kontroli danych

Db2 w chmurze

Zaktualizowane rozwiązanie Db2 on Cloud to w pełni zarządzana usługa dostępna w chmurze IBM Cloud.

Wśród cech technologii:

  • Dynamiczna skala („suwak”) do ustawiania parametrów wydajności i pojemności pamięci - jednym kliknięciem myszy możesz błyskawicznie zmienić skalę, zwiększając lub zmniejszając wydajność przetwarzania danych i wymaganą ilość pamięci RAM, w ten sam sposób możesz zwiększyć pojemność pamięci system przechowywania informacji;
  • Konsola internetowa - pomaga klientom szybko opanować usługę i przyspieszyć pracę z nią.

Ogólnie rzecz biorąc, Db2 on Cloud eliminuje czasochłonny proces negocjowania i zakupu dodatkowych zasobów obliczeniowych i stanowi uzupełnienie IBM Db2 Hosted, wersji bazy danych hostowanej w chmurze IBM Cloud.

Db2 w benchmarku chmury

Akcelerator DB2 Analytics

Wersje

2017: JSON i HTAP

DB2 10 stanowi pierwszą znaczącą aktualizację systemu DBMS w ciągu ostatnich kilku lat: 10. wersja systemu dla systemu z/OS została jednak wydana w 2010 roku, ale ta wersja jest przeznaczona jednocześnie dla systemów Linux, Unix i Windows.

Obydwa produkty zawierają nową funkcjonalność. DB2 obsługuje teraz format RDF (Resource Opis Framework), a InfoSphere może współpracować z wdrożeniami Apache Hadoop. Inne ulepszenia w DB2 obejmują szybsze czasy przetwarzania Rezerwowy egzemplarz i we/wy.

DB2 10 jest również bardziej elastyczny. W szczególności administratorzy DBMS mają narzędzia do dystrybucji danych do przechowywania na różnych typach nośników: na przykład informacje operacyjne można umieścić na szybszych dyskach półprzewodnikowych, a mniej wartościowe dane na tańszych i wolniejszych napędach taśm magnetycznych.

Nowa funkcja o nazwie podróże w czasie umożliwia wydajniejsze zarządzanie danymi czasowymi i stała się dużym hitem wśród użytkowników systemu z/OS 10. Za jego pomocą użytkownik lub program może badać dane w kontekście czasu ich istnienia w SZBD przez określone okresy. Korzystanie z takich środowisk jest istotne dla analityki.

DB2 10 można pobrać bezpłatnie do użytku w środowiskach produkcyjnych z maksymalnie dwoma rdzeniami procesora i 2 GB pamięci. Bardziej funkcjonalne wersje będą kosztować od 6180 dolarów, co obejmuje koszt rocznej konserwacji. Koszt InfoSphere zależny jest od liczby procesorów lub ilości przechowywanych danych; podstawowe wersje będą kosztować około 40 tysięcy dolarów za TB.

Wersja IBM DB2 10.5

Fabuła

DB2 ma długą historię i przez niektórych jest uważany za pierwszy system zarządzania bazami danych korzystający z języka SQL.

W latach 1975–1982 w IBM opracowywano prototyp DB2 pod nazwą System Relational lub System R. Język SQL został po raz pierwszy zaimplementowany w IBM System R, ale system ten miał charakter badawczy, a Oracle jako pierwsza wypuściła produkt komercyjny zawierający SQL w 1979 roku.

DB2 otrzymało swoją nazwę w 1982 roku, kiedy wypuszczono pierwszą komercyjną wersję dla maszyn wirtualnych, zwaną SQL/DS, a następnie wersję dla MVS, zwaną DB2. Przez długi czas obok „DB2” używany był wariant „Database 2”, będący jednocześnie znakiem towarowym firmy IBM. Najwyraźniej chodziło o to, że był to drugi flagowy system DBMS IBM po starym, hierarchicznym systemie DBMS IMS.

Rozwój DB2 datuje się na początek lat 70. XX wieku, kiedy w czerwcu 1970 r. dr E. F. Codd pracujący dla IBM opracował teorię relacyjnych baz danych i opublikował model manipulacji danymi. Aby wdrożyć ten model, opracował język relacyjnych baz danych i nazwał go Alpha. IBM zdecydował się przekazać dalszy rozwój grupie programistów znajdujących się poza kontrolą doktora Codda. Łamiąc niektóre zasady modelu relacyjnego, wdrożyli go jako „ustrukturyzowany”. język angielski zapytania”, w skrócie SEQUEL. Ponieważ SEQUEL był już zarejestrowanym znakiem towarowym, nazwę skrócono do SQL – „ język strukturalny prośby” i tak jest do dziś.

Historycznie rzecz biorąc, DB2 wyewoluował z DB2 for MVS (który wywodzi się z DB2 dla z/OS) i jego rodzeństwa SQL/DS for VM (który wywodzi się z DB2 Server for VSE i VM). Następnie inny zespół programistów w IBM wdrożył serwer OS/2 EE Database Manager, który następnie ewoluował do DB2 v2 dla OS/2, AIX, a następnie Windows, a następnie do DB2 UDB (jego potomkiem jest DB2 dla Linux, UNIX i Windows ). Inny zespół zintegrował architekturę DB2 z wbudowaną bazą danych AS/400 (jej następcą jest DB2 for i). IBM stopniowo zmierza w stronę integracji wszystkich tych gałęzi.

Osobliwości

Charakterystycznymi cechami DB2 jest dialekt Język SQL, który określa, z rzadkimi wyjątkami, czysto deklaratywne znaczenie konstrukcji językowych, oraz potężny wielofazowy optymalizator, który buduje skuteczny plan wykonania zapytania w oparciu o te deklaratywne konstrukcje. W przeciwieństwie do innych dialektów SQL, dialekt DB2 SQL praktycznie nie ma wskazówek optymalizacyjnych, słabo rozwinięty (i przez długi czas całkowicie nieobecny) język procedur składowanych, a zatem wszystko ma na celu utrzymanie deklaratywnego stylu pisania zapytań. Język DB2 SQL jest kompletny pod względem obliczeniowym, to znaczy potencjalnie umożliwia zdefiniowanie w formie deklaratywnej wszelkiej możliwej do obliczenia zgodności między danymi źródłowymi a wynikiem. Osiąga się to między innymi poprzez zastosowanie wyrażeń tabelarycznych, rekurencji i innych zaawansowanych mechanizmów manipulacji danymi.

Ze względu na priorytet IBM w rozwoju teorii relacji oraz pozycję firmy w branży komputerowej, dialekt DB2 SQL ma znaczący wpływ na standardy ANSI/ISO SQL.

Procedury składowane w DB2 nie są zbyt szeroko stosowane, natomiast tradycyjnie do pisania procedur składowanych używa się konwencjonalnych języków programowania wysokiego poziomu (C, Java, PL/I, Cobol itp.), co pozwala programiście na łatwe formatowanie ten sam kod jako część aplikacji lub jako procedura składowana, w zależności od tego, czy bardziej sensowne jest wykonanie go na kliencie czy na serwerze. DB2 implementuje teraz także proceduralne rozszerzenie SQL dla procedur składowanych zgodnie ze standardem ANSI SQL/PSM.

Optymalizator DB2 w szerokim zakresie wykorzystuje statystykę rozmieszczenia danych w tabelach (jeśli proces ich zbierania przeprowadził administrator bazy danych), dzięki czemu to samo zapytanie SQL może zostać przełożone na zupełnie różne plany wykonania w zależności od charakterystyki statystycznej dane, które przetwarza.

Ponieważ DB2 ewoluowało od systemów wielu użytkowników na komputerach mainframe, architektura DB2 przywiązuje dużą wagę do kwestii bezpieczeństwa i podziału ról specjalistów DB2. W szczególności, w przeciwieństwie do wielu innych systemów DBMS, DB2 ma oddzielne role dla administratora DBMS (odpowiedzialnego za konfigurowanie komponentów oprogramowania DB2 i optymalne ich uruchamianie w system komputerowy) oraz administratorem bazy danych (odpowiedzialnym za zarządzanie danymi w konkretnej bazie danych).

Zastosowanie statycznego SQL i koncepcji pakietów w programach, jeśli to konieczne, pozwala, w przeciwieństwie do większości innych systemów DBMS, na wdrożenie modelu bezpieczeństwa, w którym prawa do wykonywania określonych operacji mogą być nadawane programom aplikacyjnym w przypadku braku takich uprawnień dla pracujących użytkowników z tymi programami. W tym przypadku pozwala to zagwarantować, że użytkownik nie będzie mógł pracować z bazą danych z pominięciem aplikacji, jeśli użytkownik ma jedynie uprawnienia do uruchamiania programu, a nie do samodzielnego manipulowania danymi.

W ramach koncepcji zwiększenia poziomu integracji bezpieczeństwa w systemie komputerowym, DB2 nie posiada własnych środków uwierzytelniania użytkowników, integracji z narzędziami systemu operacyjnego czy wyspecjalizowanymi serwerami bezpieczeństwa. DB2 autoryzuje wyłącznie użytkowników uwierzytelnionych w systemie.

DB2 to jedyny relacyjny system DBMS ogólnego przeznaczenia z implementacją sprzętu/oprogramowania (IBM i; sprzęt mainframe IBM System z również implementuje obsługę DB2).

Nowoczesne wersje DB2 zapewniają rozszerzoną obsługę danych XML, w tym operacji na poszczególnych elementach dokumentu XML.

DB2(w języku rosyjskim wymawia się to „dibi two”; powszechna jest również kalka z angielskiego „dibi tu”) - rodzina oprogramowania IBM z zakresu zarządzania informacjami.

Najczęściej mówiąc o DB2, mają na myśli system zarządzania relacyjnymi bazami danych DB2 Universal Database (DB2 UDB), opracowany i wydany przez firmę IBM.

Czasami widzisz pisownię „DB/2”, ale ta pisownia jest nieprawidłowa: w notacji IBM liczba w mianowniku ułamka oznacza platformę, a „/2” oznacza produkt dla systemu operacyjnego OS/2 (lub komputery z serii PS/2). Na przykład wersja DB2 dla systemu OS/2 została oznaczona jako „DB2/2”.

Wdrożenia

Aktualnie DB2 DBMS jest dostępny w wersjach na następujące platformy:

  • DB2 dla systemów Linux, UNIX i Windows v9 dla platform AIX, HP-UX, Linux, Solaris, Windows oraz wersja beta dla platformy Mac OS X
  • DB2 dla systemu z/OS v9 dla platform z/OS i OS/390
  • Serwer DB2 dla VSE i VM v7 dla platform z/VM i z/VSE
  • DB2 dla m.in dla platformy IBM i (wbudowanej w system na poziomie sprzętowym i programowym)

W przeszłości wydano wersje serwera DB2 DBMS dla systemów OS/2, UnixWare i PTX.

Klienci DB2 DBMS, oprócz wymienionych platform, są lub zostały wydane w różnych wersjach także dla SINIX, IRIX, klasycznych systemów Mac OS i MS-DOS, a także wersja mobilna DB2 Everyplace dla Windows CE, Palm OS, Symbian OS, Neutrino i maszyna wirtualna Jawa.

Obecnie, oprócz komercyjnych produktów z tej rodziny, IBM dystrybuuje także bezpłatny zestaw dystrybucyjny DB2 Express-C dla platform Linux (x86, x86-64, POWER), Windows (x86, x86-64), Solaris (x86-64), Mac OS X (x86-64 beta). W wersji darmowej obowiązują ograniczenia dotyczące wykorzystania nie więcej niż jednego dwurdzeniowego procesora i 2 GB pamięci RAM do obsługi SZBD (całkowita liczba procesorów i pamięci w systemie może być dowolna, lecz zasoby przekraczające określone limity nie będą używany przez SZBD).

Fabuła

DB2 ma długą historię i przez niektórych jest uważany za pierwszy system zarządzania bazami danych korzystający z języka SQL.

W latach 1975–1982 w IBM opracowywano prototyp DB2 pod nazwą System Relational lub System R. Język SQL został po raz pierwszy zaimplementowany w IBM System R, jednak system ten miał charakter badawczy, a firma Oracle jako pierwsza wypuściła komercyjny produkt zawierający SQL w 1979 roku.

DB2 otrzymało swoją nazwę w 1982 roku, kiedy wydano pierwszą komercyjną wersję dla SQL/DS, a następnie wersję dla MVS o nazwie DB2. Przez długi czas obok „DB2” używany był wariant „Database 2”, będący jednocześnie znakiem towarowym firmy IBM. Najwyraźniej chodziło o to, że był to drugi flagowy system DBMS IBM po starym, hierarchicznym systemie DBMS IMS.

Rozwój DB2 datuje się na początek lat 70. XX wieku, kiedy w czerwcu 1970 r. dr E. F. Codd pracujący dla IBM opracował teorię relacyjnych baz danych i opublikował model manipulacji danymi. Aby wdrożyć ten model, opracował język relacyjnych baz danych i nazwał go Alpha. IBM zdecydował się przekazać dalszy rozwój grupie programistów znajdujących się poza kontrolą doktora Codda. Łamiąc niektóre zasady modelu relacyjnego, zaimplementowali go jako „Structured English Query Language”, w skrócie SEQUEL. Ponieważ SEQUEL był już zarejestrowanym znakiem towarowym, nazwę skrócono do SQL – „Structured Query Language” i tak pozostało do dziś.

Historycznie rzecz biorąc, DB2 wyewoluował z DB2 for MVS (który wywodzi się z DB2 dla z/OS) i jego rodzeństwa SQL/DS for VM (który wywodzi się z DB2 Server for VSE i VM). Następnie inny zespół programistów w IBM wdrożył serwer OS/2 EE Database Manager, który następnie ewoluował do DB2 v2 dla OS/2, AIX, a następnie Windows, a następnie do DB2 UDB (jego potomek DB2 dla Linux, UNIX i Windows) . Inny zespół zintegrował architekturę DB2 z wbudowaną bazą danych AS/400 (jej następcą jest DB2 for i). IBM stopniowo zmierza w stronę integracji wszystkich tych gałęzi.

Osobliwości

Do charakterystycznych cech DB2 należy dialekt języka SQL, który określa, z nielicznymi wyjątkami, czysto deklaratywne znaczenie konstrukcji językowych, oraz potężny optymalizator wielofazowy, który buduje efektywny plan wykonania zapytania w oparciu o te deklaratywne konstrukcje. W przeciwieństwie do innych dialektów SQL, dialekt DB2 SQL praktycznie nie ma wskazówek optymalizacyjnych, słabo rozwinięty (i przez długi czas całkowicie nieobecny) język procedur składowanych, a zatem wszystko ma na celu utrzymanie deklaratywnego stylu pisania zapytań. Język DB2 SQL jest kompletny pod względem obliczeniowym, to znaczy potencjalnie umożliwia zdefiniowanie w formie deklaratywnej wszelkiej możliwej do obliczenia zgodności między danymi źródłowymi a wynikiem. Osiąga się to między innymi poprzez zastosowanie wyrażeń tabelarycznych, rekurencji i innych zaawansowanych mechanizmów manipulacji danymi.

Ze względu na priorytet IBM w rozwoju teorii relacji oraz pozycję firmy w branży komputerowej, dialekt DB2 SQL ma znaczący wpływ na standardy ANSI/ISO SQL.

Procedury składowane w DB2 nie są zbyt szeroko stosowane, natomiast tradycyjnie do pisania procedur składowanych używa się konwencjonalnych języków programowania wysokiego poziomu (C, Java, PL/I, Cobol itp.), co pozwala programiście na łatwe formatowanie ten sam kod jako część aplikacji lub jako procedura składowana, w zależności od tego, czy bardziej sensowne jest wykonanie go na kliencie czy na serwerze. DB2 implementuje teraz także proceduralne rozszerzenie SQL dla procedur składowanych zgodnie ze standardem ANSI SQL/PSM.

Optymalizator DB2 w szerokim zakresie wykorzystuje statystykę rozmieszczenia danych w tabelach (jeśli proces ich zbierania przeprowadził administrator bazy danych), dzięki czemu to samo zapytanie SQL może zostać przełożone na zupełnie różne plany wykonania w zależności od charakterystyki statystycznej dane, które przetwarza.

Ponieważ DB2 ewoluowało od systemów wielu użytkowników na komputerach mainframe, architektura DB2 przywiązuje dużą wagę do kwestii bezpieczeństwa i podziału ról specjalistów DB2. W szczególności, w przeciwieństwie do wielu innych systemów zarządzania bazami danych, DB2 ma oddzielne role dla administratora bazy danych (odpowiedzialnego za konfigurowanie komponentów oprogramowania DB2 i optymalne ich uruchamianie w systemie komputerowym) i administratora bazy danych (odpowiedzialnego za zarządzanie danymi w określonej bazie danych).

Zastosowanie statycznego SQL i koncepcji pakietów w programach, jeśli to konieczne, pozwala, w przeciwieństwie do większości innych systemów DBMS, na wdrożenie modelu bezpieczeństwa, w którym prawa do wykonywania określonych operacji mogą być nadawane programom aplikacyjnym w przypadku braku takich uprawnień dla pracujących użytkowników z tymi programami. W tym przypadku pozwala to zagwarantować, że użytkownik nie będzie mógł pracować z bazą danych z pominięciem aplikacji, jeśli użytkownik ma jedynie uprawnienia do uruchamiania programu, a nie do samodzielnego manipulowania danymi.

W ramach koncepcji zwiększenia poziomu integracji bezpieczeństwa w systemie komputerowym, DB2 nie posiada własnych środków uwierzytelniania użytkowników, integracji z narzędziami systemu operacyjnego czy wyspecjalizowanymi serwerami bezpieczeństwa. DB2 autoryzuje wyłącznie użytkowników uwierzytelnionych w systemie.

DB2 to jedyny relacyjny system DBMS ogólnego przeznaczenia z implementacją sprzętu/oprogramowania (IBM i; sprzęt mainframe IBM System z również implementuje obsługę DB2).

Nowoczesne wersje DB2 zapewniają rozszerzoną obsługę danych XML, w tym operacji na poszczególnych elementach dokumentu XML.

Przetwarzanie błędów

Przydatną funkcją programu DB2 SQL Server jest jego zdolność do obsługi błędów. W tym celu wykorzystywana jest struktura SQLCA. Obszar komunikacji SQL- obszar komunikacji SQL), który po każdym wykonaniu wyrażenia SQL zwraca do aplikacji informację o błędzie.

Pola struktury SQLCODE i ich znaczenie

Podstawowa, choć nie zawsze przydatna, diagnoza błędu zawarta jest w polu KOD SQL(typ danych - liczba całkowita) wewnątrz bloku SQLCA. Może przyjmować następujące wartości:

  • 0 oznacza sukces.
  • Liczba dodatnia oznacza sukces z jednym lub większą liczbą ostrzeżeń. Na przykład +100 oznacza, że ​​nie znaleziono żadnych kolumn.
  • Liczba ujemna oznacza awarię z błędem. Na przykład -911 oznacza, że ​​wykryto przekroczenie limitu czasu blokady (lub zakleszczenia), co wyzwala sekwencję wycofywania.

SQLERRM(typ danych - ciąg 71 znaków). Zawiera Ciąg tekstowy z opisem błędu, jeżeli pole SQLCODE jest mniejsze od zera.

SQLERRD(typ danych - tablica, 6 liczb całkowitych). Opisuje wynik ostatniej instrukcji SQL:

  • 1 element - informacja wewnętrzna;
  • 2 element - zawiera wygenerowaną przez serwer wartość pola typu SERIAL dla instrukcji INSERT lub dodatkowy kod błędu;
  • 3 element - równa liczbie przetworzonych rekordów;
  • 4. element - przybliżony koszt wykonania tego operatora;
  • 5. element - offset błędu w zapisie tekstowym instrukcji SQL;
  • 6 element – ​​informacja wewnętrzna.

Notatki

Spinki do mankietów

  • Strona programu w serwisie WWW IBM
  • DB2 na developerWorks - artykuły i szkolenia dotyczące DB2
  • PlanetDB2 — blogi dotyczące DB2

Literatura

  • Data K. Podręcznik relacyjnej bazy danych DB2. - M.: Finanse i statystyka, 1988. - 320 s. - ISBN 5-279-00063-9
  • Zikopoulos P.K., Backlarz J., deRus D., Melnick R.B. DB2 wersja 8: Oficjalny przewodnik. - M.: KUDITS-OBRAZ, 2004. - 400 s. - ISBN 5-9579-0031-1
  • Smirnov S. N. Praca z IBM DB2: Samouczek. - M.: Helios, 2001. - 304 s. - ISBN 5-85438-007-2 (zalecane przez instytucje edukacyjne uczelni wyższych w regionie bezpieczeństwo informacji Jak pomoc nauczania w specjalnościach „Kompleksowe zapewnienie bezpieczeństwa informacji systemów zautomatyzowanych” i „Bezpieczeństwo informatyczne”)
  • Susan Visser i Billa Wonga. Sams Naucz się DB2 Universal Database w 21 dni. - wyd. 2 - M.: Williams, 2004. - 528 s. - ISBN 0-672-32582-9
  • Hook J., Harbus R., Snow D. Uniwersalny przewodnik po DB2 dla Windows NT®. - New Jersey: Prentice Hall PTR, 1999. - s. 504. - ISBN 0-13-099723-4

Fundacja Wikimedia. 2010.

Zobacz, co oznacza „IBM DB2” w innych słownikach:

    IBM DB2- Programiści IBM Pierwsza wersja 1983 (1983) ... Wikipedia

    IBM DB2- DB2 to związek partnerski Datenbank Management System (RDBMS) firmy IBM, opracowany przez firmę IBM, opracowany na podstawie systemu Grundlagen von E. F. Codd vom IBM Research aus dem Jahr 1970 zurückgeht. Inhaltsverzeichnis 1 Eigenschaften 1.1… … Niemiecka Wikipedia

    IBM DB2- Twórca wersji IBM Dernière… Wikipédia en Français

    Magazyn wspólny IBM DB2- Oprogramowanie DB2 CommonStore Archiving firmy IBM do zarządzania wiadomościami e-mail lub danymi SAP ERP. Część portfolio IBM Information Management, która opiera się na platformie bazodanowej DB2. DB2 CommonStore to jeden z kilku produktów, które są... ... Wikipedią

Relacyjna baza danych to zbiór relacji, których nazwy są takie same, jak nazwy schematów relacji w schemacie bazy danych. Obecnie znanych jest wiele różnych serwerów baz danych SQL. Przyjrzyjmy się następującym czterem wiodącym serwerowym systemom DBMS – Oracle8i, IBM DB2, Microsoft SQL Server i Informix – i porównajmy ich wydajność na każdym z głównych etapów działania.

Oracle8i. Pakiet Oracle8i, wyposażony w najbardziej zaawansowany zestaw funkcji do pracy z językiem Java i dostępu do danych przez Internet oraz system optymalizacji jednoczesnego dostępu. Jedyną wadą tego SZBD jest złożoność administracji, jednak wszystkie koszty jego wdrożenia i rozwoju zwrócą się później dzięki wydajnemu i niezawodnemu działaniu. (złożoność i wysoki koszt są dyskusyjne). Wśród głównych właściwości Oracle DBMS należy wymienić: Najwyższą niezawodność. Możliwość podziału dużych baz danych na sekcje (partycja wielkobazowa), co pozwala efektywnie zarządzać gigantycznymi gigabajtowymi bazami danych; Dostępność uniwersalnych narzędzi bezpieczeństwa informacji; Skuteczne metody maksymalizacji szybkości przetwarzania żądań; Indeksowanie bitmap; Darmowe tabele (w innych SZBD wszystkie tabele są zapełniane natychmiast po utworzeniu); Równoległość operacji w żądaniu. Dostępność szerokiej gamy narzędzi programistycznych, monitorujących i administracyjnych. Skoncentruj się na technologiach internetowych Rozwiązania, które nie ustępują opracowaniom Oracle, można znaleźć tylko w DB2 firmy IBM. Główną dewizą jest skupienie się na technologii internetowej nowoczesne produkty Wyrocznia. Pod tym względem można wyróżnić pakiety interMedia, które zapewniają przetwarzanie danych w formatach multimedialnych oraz Jserver, wbudowane narzędzie do pracy z językiem Java, które łączy możliwości języka Java z możliwościami relacyjnych baz danych. Komponenty Enterprise JavaBeans to podstawowe moduły tworzące aplikacje internetowe w języku Java. Oracle wyznaje zasadę, że wszystkie ważne funkcje muszą być zarządzane z jednego centrum, dlatego proponowany moduł interMedia zapewnia użytkownikom najbardziej zaawansowane możliwości pracy z obiektami multimedialnymi: Bardzo zaawansowane narzędzia do obróbki klipów audio; Nieruchome obrazy; Klipy wideo; Dane geograficzne (wraz z całym zestawem funkcji związanych z wyznaczaniem lokalizacji zawartym w module Locator). Oracle8i implementuje najlepsze obecnie narzędzia do obiektowego projektowania baz danych, w tym struktury tabel umożliwiające dziedziczenie właściwości i metod innych tabelowych obiektów baz danych, co pozwoli uniknąć błędów przy konstruowaniu baz danych i ułatwi ich utrzymanie. Należy również zaznaczyć, że wielowersyjny system optymalizacji współbieżności opracowany przez Oracle jest jedną z najważniejszych cech architektury Oracle (podobna funkcja jest dostępna tylko w InterBase DBMS od InterBase od Inprise). Ta funkcja

pozwala wyeliminować sytuację, gdy jeden użytkownik musi czekać, aż inny zakończy zmiany w zawartości baz danych (czyli w Oracle nie ma blokad odczytu). Ta funkcja umożliwia Oracle8i realizację większej liczby transakcji na sekundę na użytkownika niż jakakolwiek inna baza danych. Pod względem poziomu wydajności podczas pracy w środowisku WWW pod systemem LINUX, Oracle zajmuje zaszczytne drugie miejsce po systemie DBMS MySQL, jednocześnie znacznie przewyższając wszystkie inne systemy DBMS pod względem niezawodności i bezpieczeństwa. Microsoft SQL Server DBMS Najważniejsze cechy tego DBMS to: łatwość administrowania, możliwość łączenia się z siecią, szybkość i funkcjonalność Mechanizm serwera DBMS, dostępność środków Zestaw narzędzi do zarządzania administracyjnego dla tego DBMS zawiera cały zestaw specjalnych kreatorów i narzędzi do automatycznego ustawiania parametrów konfiguracyjnych. Ponadto ta baza danych jest wyposażona w doskonałe narzędzia do replikacji, które umożliwiają synchronizację danych komputera z informacjami z bazy danych i odwrotnie. Dołączony serwer OLAP umożliwia zapisywanie i analizę wszystkich danych dostępnych użytkownikowi. W zasadzie ten DBMS jest nowoczesną, w pełni funkcjonalną bazą danych, idealną dla małych i średnich organizacji. Należy zauważyć, że SQL Server ustępuje innym rozważanym systemom DBMS pod dwoma ważnymi wskaźnikami: programowalnością i narzędziami operacyjnymi. Podczas tworzenia klienckich aplikacji bazodanowych opartych na językach Java i HTML często pojawia się problem niewystarczającego oprogramowania SQL Server, a korzystanie z tego DBMS będzie trudniejsze niż w przypadku systemów DB2, Informix, Oracle czy Sybase. Światowym trendem XXI wieku stało się niemal powszechne przejście na platformę LINUX, a SQL Server działa wyłącznie w Środowisko Windowsa. Dlatego używanie SQL Server jest wskazane tylko wtedy, gdy standard ODBC jest używany wyłącznie do dostępu do zawartości bazy danych, w przeciwnym razie lepiej jest użyć innego systemu DBMS.

IBM DB2 IBM DB2 DBMS jest wynikiem prawie 30 prac rozwojowych i Praca badawcza od IBM'a. Najnowsza wersja tego systemu DBMS (6.x) wyróżnia się jednym z najbardziej przemyślanych zestawów narzędzi do zarządzania i optymalizacji oraz silnikiem bazy danych umożliwiającym rozbudowę z przenośnego komputera PC z systemem Windows 95 na cały klaster komputerów mainframe S/390 z systemem OS/390. DB2 jest dostępny w dwóch edycjach: DB2 Workgroup i DB2 Enterprise Edition. W tym systemie DBMS zaimplementowano wszystkie innowacyjne technologie silnika bazy danych znane z poprzednich wersji DB2, takie jak równoległość przetwarzania zapytań, pełny zestaw narzędzi replikacji, tabele podsumowań zapytań w celu poprawy wydajności bazy danych, możliwości obiektowego projektowania baz danych oraz narzędzia języka Java. Dodaj do tego, że system DB2 jest wyposażony w pełną gamę rozszerzeń multimedialnych, które pozwalają na przechowywanie i manipulowanie tekstem, dźwiękiem i obrazem, obrazami i danymi geograficznymi. Można powiedzieć, że opracowana przez specjalistów IBM technologia klastrowania baz danych nie ma sobie równych pod względem możliwości skalowania. Rozszerzenia te znacznie ułatwiają proces tworzenia aplikacji internetowych, a także programów zawierających obrazy fotograficzne i raporty z dużym tekstem. System DB2 jest również dość konkurencyjny jako platforma do tworzenia aplikacji, ponieważ istnieje narzędzie budujące procedury składowane, które automatycznie konwertuje instrukcję SQL na odpowiednią klasę Java i włącza ją do struktury bazy danych. DB2 6.1 znacznie poprawia interoperacyjność z innymi systemami zarządzania bazami danych, umożliwiając korzystanie ze specyfikacji OLE DB firmy Microsoft, nowego standardu dostępu do baz danych. Kontrole administracyjne DB2 DBMS, które Nowa wersja przepisane w Javie i można je pobrać z Internetu, zasługują na najwyższą pochwałę. Głównymi wadami tego systemu DBMS są względna złożoność administracji i brak (jeszcze) implementacji dla popularnych serwerowych systemów operacyjnych, takich jak LINUX. W tym SZBD, dzięki Index Smart-Guide, istnieje możliwość konfiguracji, tworząc optymalne indeksy dla danej liczby trafień, która charakteryzuje typowe obciążenie bazy danych. DB2 jako jedyny pakiet pozwala na generowanie tabel podsumowań, co znacząco poprawia efektywność SZBD jako hurtowni danych. Tabela przestawna to tymczasowy obszar roboczy używany przez bazę danych do przechowywania odpowiedzi na często otrzymywane zapytania. DB2 6.1 staje się najtańszym dostępnym systemem o wysokiej wydajności. Narzędzia zarządzania administracyjnego tego SZBD są w miarę spójne z poziomem rozwiązywanych zadań, ponadto zapewnia wyjątkowo szerokie możliwości pracy z danymi multimedialnymi i programowania (czego wyraźnie brakuje systemowi Microsoft SQL Server).

DBMS firmy Informix. W ostatnim czasie nastąpiło przejście od relacyjnych DBMS do obiektowych (co widać wyraźnie na przykładzie Oracle). Informix, również podążając za tą koncepcją, ogłosił nowe rozwiązanie Centaur DBMS oparte na relacyjnej bazie danych Informix Dynamic Server 7.3 oraz obiektowo-relacyjnej bazie danych Informix Universal Data Option i łączące wysoką wydajność Dynamic Server podczas pracy z danymi z wszechstronnością i funkcjami multimedialnymi uniwersalnej opcji danych. Implementacja przeznaczona jest do rozwoju systemów internetowych. Prawdopodobnie ten DBMS będzie miał elastyczne środowisko programistyczne ze skalowalnością odpowiadającą intensywnym obciążeniom charakterystycznym dla Internetu oraz narzędzia do pracy z nowymi typami danych, które wraz z rozwojem sieci stały się stosowane wszędzie. Narzędzia Java zaimplementowane w nowym systemie umożliwią programistom tworzenie procedur składowanych, programów użytkownika i komponentów DataBlades w tym języku, który Informix nazywa

niestandardowe rozszerzenia baz danych. Z punktu widzenia klientów Inforix będzie to duży krok naprzód, ponieważ do tej pory podczas pracy z DataBlades mogli używać wyłącznie C i SPL, wewnętrznego języka Informix do pisania procedur przechowywanych. Ponadto Centaur będzie miał wbudowaną obsługę obiektów ActiveX. Umożliwi to na przykład tworzenie procedur baz danych w języku Visual Basic; Wymaga to jednak uruchomienia pakietu Centaur w środowisku Windows NT. Centaur będzie dodatkiem do Informix Dynamic Server i będzie współpracował z tradycyjnym dla tego pakietu formatem bazy danych, dzięki czemu użytkownicy nadal będą mieli do dyspozycji wszystkie dotychczasowe funkcje, a aktualizacja systemu do poziomu nowej wersji nie będzie wiązać się z dużymi trudnościami. Ponadto Centaur zachowa wszystkie możliwości projektowania i programowania, które uczyniły Informix Universal Server wyjątkowym osiągnięciem technicznym. Nowy system zostanie wyposażony w narzędzia do obiektowego projektowania baz danych, tworzenia specjalistycznych tabel i programów indeksujących; pozwoli użytkownikom budować własne funkcje w zapytaniach, a nie polegać wyłącznie na nich standardowe środki SQL. Wnioski. Po rozważeniu głównych cech architektur do budowy AIS, serwerowych systemów operacyjnych i DBMS, w przyszłości wybierzemy architekturę Internetu/Intranetu jako architekturę AIS, Linux jako system operacyjny serwera i Oracle 8i jako DBMS.

2) Klauzula SQL SELECT. Wbudowane funkcje.

WYBIERZ kolumnę Z tabeli WHERE kolumnę LIKE wzór

WYBIERZ * Z Informacje o sklepie GDZIE nazwa_sklepu LIKE "%AN% ';

WYBIERZ nazwę_kolumny Z nazwa_tabeli GDZIE nazwa_kolumny MIĘDZY wartością 1 ORAZ wartość2

WYBIERZ * Z Osób, GDZIE Nazwisko MIĘDZY „Hansen” I „Pettersen”;

WYBIERZ * Z Osób, GDZIE Nazwisko NIE JEST POMIĘDZY „Hansen” A „Pettersen”;

WYBIERZ firmę, numer zamówienia z zamówień ORDER BY( sortuj ) Firma;

WYBIERZ firmę, OrderNumber Z zamówień ORDER BY Company, OrderNumber;

WYBIERZ firmę, numer zamówienia Z zamówień ORDER BY Company DESC( Odwrotna kolejność ) ;

WYBIERZ firmę, numer zamówienia Z zamówień ZAMÓW PRZEZ firmę DESC , numer zamówienia ASC( Prawidłowy zamówienie);

WYBIERZ * Z Osób GDZIE Imię="Tove" ORAZ Nazwisko="Svendson";

WYBIERZ * Z Osób GDZIE imię="Tove" OR nazwisko="Svendson" ;

WYBIERZ * Z Osób WHERE (FirstName="Tove" LUB FirstName="Stephen") AND LastName="Svendson" ;

WYBIERZ nazwę_sklepu FROM Informacje o sklepie GDZIE Sprzedaż > 1000 LUB (Sales< 500 AND Sales > 275);

FunkcjeWYBIERAĆfunkcjonować( kolumna) ZtabelaŚREDNIA - średnia wartość w kolumnie; LICZYĆ - liczba wartości w kolumnie; MAX - największa wartość w kolumnie; MIN - najmniejsza wartość w kolumnie; SUM – suma wartości według kolumny

Przykłady: WYBIERAĆ ŚREDNIA(Wiek) OD Osób; WYBIERAĆ LICZYĆ(nazwa_sklepu) Z Informacje o sklepie; WYBIERAĆ LICZYĆ(ODRĘBNY nazwa_sklepu) Z Informacje o sklepie; WYBIERAĆ MAKS(Wiek) Z Osób WYBIERZ SUMA(Sprzedaż) Z Store_Information;

3) Serializacja transakcji, konflikty operacji. Metody serializacji transakcji. Chwyty synchroniczne, szczegółowe uchwyty synchroniczne. Metody serializacji transakcji. Przechwytywanie synchronizacji predykcji. Serializacja na podstawie znaczników czasu.

Aby osiągnąć izolację transakcji, DBMS musi stosować metody regulujące wspólną realizację transakcji. Nazywa się plan (sposób) wykonania zestawu transakcji seryjny, jeżeli wynik wspólnego wykonania transakcji jest równoważny wynikowi jakiejś sekwencyjnej realizacji tych samych transakcji. Serializacja transakcji- jest to mechanizm ich realizacji według jakiegoś seryjnego planu. Zapewnienie takiego mechanizmu jest główną funkcją komponentu DBMS odpowiedzialnego za zarządzanie transakcjami. System obsługujący serializację transakcji zapewnia rzeczywistą izolację użytkownika. Głównym problemem implementacyjnym jest wybór metody serializacji zbioru transakcji, która nie ogranicza zbytnio ich współbieżności. Trywialnym rozwiązaniem, które przychodzi na myśl, jest faktyczne wykonywanie transakcji sekwencyjnie. Są jednak sytuacje, w których można wykonywać zestawienia różnych transakcji w dowolnej kolejności, zachowując przy tym ciągłość. Przykłady obejmują transakcje tylko do odczytu, a także transakcje, które nie powodują konfliktów w obiektach bazy danych. Pomiędzy transakcjami mogą występować następujące rodzaje konfliktów: W-W - transakcja 2 próbuje zmienić obiekt zmodyfikowany przez transakcję 1, która nie została zakończona; R-W - transakcja 2 próbuje zmienić obiekt odczytany przez transakcję 1, która nie została zakończona; W-R - transakcja 2 próbuje odczytać obiekt zmodyfikowany przez transakcję 1, która nie została zakończona. Praktyczne metody serializacji transakcji polegają na uwzględnieniu tych konfliktów.

Istnieć dwa podstawowe podejścia do serializacji transakcji – w oparciu o zsynchronizowane przechwytywanie obiektów bazy danych i wykorzystanie znaczników czasu. Istotą obu podejść jest wykrywanie konfliktów transakcyjnych i ich rozwiązywanie. Najbardziej powszechnym podejściem w scentralizowanych systemach DBMS (w tym systemach opartych na architekturze klient-serwer) jest zgodność z protokołem przechwytywania synchronizacji dwufazowej obiekty bazy danych. Ogólnie rzecz biorąc, protokół jest taki, że przed wykonaniem jakiejkolwiek operacji w transakcji T na obiekcie bazy danych r w imieniu transakcji T, żądane jest przechwycenie synchronizacji obiektu r w odpowiednim trybie (w zależności od rodzaju operacji). Główne tryby przechwytywania synchronizacji to: tryb łączony - S (Shared), oznaczający wspólne przechwytywanie obiektu i wymagane do wykonania operacji odczytu obiektu; tryb wyłączny - X (eXclusive), oznaczający przejęcie obiektu na wyłączność i wymagany do wykonania operacji dodawania, usuwania i modyfikowania. Granulowany uchwyt rozrządu - podejście, w którym przechwycone synchronizacje można odpytywać o obiekty na różnych poziomach: pliki, relacje i krotki. Wymagany poziom obiektu zależy od wykonywanej operacji (na przykład, aby wykonać operację niszczenia relacji, cała relacja musi być obiektem przechwytywania synchronizacji, a aby wykonać operację usuwania krotki, ta krotka musi być obiektem przechwytywanie synchronizacji). Obiekt dowolnego poziomu można przechwycić w trybie S lub X. Predykuj przechwytywanie czasu- nie jest to przechwytywanie obiektów, ale warunków (predykatów), jakie te obiekty spełniają. Alternatywna metoda serializacji transakcji, która sprawdza się w warunkach rzadkich konfliktów transakcji i nie wymaga budowy grafu oczekujących transakcji. oparte na za pomocą znaczników czasu. Podstawowa idea metody (której istnieje wiele odmian) jest następująca: jeśli transakcja T1 rozpoczęła się przed transakcją T2, to system zapewnia tryb realizacji tak, jakby T1 został całkowicie wykonany przed rozpoczęciem T2.

W tym celu każdej transakcji T przypisywany jest znacznik czasu t, odpowiadający czasowi rozpoczęcia T. Podczas wykonywania operacji na obiekcie r transakcja T oznacza go swoim znacznikiem czasu i typem operacji (odczyt lub zmiana). Przed wykonaniem operacji na obiekcie r transakcja T1 wykonuje następujące czynności: Sprawdza, czy transakcja T, która oznaczyła ten obiekt, została zakończona. Jeżeli T się skończyło, T1 zaznacza obiekt r i wykonuje jego operację. Jeśli transakcja T nie została zakończona, T1 sprawdza, czy nie występują konflikty operacji. Jeśli operacje nie powodują konfliktów, obiekt r zostaje pozostawiony lub oznaczony znacznikiem czasu o niższej wartości, a transakcja T1 wykonuje swoją operację. Jeżeli operacje T1 i T są w konflikcie, to jeśli t(T) > t(T1) (tzn. transakcja T jest młodsza od T), T jest wycofywane i T1 jest kontynuowane. Jeśli t(T)< t(T1) (T "старше" T1), то T1 получает новую временную метку и начинается заново. К недостаткам метода временных меток относятся потенциально более частые откаты транзакций, чем в случае использования синхронизационных захватов. Это связано с тем, что конфликтность транзакций определяется более грубо. Кроме того, в распределенных системах не очень просто вырабатывать глобальные временные метки с отношением полного порядка.