Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań, 30.09.2015

Podobne dokumenty
Oracle11g: Wprowadzenie do SQL

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Microsoft SQL Server Podstawy T-SQL

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3

Hbase, Hive i BigSQL

przykłady problemów; realizacja dostaw części od producenta do klienta:

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

Paweł Rajba

Oracle PL/SQL. Paweł Rajba.

Systemy GIS Tworzenie zapytań w bazach danych

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).

Przestrzenne bazy danych Podstawy języka SQL

Relacyjne bazy danych. Podstawy SQL

Bazy Danych i Usługi Sieciowe

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

BAZY DANYCH. Transakcje. opracowanie: Michał Lech

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Bazy danych 9. SQL Klucze obce Transakcje

Bazy danych i usługi sieciowe

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Ile rekordów będzie zawierała tabela przy założeniu, że na początku była pusta?

Relacyjne bazy danych. Podstawy SQL

Tworzenie zapytań do Microsoft SQL Server

Plan ćwiczenia. Rozdział 17. zarządzania współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych

Uprawnienia, role, synonimy

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

Wykład 8. SQL praca z tabelami 5

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

1.5.3 Do czego słuŝą tymczasowe przestrzenie Zarządzanie plikami danych

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

P o d s t a w y j ę z y k a S Q L

Bazy danych 9. Klucze obce Transakcje

Bazy danych 9. Klucze obce Transakcje. P. F. Góra

Bazy danych. Dr inż. Paweł Kasprowski

Tematy projektów Edycja 2014

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Tworzenie widoku CREATE OR REPLACE VIEW [nazwa_widoku] AS SELECT [nazwy_kolumn] FROM [nazwa_tablicy];

Bazy danych wykład dziewiaty Transakcje. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE

SZKOLENIE: Administrator baz danych. Cel szkolenia

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Właściwości transakcji

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Bazy danych. Polecenia SQL

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

15. Funkcje i procedury składowane PL/SQL

Język SQL podstawy zapytań

Oracle PL/SQL. Paweł Rajba.

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Hurtownie danych. 31 stycznia 2017

CREATE USER

Administracja i programowanie pod Microsoft SQL Server 2000

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Paweł Rajba

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Transakcje jednocześnie ACID

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Wprowadzenie do Hurtowni Danych

Izolacje transakcji oraz anomalie. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

SQL (ang. Structured Query Language)

Administracja i programowanie pod Microsoft SQL Server 2000

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Plan ćwiczenia. Rozdział 17 Zarządzanie współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych

Internetowe bazy danych

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Administracja i programowanie pod Microsoft SQL Server 2000

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

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

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Język SQL. Rozdział 8. Język manipulowania danymi DML

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Tuning SQL Server dla serwerów WWW

Zarzadzanie transakcjami. Transakcje

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Ref. 7 - Język SQL - polecenia DDL i DML

Transkrypt:

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski Poznań, 30.09.2015

Plan Geneza Architektura Cechy Instalacja Standard SQL Transakcje i współbieżność Indeksy Administracja Splice Machince vs. Oracle

Geneza standard ANSI SQL skalowalność Hadoop moc obliczeniowa HBase rozwiązania RDBMS wysokie koszty skalowalnych rozwiązań rozwiązania NoSQL alternatywa dla RDBMS brak uniwersalnego SQL trudności w zapewnieniu spójności danych Splice Machine standard ANSI SQL- 99 transakcyjność Transakcje skalowanie poziome (horyzontalne)

Architektura

Architektura

Instalacja system operacyjny Centos, Red Hat, Ubuntu, MacOS, Windows JDK 1.7 rwlap do zapamiętywania historii poleceń konfiguracja środowiska zgodna z dokumentacją konieczne zwiększenie parametru startowego dla Javy

Instalacja [splice@centos splicemachine]~./bin/start-all.sh Checking for Java... Starting Splice Machine... Log file is /home/splice/splicemachine/splice.log Waiting for Splice....Detected zookeeper running@localhost in Mode: standalone... Splice Server is ready The HBase URI is http://localhost:60010 The JDBC URI is jdbc:splice://localhost:1527/splicedb Running with debug = false and config file = /home/splice/splicemachine/etc/jettysplice-admin.xml Checking for Java... Starting Splice Machine Admin... Log file is /home/splice/splicemachine/splice-admin.log Jetty Runner jar file is /home/splice/splicemachine/lib/jetty-runner- 8.1.15.v20140411.jar Admin war file is /home/splice/splicemachine/lib/splice-web-1.0.0.war Waiting for Splice Admin..... Splice Admin Server is ready The Admin URI is http://centos.localdomain:7020/

Instalacja dostęp do bazy danych : JDBC, ODBC sqlshell.sh Running Splice Machine SQL shell For help: "splice> help;" SPLICE* - jdbc:splice://localhost:1527/splicedb * = current connection splice>

Instalacja mapowanie tabel Hbase na tabele w splicedb ( Hbase wykorzystywany jako magazyn danych, zapis informacji o mapowaniu w tabelach systemowych )

Instalacja

Standard SQL umożliwia tworzenie, usuwanie i modyfikację: schematów, kluczy, indeksów, widoków, warunków integralności i praw dostępu język zapytań oparty jest na algebrze relacji obejmującej polecenia dodające, usuwające i aktualizujące dane w bazie danych (SELECT, INSERT, DELETE, UPDATE) zapewnia kontrolę transakcji - posiada polecenia blokowania danych do współbieżnych operacji (COMMIT, ROLLBACK)

Standard SQL podzapytania zapytanie do tabeli po słowie FROM, WHERE, z EXISTS, z IN, z ORDER BY i FETCH FIRST, podzapytania skalarne SELECT * FROM TPCD.SUPPLIER WHERE EXISTS (SELECT * FROM TPCD.SUPPLIER WHERE dest_city = 'RUSSIA' AND S_REGION = 'EUROPE'); optymalizacja zapytań SQL select * from TPCD.CUSTOMER --splice-properties index=cust_indx;

Standard SQL DDL DML Funkcje agregujące Funkcje okna Zapytania Sekwencje Podzapytania Synonimy Wyzwalacze CREATE TABLE, CREATE SCHEMA, ALTER TABLE, DELETE, UPDATE INSERT, DELETE, UPDATE, SELECT AVG, MAX, COUNT DENSE_RANK, RANK, ROW_NUMBER SELECT DISTINCT, GROUP BY, HAVING TAK TAK TAK NIE

Transakcje i współbieżność Anomaila Czy występuje w Splice Machine? brudny odczyt (ang. dirty read) nie utracona modyfikacja (ang. lost update) nie niepowtarzalny odczyt (ang. non-repeatable read) tak fantomy (ang. phantoms) nie

Transakcje i współbieżność Poziom izolacji Czy występuje w Splice Machine? READ UNCOMMITTED (poziom izolacji 0) nie READ COMMITTED (poziom izolacji 1) tak REPEATABLE READ (poziom izolacji 2) nie SERIALIZABLE (poziom izolacji 3) tak

Indeksy klucz główny i unikalny generuje indeksy nazwy indeksów są unikalne w ramach schematu indeks B- tree

Administracja system zarządzania bazą danych posiadający mechanizmy: zapewniające integralność i bezpieczeństwo danych pozwalające na odtworzenie zawartości bazy danych po awarii dostęp do danych poprzez język zapytań, wielodostępność danych (poprzez transakcje), mechanizmy pozwalające na autoryzację dostępu do danych optymalizujące czas dostępu do danych (indeksy)

Administracja czynności administracyjne wykonywane są poprzez procedury systemowe/funkcje splice> CALL SYSCS_UTIL.SYSCS_CREATE_USER('"FreD"', 'fredpassword'); splice> call SYSCS_UTIL.SYSCS_BACKUP_DATABASE('BACKUP'); tabele systemowe w schemacie użytkownika SYS

Administracja plany wykonania zapytań polecenie EXPLAIN wykonanie zapytania

Splice Machine vs. Oracle przyjęte założenia: wykorzystanie SSB do weryfikacji czy Splice Machine nadaje się do zapytań analitycznych sprawdzenie jak te same zapytania wyglądają w bazie Oracle

Star Schema Benchmark SF=1 SF=5 SF=10 CUSTOMER 30 000 150 000 300 000 SUPPLIER 2000 10 000 20 000 DWDATE 2556 2556 2556 PART 200 000 600 000 800 000 LINEORDER 6 001 171 29 999 810 59 986 214

Splice Machine vs. Oracle Ładowanie danych Splice Machine funkcja SYSCS_UTIL.IMPORT_DATA splice> call SYSCS_UTIL.IMPORT_DATA('TPCD','SUPPLIER',null, 'demodata/ssbdata/supplier.tbl',' ',null,null,null,null,0,'demodata/ssbdata/'; Oracle SQL Loader z opcją DIRECT=TRUE sqlldr CONTROL=ctrl_customer10.ctl userid=tpcd10/tpcd10, DIRECT=true; plik ctrl_customer10.ctl load data infile '/u01/ssbdata/1g/customer.tbl' into table customer fields terminated by " " (c_custkey,c_name,c_address,c_city,c_nation,c_region,c_phone,c_mktsegment)

Czas w [s] Star Schema Benchmark czas ładowania danych do tabeli 700.00 Tabela lineorder 600.00 500.00 400.00 300.00 200.00 100.00 0.00 SF=1 SF=5 SF=10 oracle 12.28 73.46 148.10 splice machine 24.55 218.54 612.95 oracle splice machine

Czas w [s] Star Schema Benchmark czas wykonania zapytań 350 SSB - czasy wykonania zapytań dla SF=10 300 250 200 150 100 50 0 Q1.1 Q1.2 Q1.3 Q2.1 Q2.2 Q2.3 Q3.1 Q3.2 Q3.3 Q3.4 Q4.1 Q4.2 Q4.3 oracle splice machine

Podsumowanie bazy NoSQL brak transakcji brak złączeń ograniczony SQL duży nakład pracy na zmianę aplikacji w przypadku przejścia na bazę NoSQL standard ANSI - SQL-99 ACID skalowalność przetwarzanie w czasie rzeczywistym domyślnie nie korzysta z MapReduce OLTP + OLAP bazy relacyjne duże koszty skalowania rozwiązań konieczność ręcznego partycjonowania tabel