Porównanie systemów zarządzania relacyjnymi bazami danych



Podobne dokumenty
Baza danych. Modele danych

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Wykład I. Wprowadzenie do baz danych

Technologia informacyjna

Bazy danych - wykład wstępny

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Pojęcie systemu baz danych

WPROWADZENIE DO BAZ DANYCH

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

Pojęcie systemu informacyjnego i informatycznego

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

KURS ACCESS 2003 Wiadomości wstępne

Systemy baz danych. mgr inż. Sylwia Glińska

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Pojęcie bazy danych funkcje i możliwości

Oracle11g: Wprowadzenie do SQL

22. Podstawowe pojęcia baz danych. Baza Danych. Funkcje bazy danych. Właściwości bazy danych. Modele baz danych.

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Bazy danych. Andrzej Łachwa, UJ, /15

Alicja Marszałek Różne rodzaje baz danych

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

Spis treści. Przedmowa

Projekt: MS i CISCO dla Śląska

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

SZKOLENIE: Administrator baz danych. Cel szkolenia

ZSE - Systemy baz danych 1 SIECIOWE SERWERY BAZ DANYCH

Model semistrukturalny

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Administracja bazami danych. dr inż. Grzegorz Michalski

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie. Wydział Geologii, Geofizyki i Ochrony Środowiska. Bazy danych 2

Baza danych. Baza danych to:


LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

010 BAZY DANYCH. Prof. dr hab. Marek Wisła

Pojęcie bazy danych. Funkcje i możliwości.

Bazy danych 2. Wykład 1

ORGANIZACJA ZAJĘĆ BAZY DANYCH PLAN WYKŁADU SCHEMAT SYSTEMU INFORMATYCZNEGO

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Bazy danych Wykład zerowy. P. F. Góra

RELACYJNE BAZY DANYCH

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

Analiza porównawcza wybranych własności systemów zarządzania bazami danych

Relacyjne bazy danych

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia

Wprowadzenie do systemów baz danych. Wykład 1

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia.

Pojęcie bazy danych funkcje i możliwości Charakterystyka baz danych:

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

RELACYJNE BAZY DANYCH I ICH ZNACZENIE W SYSTEMACH INFORMACJI GEOGRAFICZNEJ

Ekspert MS SQL Server Oferta nr 00/08

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

WYMAGANIA EDUKACYJNE

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

Tworzenie aplikacji bazodanowych

Opisy efektów kształcenia dla modułu

DEKLARATYWNE ZARZĄDZANIE W MICROSOFT SQL SERVER

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

Organizacja zajęć BAZY DANYCH II WYKŁAD 1. Plan wykładu. SZBD Oracle

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Przestrzenne bazy danych. Definicja i cechy przestrzennych baz danych

Indeksowanie w bazach danych

Bazy danych. Andrzej Łachwa, UJ, /14

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

egroupware czy phpgroupware jest też mniej stabilny.

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Wykład XII. optymalizacja w relacyjnych bazach danych

Współczesne systemy baz danych

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

W załączniku nr 9 do SIWZ Zamawiający wprowadza następujące zmiany:

Podstawowe informacje o bazach danych. Technologie Informacyjne

Programowanie obiektowe

WPROWADZENIE DO BAZ DANYCH

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

STROJENIE BAZ DANYCH: INDEKSY. Cezary Ołtuszyk coltuszyk.wordpress.com

S y s t e m y. B a z D a n y c h

Bazy danych dokumentów XML wykład 1 wprowadzenie

Dr Michał Tanaś(

BAZY DANYCH. Wykłady dla studentów Wydziału Matematyki i Informatyki UAM. Dr inż. Anna Stachowiak B4-27

Wykład 2. Relacyjny model danych

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Program nauczania. Systemy baz danych. technik informatyk

Systemy GIS Systemy baz danych

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Multimedialne bazy danych. Andrzej Łachwa, WFAiIS UJ 2011

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Transkrypt:

Jarosław Gołębiowski 12615 08-07-2013 Porównanie systemów zarządzania relacyjnymi bazami danych Podstawowa terminologia związana z tematem systemów zarządzania bazami danych Baza danych jest to zbiór danych opisujący pewien wybrany fragment rzeczywistości według określonych zasad. System zarządzania bazami danych (SZBD) jest to oprogramowanie lub system informatyczny służący do zarządzania bazami danych. Funkcjonalności SZBD wsparcie dla języka bazy danych wsparcie dla struktur danych efektywne składowanie i przetwarzanie danych (optymalizacja dostępu do danych) ochrona przed nieautoryzowanym dostępem do danych współbieżny dostęp do danych - na tych samych danych pracują różne aplikacje nie kolidując ze sobą zagwarantowanie bezpieczeństwa danych w przypadku awarii wielość interfejsów dostępu do bazy danych możliwość przedstawienia tych samych danych w różnych formatach np. formularz, raporty Interakcja z bazą danych Programy użytkowe kontaktują się z bazą danych za pomocą języka SQL. SQL jest to strukturalny język stosowany do formułowania zapytań w odniesieniu do baz danych. Za jego pomocą możliwe jest tworzenie, modyfikacja baz danych oraz operowanie na danych w niej zawartych. SQL to język deklaratywny, wymaga jedynie określenia, co chcemy otrzymać w wyniku wykonania zapytania. Za to, w jaki sposób zadanie zostanie zrealizowane odpowiada SZBD. Opracowany w latach 70 przez IBM, SQL jest uniwersalnym interfejsem do większości SZBD. Innym wartym wymienienia, aczkolwiek rzadziej stosowanym sposobem komunikacji z bazami danych jest rodzina języków bazodanowych xbase. Podział SZBD ze względu na wykorzystywany model danych relacyjne dane reprezentowane są w postaci dwuwymiarowych tabel o określonej liczbie kolumn i dowolnej liczbie wierszy. Tabele (zwane relacjami) powinny zawierać jednorodne informacje obiektów określonego typu obiektów obiektowe - dane przechowywane są w strukturach obiektowych w postaci klas wraz z przywiązanymi do nich metodami (procedurami). Możliwe jest dokonywanie operacji na obiektach tak jak na zmiennych programu. 1

obiektowo-relacyjne dane przechowywyane są tak jak w modelu relacyjnym w postaci tabel, jednak możliwe jest dokonywanie operacji na nich tak jak na obiektach semistrukturalne - struktura danych jest określana za pomocą grafu węzłów i krawędzi. Służą jako model dokumentów w notacji takiej jak XML. hierarchiczne - dane są przechowywane na zasadzie rekordów nadrzędnychpodrzędnych, przypominających strukturę drzewa. Przykładem może być struktura katalogów na dysku czy drzewo genealogiczne. W odróżnieniu od semistrukturalnych rekord może mieć tylko jednego rodzica. sieciowe - rozwinięcie bazy hierarchicznej przez dodanie możliwości zapisu relacji wieledo-wielu. Występują dodatkowe połączenia, umożliwiające uzyskanie dostępu do danego rekordu bez potrzeby każdorazowego przechodzenia przez strukturę drzewa. Relacyjne bazy danych są najpowszechniej stosowane. Dlatego bazy wykorzystujące ten model danych zostaną porównane. Popularne Systemy zarządzania relacyjnymi bazami danych (RDBMS) RDBMS możemy podzielić na dwie zasadnicze grupy - systemy komercyjne oraz systemy niekomercyjne. Systemy komercyjne, które wymagają nabycia płatnych licencji oferują nam różne dodatkowe funkcjonalności oraz wsparcie techniczne. W razie problemów otrzymamy pomoc od suportu. Niekomercyjne RDBMS są wolnym oprogramowaniem, zwolnionym z opłat przynajmniej dla celów niekomercyjnych. Często są rozwijane przez wolontariuszy i nie możemy liczyć na wsparcie. Komercyjne: Oracle Database DB2 Informix Microsoft SQL Server Niekomercyjne: MySQL Firebird PostgreSQL Wsparcie dla systemów operacyjnych SZBD Oracle DB2 Informix MS SQL Server MySQL Firebird PostgreSQL Wspierane systemy operacyjne Windows, OS X, Linux, UNIX Windows, OS X, Linux, UNIX Windows, OS X, Linux, UNIX, BSD Windows Windows, OS X, Linux, UNIX, BSD, Symbian Windows, OS X, Linux, UNIX, BSD, Android Windows, OS X, Linux, UNIX, BSD 2

Kontrola dostępu i zabezpieczenia RDBMS Audyt Ochrona przed Szyfrowanie sieci Zasady Certyfikat atakami Brute-force wewnętrznych złożoności hasła bezpieczeństwa Oracle Tak Tak Tak Tak Tak DB2 Tak Nie Tak Tak Tak Informix Tak Nie Tak Nie Nie MS SQL Server Tak Nie Tak Tak Tak MySQL Nie Nie Tak Nie Nie Firebird Nie Tak Nie Nie Nie PostgreSQL Tak Tak Tak Tak Tak *Audyt monitorowanie działań użytkowników i działań na obiektach Oracle i PostgreSQL udostępniają największą gammę rozwiązań podnoszących bezpieczeństwo bazy danych. Indeksowanie Jest to struktura powiązana z tabelą umożliwiająca szybsze wykonywanie zapytań SQL. Rodzaje indeksów: bitmapowe - informacje przechowywane są w postaci mapy bitów (macierz bitów danych) dla każdej wartości występującej w danej kolumnie unikalne ograniczenie zapewniające, że w relacji nie będzie dwóch rekordów z tą samą wartością atrybutu indeksowego pełnotekstowe przeszukiwanie kolumn tekstowych bazujące na analizie poszczególnych słów hash jest to funkcja(zwana mieszającą), która przyporządkowuje dowolnie dużej liczbie krótką pozornie losową wartość drzewa R-/R+ dane indeksowane są w postaci obiektów geometrycznych (wielokąty, linie i punkty). Grupowane są przy użyciu algorytmu minimalnej obwiedni prostokątnej (MBR). Obiekty są dodawane do indeksu wskazującego na najmniejszy przyrost wielkości dodawanych obiektów odwrócone wartość w indeksie jest przechowywana w odwrotny sposób niż wartość przechowywana w atrybutach, np. BAZA będzie przechowywana jako AZAB GiST umożliwia złożone wyszukiwanie za pomocą operatorów takich jak np. <<, &<, &>, >>, <<, &<, &>, >>, @>, <@, ~=, && GIN indeksy potrafiące obsłużyć wartości, które posiadają więcej niż jeden klucz, jak np. tablice filtrowane selekcja wyników wyszukiwania według zadanych kryteriów 3

Stosowane mechanizmy w poszczególnych DBMS: Oracle Database: indeksy bitmapowe, unikalne, pełnotekstowe, Hash, drzewa R-/R+, odwrócone, filtrowane DB2: indeksy bitmapowe, unikalne, pełnotekstowe, odwrócone Informix: indeksy bitmapowe, unikalne, GIN, GiST, pełnotekstowe, Hash, drzewa R- /R+, odwrócone, filtrowane Microsoft SQL Server indeksy unikalne, pełnotekstowe, filtrowane, przestrzenne MySQL: indeksy pełnotekstowe, Hash, drzewa R-/R+ Firebird: indeksy unikalne, odwrócone PostgreSQL: indeksy bitmapowe, unikalne, pełnotekstowe, Hash, drzewa R-/R+, odwrócone, GIN, GiST, filtrowane Oracle, Informix oraz PostgreSQL oferują największą ilość indeksów. Zaletą jest przyśpieszenie wyszukiwania danych oraz wzrost stopnia współbieżności wykonywanych operacji. Wadą natomiast możliwe spowolnienie modyfikacji danych. Ograniczenia rozmiaru danych *BLOB/CLOB -typ danych umożliwiający przechowywanie dużych ilości danych jako pojedynczy obiekt. BLOB dane binarne (np. pliki graficzne, muzyczne) CLOB dane znakowe (np. długie łańcuchy znaków, pliki tekstowe) Jaki system zarządzania bazą danych wybrać? Wybierając najlepszy dla siebie SZBD należy odpowiedzieć sobie na kilka podstawowych pytań: 1. Jak ważna jest cena? Jest to często jeden z najważniejszych czynników, jakie programiści biorą pod uwagę wybierając SZBD. Z wiadomych powodów wolne oprogramowanie nie dorównuje systemom komercyjnym. Systemy najbardziej popularne, a mianowicie Oracle oraz MS SQL Server oferują najwyższą niezawodność i jakość działania. Jednak wysoka cena (180$ licencja na jednego użytkownika Oracle, MS Server podobne stawki w zależności od dystrybucji oraz liczby licencji) często zmuszają do wyboru mniej popularnych rozwiązań, aczkolwiek nie koniecznie odbiegających jakością od wyżej wymienionych. 2. Jak ważna jest kompatybilność z różnymi systemami operacyjnymi? 4

W zasadzie wszystkie porównywane SZBD oferują wsparcie dla większości systemów operacyjnych. Wyjątkiem jest MS SQL Server, który pomimo kompatybilności jedynie z platformą Windows ma bardzo duży udział w rynku. 3. Jakie dodatkowe funkcjonalności są nam potrzebne? Podsumowanie Do prostych, mało wymagających projektów wystarczające są darmowe systemy takie jak MySQL, Firebird. Oracle, DB2, Informix, MS SQL Server są odpowiednie do dużych projektów, z dużym budżetem. Stoją za nimi duże korporacje oferujące wsparcie techniczne. Są gwarancją niezawodności i płynności działania. PostgreSQL dzięki dużym możliwościom proceduralnego języka PL/pgSQL jest dobrą alternatywą dla systemów komercyjnych. 5