Wprowadzenie do baz NoSQL
|
|
- Milena Bukowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Wprowadzenie do baz NoSQL Technologie zarządzania treścią dr inż. Robert Perliński Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej 13 października 2016
2 Wprowadzenie do baz NoSQL 2/68 Kwestie organizacyjne Kontakt: mail: strona: konsultacje: wtorek 16:00-17:30, piątek 14:00-15:30 (najlepiej po wcześniejszym umówieniu drogą mailową)
3 Wprowadzenie do baz NoSQL 3/68 Plan przedmiotu 1 MEAN stack - krótkie wprowadzenie w Node.js 2 Wprowadzenie do baz danych NoSLQ 3 Bazy danych klucz-wartość 4 Redis 5 Bazy danych dokumentów 6 MongoDB - wprowadzenie, JSON 7 MongoDB - grupowanie, operatory agregacji 8 MongoDB - indeksy 9 Bazy rodziny kolumn 10 Cassandra - część 1 11 Cassandra - część 2 12 Bazy grafowe 13 Neo4j - część 1 14 Neo4j - część 2 15 XML i technologie pochodne
4 Wprowadzenie do baz NoSQL 4/68 Literatura Pramod J. Sadlage, Martin Folwer, NoSQL Kompendium wiedzy, Helion, 2015 Dan Sulivan, NoSQL Przyjazny przewodnik, Helion 2016 Karl Seguin, The Little Redis Book, 2012, Karl Seguin, The Little MongoDB Book, 2011, P. Kazienko, K. Gwiazda, XML na poważnie, Helion 2002 Dokumentacja online:
5 Wprowadzenie do baz NoSQL 5/68 Plan wykładu 1 Bazy NoSQL Ranking baz NoSQL, podział na modele danych Termin NoSQL Przyczyny powstania baz NoSQL Spójność, teoria CAP Modele dystrybucyjne 2 Porównanie do baz relacyjnych 3 Model danych NoSQL a model relacyjny Model danych zorientowany na agregacje 4 Inne modele danych Bazy grafowe Bazy danych bez schematu 5 Źródła
6 Najpopularniejsze bazy NoSQL Wprowadzenie do baz NoSQL 6/68
7 Wprowadzenie do baz NoSQL 7/68 Najnowszy ranking systemów baz danych 36 spośród 100 najważniejszych SZBD obecnych na rynku, to bazy NoSQL. Bardzo dynamiczna branża przemysłu informatycznego: nowe bazy NoSQL powstają co roku, powstają też nowe funkcjonalności.
8 Wprowadzenie do baz NoSQL 8/68 Różne modele baz danych Liczba systemów w każdej kategorii:
9 Wprowadzenie do baz NoSQL 9/68 Różne modele baz danych Popularność różnych modeli daz danych:
10 Wprowadzenie do baz NoSQL 10/68 Różne modele baz danych Zmany popularności od stycznia 2013 roku:
11 Wprowadzenie do baz NoSQL 11/68 Pojawienie się terminu NoSQL Prawdziwy początek Johan Oskarsson chciał zorganizowanie spotkania o nowych bazach - czerwiec Potrzebne było dobre hasło do Twittera, chwytliwe, mające mało wynikow w Google. Po sugestiach z kanału IRC #cassandra wybrał NoSQL. Nazwa była negatywna i nie do końca pasowała do opisywanych systemów - przyjeła się jednak. Przyjęła się nie tylko na to jedno spotkanie ale na cały trend projektowania baz danych innego typu. Spotkanie organizowane pod tym hasłem dotyczyło otwartych, rozproszonych, nierelacyjnych baz danych.
12 Wprowadzenie do baz NoSQL 12/68 Termin NoSQL Dwa znacznia: nie SQL - średnio dobry termin - bazy NoSQL mobłyby z powodzeniem używać SQLa; niektore posiadają języki zapytań, np. QCL z Cassandry, nie tylko SQL - oznaczałoby też bazy relacyjne, takie do NoSQL nie należą. Termin NoSQL: przyjął się, ale wprowadza w błąd, nic konkretnego nie definiuje, jest taką nie-definicją, odnosi się do niedawno powstałych baz nierelacyjnych.
13 Wprowadzenie do baz NoSQL 13/68 Termin NoSQL Termin NoSQL odnosi się: do niezidentyfikowanego zestawu baz danych, przeważnie typu open source, przeważnie stworzonych w XXI wieku, przeważnie nie wykorzystujących języka SQL.
14 Wprowadzenie do baz NoSQL 14/68 Dwa rodzaje skalowania Ciągle zwiększające się zapotrzebowanie na dane i zasoby (np. poprzez portale społecznościowe). skalowanie w górę (pionowe) - większa wydajność i pojemność serwera, dużo większa cena, skalowanie w bok (poziome) - wykorzystanie wielu słabszych maszyn w klastrze, mniejsza cena.
15 Wprowadzenie do baz NoSQL 15/68 Przyczyny powstania baz NoSQL (Bardzo) duża liczba użytkowników - trudność w wykorzystaniu baz relacyjnych. Właściwości SZBD ważne przy wykonywaniu zadań na dużą skalę: skalowalność - zdolność do efektywnego radzenia sobie ze zmiennym obciążeniem; skalowanie w poziomie bardziej elastyczne niż skalowanie pionowe (w górę), bazy NoSQL lepiej przystosowane do skalowania poziomego, nie potrzeba wymieniać serwera, koszt - wysokie koszty i trudności w określeniu potrzebnej licencji; darmowe i otwarte oprogramowanie NoSQL zachęca do użycia go, elastyczność odpowiednie bazy do odpowiednich potrzeb, bazy NoSQL są dobre dla danych niehomogenicznych (zróżnicowanych), np. różne atrybuty produktów w aplikacji e-commerce, dostępność - wysokie oczekiwania w stosunku do dostępności aplikacji; wiele serwerów działających w klastrze pozwala na dostępność, nawet przy awarii któregoś z tych serwerów. Zapotrzebowanie na systemy skalowalne, tanie, elastyczne, o wysokiej dostępności.
16 Wprowadzenie do baz NoSQL 16/68 Bazy NoSQL - open source i do pracy w klastrach Bazy relacyjne nie są zaprojektowane do pracy w klastrach. Podział bazy relacyjnej na klastry jest możliwy ale bardzo dużo się traci, są to nienaturalne działania. Google Bigtable i Amazon Dynamo - pierwsze udane na masową skalę wdrożenia innego sposobu przechowywania danych. Ogromny wpływ na powstanie NoSQL. NoSQL mocno zakorzeniony w ruchu open source.
17 Wprowadzenie do baz NoSQL 17/68 Bazy NoSQL Bazy NoSQL: pozwalają na przechowywanie danych bez schematu, zwiększają produktywność tworzenia aplikacji - udostępniają model danych lepiej pasujący do potrzeb aplikacji, nie potrzeba poświęcać czasu na mapowanie danych, zamiast tradycyjnej spójności udostępniają szereg innych wartościowych właściwości, są łatwiejsze w skalowaniu i programowaniu.
18 Wprowadzenie do baz NoSQL 18/68 Wymagania wobec systemu baz danych, spójność Wymagania: przechowywanie danych w sposób trwały, utrzymywanie spójności danych, zapewnianie dostępności danych. Wymagania wobec spójności (dwa jej rodzaje): pełna spójność, dotyczy transakcji bazodanowych w bazach relacyjnych, utrzymanie jednego, logicznie spójnego widoku danych, np. przelewy na kontach bankowych, możliwa chwilowa niespójność, ostatecznie wszystkie dane będą takie same, dotyczy stanu kopii danych w systemach rozproszonych, serwery są spójne, jeśli zgromadzone na nich dane są takie same, implementowana przez bazy NoSQL, np. towary w koszyku sklepowym (jest mało prawdopodobne, że ktoś inny będzie patrzył na nasz koszyk).
19 Wprowadzenie do baz NoSQL 19/68 ACID i BASE ACID - akronim czterech właściwości baz relacyjnych: atomowość (ang. atomicity), niepodzielność transakcji, spójność (ang. consistency), rygorystyczna spójność, po transakcji wszystkie dane są integralne, izolacja (ang. isolation), transakcje są izolowane, nie są widoczne dla innych, trwałość (ang. durability), zakończona transakcja oznacza utrwalenie danych na dysku. Bazy NoSQL nie wspierają własności ACID, co najwyżej niektóre z nich. Wspierają natomiast właściwości BASE.
20 Wprowadzenie do baz NoSQL 20/68 ACID i BASE Właśności BASE baz NoSQL: zasadnicza dostępność (ang. basically available) - w pewnych częściach systemu mogą występować awarie, ale reszta systemu kontynuuje działanie, mięki stan (ang. soft state) - stan systemu może się zmieniać w czasie nawet bez zmiany danych, które mogą zostać nadpisane nowszymi danymi, ma to związek z ostateczną spójnością, ostateczna spójność (ang. eventually consistent) - wkońcu wszystkie dane w klastrze będą spójne, ale będą chwile, że dane nie będą spójne.
21 Teoria CAP Bazy relacyjne Klucz-wartość Rodzina kolumn Dokumentów Każdy klient może zawsze odczytywać i zapisywać dane. Availability (dostępność) RDBMS (Oracle, MySQL, Postgre,...) Cassandra Dynamo Voldemort SimpleDB CouchDB Riak Consistency (spójność) Wszyscy klienci mają zawsze ten sam obraz danych (dane są zawsze spójne). BigTable, HBase, Hypertable MemcacheDB, Redis, BerkeleyDB MongoDB, Terrastore Partition tolerance (odporność na partycjonowanie) System działa bezbłędnie niezależnie od fizycznego podziału sieci (brak łączności między węzłami klastra). Teoria CAP - bazy danych nie mogą jednocześnie zapewniać spójności (ang. consistency), dostępności (ang. availability) i ochrony przed partycjonowaniem (ang. partition tolerance). Wprowadzenie do baz NoSQL 21/68
22 Wprowadzenie do baz NoSQL 22/68 Replikacja i współdzielenie Tło: działanie baz NoSQL w dużych klastrach, agregacje są idealnymi jednostkami do dystrybucji, różne modele dystrybucyjne - różne opcje: obsługa większych ilości danych, możliwość przetworzenia większego ruchu odczytu i zapisu, większa niezawodność w dostępnie do danych. Dwie główne ścieżki dystrybucji: replikacja - te same dane kopiowane są na wiele serwerów, współdzielenie - umieszczanie różnych danych na różnych serwerach. Replikacja i współdzielenie są do siebie ortogonalne - można je stosować jednocześnie. Dwie formy replikacji: master-slave, peer-to-peer.
23 Wprowadzenie do baz NoSQL 23/68 Replikacja i współdzielenie Replikacja Współdzielenie
24 Wprowadzenie do baz NoSQL 24/68 Modele dystrybucyjne I Najważniejsze modele dystrybucyjne: pojedynczy serwer - baza działa na jednej maszynie obsługującej wszystkie odczyty i zapisy, współdzielenie (ang. sharding) różne części danych na różnych serwerach; 10 serwerów, każdy obsługuje 10% zapytań (np. podział na kraje, dni tygodnia...), zwiększa szybkość zapisu i odczytu, nie poprawia niezawodności i bezpieczeństwa danych, replikacja master-slave - kopie danych na wielu serwerach, replikacja synchronizuje podległe serwery z tym nadrzędnym, dobrze się nadaje do systemów gdzie głównie odczytuje się dane, zapis tylko na serwer główny, zapewnia niezawodność odczytu, serwery podrzędne mogą służyć też tylko jako kopia zapasowa, różne połączenia z bazą (różne ścieżki) do zapisu i odczytu, brak spójności.
25 Wprowadzenie do baz NoSQL 25/68 Modele dystrybucyjne II Najważniejsze modele dystrybucyjne: replikacja peer-to-peer brak serwera głównego (nie ma serwera podatnego na awarię), wszystkie repliki mają równe prawa, wszystkie wykonują zapis, jest problem ze spójnością chwilowa niespójność przy odczycie, konflikt zapis-zapis w różnych miejscach - trwała niespójność, dwa sposoby reagowania przy zapisie: pilnowanie spójności i mniejsza dostępność, większa dostępność ale zgoda na niespójność, łączenie współdzielenia i replikacji replikacja master-slave i współdzielenie wiele serwerów głównych (każda część ma jeden serwer główny), serwer może być głównym dla jednych danych i podrzędnym dla innych, replikacja peer-to-peer i współdzielenie częste dla baz rodziny kolumn - dziesiątki lub setki serwerów w klastrze, współczynnik przetworzenia równy np. 3 - każda część danych jest na 3 serwerach.
26 Wprowadzenie do baz NoSQL 26/68 Zarządzanie danymi w systemach rozproszonych Bazy NoSQL to zazwyczaj bazy rozproszone - prowadzi to do pewnych problemów z zarządzaniem danymi. Jeden serwer - łatwo o przerwy w dostępności. Możliwa większa dostępność dzięki zapasowemu serwerowi. Wykorzystanie zapasowego serwera zwiększa czas zapisu ale zwiększa dostępność.
27 Wprowadzenie do baz NoSQL 27/68 Odczyt i zapis - kworum Kworum - liczba serwerów, które muszą odpowiedzieć na operację odczytu czy zapisu, aby operacja została uznana za zakończoną. Wymaganą liczbę serwerów określa próg. Przykład: z 5 serwerów 2 mają chwilowo niespójne dane, próg odczytu wynosi 3, baza odpytuje wszystkie 5 serwerów i zlicza ile razy pojawiły się poszczególne wartości, zwraca jest ta wartość, której liczba wystąpień wyniesie lub przekroczy 3.
28 Wprowadzenie do baz NoSQL 28/68 Równoważenie czasów reakcji i spójności Różnie określając wartość progu odczytu można równoważyć czas reakcji i spójność: próg ustawiony na 1 - minimalny czas reakcji, najszybsza odpowiedź, większe ryzyko niespójności, próg ustawiony na 5 - gwarancja spójnego odczytu, wyniki zwracane dopiero po zaktualizowaniu wszystkich replik, możliwy długi czas odczytu.
29 Wprowadzenie do baz NoSQL 29/68 Równoważenie czasów reakcji i trwałości Trwałość oznacza zdolność zachowania danych przez dłuższy czas. Operacja zapisywania jest zakończona, kiedy dane zostaną zapisane w minimalnej liczbie replik. Różnie określając wartość progu zapisu można równoważyć czas odpowiedzi i trwałość: próg ustawiony na 1 - zapis uznany za komplenty przy zapisaniu danych już na jednym serwerze (szybka odpowiedź ale łatwiej o utratę takich danych), próg ustawiony na 5 - maksymalna trwałość ale długi czas reakcji. W praktyce próg zapisu równy przynajmniej 2 zapewnia trwałość i nie wydłuża czasu zapisu. Liczba replik powinna być większa niż próg.
30 Wprowadzenie do baz NoSQL 30/68 Bazy relacyjne a NoSQL Niezmienne królowanie baz relacyjnych przez ostatnie 20 lat. Lata 90 - chwilowa moda na bazy obiektowe. Czy bazy NoSQL zajmą stałe miejsce w środowisku? Plusy na korzyść baz relacyjnych: dane w organizacji mają znacznie dłuższy czas niż same aplikacje, stabilny magazyn danych, który jest zrozumiały i dostępny z poziomu wielu platform programistycznych.
31 Wprowadzenie do baz NoSQL 31/68 Zalety i wartość baz relacyjnych Zalety i wartość baz relacyjnych: trwałe przechowywanie dużych ilości danych, SZBD zawiera dużo narzędzi wspierających dostęp, manipulowanie i wyszukiwanie danych, współbieżność - jednoczesna praca wielu użytkowników, czasem nawet na tym samym fragmencie danych - transakcje, integracja - współpraca różnych aplikacji i zespołów pracowników przez współdzieloną bazę danych, ustandaryzowany model - każdy specjalista może z łatwością pracować na różnych bazach relacyjnych, ustandaryzowany język SQL.
32 Wprowadzenie do baz NoSQL 32/68 Wady baz relacyjnych Wady baz relacyjnych: dane przechowywane w tabelach i wierszach (relacje i krotki), krotki zawierają tylko proste dane, żadnych zagnieżdżonych struktur, dane przechowywane w sposób znormalizowany (wada ale i zaleta), niezgodność impedancji - inny model danych w bazie, a inne dane w programie czy w ogóle w strukturze pamięci.
33 Wprowadzenie do baz NoSQL 33/68 Wady baz relacyjnych Niezgodność impedancji złagodzona dzięki mapowaniu obiektowo relacyjnemu. Nie jest to rozwiązanie doskonałe... Po roku 2000 bazy relacyjne nadal królują... ale zaczęły się pojawiąc nowe technologie - NoSQL.
34 Wprowadzenie do baz NoSQL 34/68 Bazy integracji i aplikacji Relacyjne bazy danych jako bazy integracji: integracja różnych aplikacji i zespołu pracowników, jedna baza - dane przetwarzane przez wiele aplikacji, zapewnienie spójnego zestawu trwałych danych, skomplikowana struktura bazy, wymaga koordynacji większości zmian. Baza danych jako baza aplikacji: dostęp tylko jednej aplikacji, zarządzanej przez specjalny zespół, tylko zespół zna strukturę bazy - łatwość i bezpieczeństwo zmian, odpowiedzialność za integralność danych w kodzie aplikacji, współpraca między aplikacjami - Web Services, komunikacja za pośrednictwem http, dane agregacyjne w formacie XML czy JSON.
35 Wprowadzenie do baz NoSQL 35/68 Bazy integracji i aplikacji Baza aplikacji: może działać z dowolnym silnikiem bazy danych (baza NoSQL albo relacyjna), na zewnątrz udostępnia tylko usługi, interfejs, nie jest bezpośrednio dostępna na zewnątrz - większe bezpieczeństwo. Mimo takiej swobody większoś baz aplikacyjnych działa na bazach relacyjnych.
36 Wprowadzenie do baz NoSQL 36/68 Termin NoSQL a rzeczywistość Od pojawienia się baz NoSQL bazy relacyjne są jedną z opcji do wyboru, nie są jedynym wyborem. Bazy NoSQL najlepiej nadają się jako bazy aplikacji - enkapsulacja baz danych w usługi. Transakcje ACID z baz relacyjnych przeszkadzają w działaniu na klastrze. Bazy NoSQL nie zapewniają transakcji, udostępniają inne sposoby zachowania spójności i dystrybucji. Bazy grafowe nie są projektowane do działania na klastrach, są zbliżone do baz relacynych, mają jednak zupełnie inny model danych. Działają bez schematu danych, można dowolnie dodawać pola do rekordów w bazie. Nie wymaga to zmiany struktury bazy.
37 Wprowadzenie do baz NoSQL 37/68 Skutki upowszechnienia baz NoSQL Zmiany na rynku baz danych: Bazy relacyjne nadal będą najważniejsze ale nie będą już jedynymi. Początek poliglotycznego przechowywania danych, dane przechowywane w różnych modelach Przedsiębiorcy i pojedyncze aplikacje korzystający z wielu technologii przechowywania danych. Projektanci i programiści baz danych: musza znać bazy post-relacyjne ale też bazy NoSQL, potrafić ocenić, który model jest bardziej odpowiedni do danego zadania. Podjęcie właściwej decyzji wymaga dostatecznego poziomu wiedzy o obu modelach danych.
38 Wprowadzenie do baz NoSQL 38/68 Model danych Model danych to model za pomocą którego przeglądamy dane i manipulujemy nimi. Model przechowywania opisuje, w jaki sposób dane są przechowywane i manipulowane wewnętrznie. Model danych: konkretny model danych aplikacji, np. konkretny diagram encji, przede wszystkim model, zgodnie z którym baza organizuje dane - metamodel.
39 Wprowadzenie do baz NoSQL 39/68 Model danych NoSQL a model relacyjny Dominujący model relacyjny: NoSQL: zestaw tabel (relacji), wiersze odpowiadają encji, encja to zestaw kolumn, każda ma wartość i określony typ, związki między tabelami (klucze główne i obce) - relacje wprowadza odejście do modelu relacyjnego, każdy model NoSQL jest inny, wyróżniamy cztery kategorie, 3 podobne modele (zorientowane na agregacje): klucz-wartość, dokument i rodzina kolumn.
40 Podział baz NoSQL ze względu na model danych Model danych Przykładowe bazy Model danych Przykładowe bazy Klucz - wartość BerkeleyDB Rodzina kolumn Amazon SimpleDB Memcached Cassandra Project Voldemort HBase Redis Hypertable Riak Dokument CouchDB Bazy grafowe FlockDB MongoDB HyperGraphDB OrientDB Infinite Graph RavenDB Neo4J Terrastore OrientDB Niektóre bazy danych pasują do więcej niż jednej kategorii. Inne są na granicy kategorii. Pełana lista baz NoSQL (i nie tylko) na stronach: Wprowadzenie do baz NoSQL 40/68
41 Wprowadzenie do baz NoSQL 41/68 Dane w modelu zorientowanym na agregacje Ograniczenia krotek w modelu relacyjnym: są tylko prostym zestawem wartości, nie można ich zagnieżdżać. Model zorientowany na agregacje: operujemy na na złożonych strukturach, takie złożone struktury nazwiemy agregacją, Agregacje: można myśleć jako o rekordach, które zawierają inne rekordy czy listy, kolekcja obiektów traktowana jako jednostka, taką jednostkę, agregację przechowujemy, przesyłamy i poprzez nią manipulujemy na danych. ułatwiają pracę w klastrach - są naturalną jednostką do replikacji i współdzielenia.
42 Wprowadzenie do baz NoSQL 42/68 Relacyjny model danych Przykład ze sprzedażą towarów użytkownikowi:
43 Wprowadzenie do baz NoSQL 43/68 Relacyjny model danych Dane w bazie relacyjnej po normalizacji: Żadne dane się nie powtarzają, jest integralność referencyjna.
44 Wprowadzenie do baz NoSQL 44/68 Model danych zorientowany na agregacje w klientach { } "id":28, "nazwa":"jan Kowalski", "adresplatnika": [{"miejscowosc":"częstochowa"}] w zamówieniach { } "id":99, "klientid":28, "pozycjezamowienia": [ { "produktid":25, "cena": 32.45, "produktnazwa": "NoSQL Databases" } ], "adreswysylki": [{"miejscowosc":"częstochowa"}], "zamowienieplatnosc": [ { "numerkarty":" ", "NIP": " ", "adresplatnika": {"miejscowosc":"częstochowa"} } ]
45 Wprowadzenie do baz NoSQL 45/68 Model danych oparty o agregacje Przykład ze sprzedażą towarów użytkownikowi:
46 Wprowadzenie do baz NoSQL 46/68 Model danych oparty o agregacje Przykład ze sprzedażą towarów użytkownikowi Dwie podstawowe agregacje: klient i zamówienie. Lista adresów w kliencie, adres ustalony na dzień zakupów. Zamówienie zawiera listę pozycji zamówienia, płatności oraz adres wysyłki. Płatność zawiera wykorzystany adres płatnika. Pojedynczy adres pojawia się trzy razy! Nie potrzebne jest ID adresu. Adres płatności i wysyłki nie ulegają zmianie. Połączenie między klienetem a zamówieniami poprzez ID klienta - należy odczytać z relacji między agregacjami.
47 Wprowadzenie do baz NoSQL 47/68 Wszystkie zamówienia w agregacji klienta w klientach { } "id": 28, "nazwa": "Jan Kowalski", "adresplatnika": [{"miejscowosc": "Częstochowa"}], "zamowienia": [ { "id": 99, "klientid": 28, "pozycjezamowienia": [ { "produktid": 25, "cena": 32.45, "produktnazwa": "NoSQL Databases" } ], "adreswysylki": [ {"miejscowosc": "Częstochowa"} ], "zamowienieplatnosc": [ { "numerkarty": " ", "NIP": " ", "adresplatnika": {"miejscowosc": "Częstochowa"} } ] } ]
48 Wprowadzenie do baz NoSQL 48/68 Inne wyznaczenie granic agregacji Przykład ze sprzedażą towarów użytkownikowi:
49 Wprowadzenie do baz NoSQL 49/68 Wybór sposobu podziału na agregacje Podział modelu danych na agregacje: zależy od sposobu, w jaki będziemy na nich manipulowali, pierwszy model - pobieranie osobno każdego zamówienia, drugi model - pobieranie klientów ze wszystkimi ich zamówieniami.
50 Wprowadzenie do baz NoSQL 50/68 Konsekwencje orientacji na agregacje Model relacyjny - agregacje realizowane przez klucze obce. Relacje agregacji nie różną się od pozostałych relacji. Model relacyjny ignoruje agregacje. Bazy zorientowane na agregacje: znacznie prostsza semantyka danych, semantyka zależy od sposobu wykorzystania danych przez aplikację, skupiamy się na interakcji z magazynem danych. Agregacje również są ignorowane przez bazy grafowe. Model ignorujący agregacje pozwala na łatwe przeglądanie danych w dowolny sposób.
51 Wprowadzenie do baz NoSQL 51/68 Model agregacyjny i transakcje Bazy relacyjne: zapewniają obsługę transakcji (ACID), można manipulować dowolnymi wierszami w różnych tabelach bez obawy uzyskania niespójności. Bazy NoSQL: nie wspierają transakcji ACID obejmujących kilka agregacji, wspierają atomowe operacje w ramach jednej agregacji, jednoczesna manipulacja na wielu agregacjach wymaga zapewnienia atomowiści w kodzie aplikacji, należy tak projektować, aby utrzymać potrzeby atomowoego dostępu do danych w ramach jednej agregacji.
52 Wprowadzenie do baz NoSQL 52/68 Modele klucz-wartość i dokumentów - cechy wspólne Bazy klucz-wartość i dokumentów: w głównej mierze oparte na agregacjach, zawierają dużą ich liczbę, dostęp do każdej agregacji odbywa się za pomocą klucza/identyfikatora, który ją wskazuje.
53 Wprowadzenie do baz NoSQL 53/68 Modele klucz-wartość i dokumentów - różnice Bazy klucz-wartość: dane są przezroczyste dla bazy - są nic nie znaczącym zbiorem bitów, pozwalają przechowywać co tylko się chce, jedynym ograniczeniem jest rozmiar, dostęp do danych tylko za pośrednictwem klucza. Bazy dokumentów: rozumieją struktury przechowywanych agregacji, ograniczają to, co można w nich przechowywać, poprzez definicję dopuszczalnych struktur i typów, większa elastyczność w dostępnie do danych: wysyłanie zapytań w oparciu o pola agregacji, pobieranie tylko części agregacji, tworzenie indeksów na podstawie zawartości agregacji.
54 Wprowadzenie do baz NoSQL 54/68 Modele klucz-wartość i dokumentów W paktycye różnice między bazami klucz-wartość i dokumentów częściowo się zacierają: pole z identyfikatorem w bazie dokumentów jako dostęp typu klucz-wartość, niektóre bazy klucz-wartość pozwalają: dodawać metadane do przechowywanych wartości na potrzeby indeksowania i relacji między agregacjami (Riak), rozbijanie agregacji do poziomu list czy zestawów (Redis), dodawanie wsparcia dla wykonywania zapytań. W bazach danych klucz-wartość spodziewamy się pobierania danych przede wszystkim za pomocą klucza. W bazach dokumentów wykonujemy najczęściej pewnego rodzaju zapytanie na bazie wewnętrznej struktury dokumentu.
55 Wprowadzenie do baz NoSQL 55/68 Model rodziny kolumn Jednostka przechowywania to: wiersz - najczęstszy przypadek, grupa kolumn - kiedy rzadko występuje zapis, a często odczytujemy kilka kolumn z wielu wierszy. Najlepiej patrzeć na model rodzina kolumn jako: dwuwymiarową mapę, tabelę z luźnym schematem kolumn. Bazy przechowujące grupy kolumn (rodziny kolumn) nazywamy bazami rodziny kolumn.
56 Model rodziny kolumn - przykład Dwupoziomowa struktura agregująca Pierwszy klucz - wiersz, wybór agregacji (mapa bardziej szczegółowych wartości). Drugi klucz - kolumna. Pobieranie cały wiersz: get( 1234 ) wybrana kolumna: get( 1234, nazwa ) Wprowadzenie do baz NoSQL 56/68
57 Wprowadzenie do baz NoSQL 57/68 Model rodziny kolumn Myślenie o strukturze baz rodziny kolumn przez pryzmat wiersza: patrzymy na całą agregację, jeden wiersz - jedna agregacja, np. klient o id 1234, rodziny kolum w danym wierszu reprezentują użyteczne części danych wewnątrz tej agregacji, np. profil klienta, historia zamówień, Myślenie o strukturze baz rodziny kolumn przez pryzmat kolumn: każda rodzina kolumn definiuje typ rekordu, np. profil klienta, z wierszami dla każdego z rekordów, wiersz funkcjonuje jako połączenie rekordów ze wszystkich kolumn.
58 Wprowadzenie do baz NoSQL 58/68 Model rodziny kolumn Bazy rodziny kolumn: kolumny są organizowane w rodziny, każda kolumna musi być częścią pojedynczej rodziny, rodzina kolumn funkcjonuje jako jednostka dostępu, dana rodzina kolumn jest za zwyczaj pobierana razem. Rodzina kolumn: pozwala dodawać dowolne kolumny do wierszy, wiersze mogą mieć bardzo różne zestawy kolumn, nowe kolumny można dodawać do wierszy w trybie normalnego dostępu do danych, zdefiniowanie nowej rodziny kolumn może wymagać zatrzymania bazy danych.
59 Wprowadzenie do baz NoSQL 59/68 Podsumowanie modeli zorientowanych na agregacje Cechy wspólne trzech modeli (klucz-wartość, dokument, rodzina kolumn): Agregacje indeksowane za pomocą klucza, pozwalającego na jej pobranie. Cała agregacja jest przechowywana na jednym serwerze - podstawa działania modeli tego typu w klastrach. Agragacja jako jednostka atomowa podczas aktualizacji danych - użyteczna choć ograniczona kontrola transakcyjna. W ramach pojęcia agregacji uwidaczniają się różnice pomiędzy omówionymi trzema typami danych.
60 Wprowadzenie do baz NoSQL 60/68 Podsumowanie modeli zorientowanych na agregacje Najważniejsze kwestie: Agregacja jest zestawem danych, które funkcjonują w bazie jako jednostka. Bazy klucz-wartość, dokumentów i rodzyny kolumn to bazy zorientowane na agregacje. Dzięki agregacjom przechowywanie danych w klastrach jest łatwiejsze. Bazy zrorientowane na agregacje najlepiej działają, kiedy interakcje z danymi są podejmowane w ramach jednej agregacji.
61 Wprowadzenie do baz NoSQL 61/68 Inne aspekty modelowania danych Dane w bazie połączone relacjami W wielu przypadkach dobrze jest, żeby baza danych wiedziała o połączeniach między danymi. W bazach klucz-wartość są mechanizmy, które pozwalają na definiowanie takich relacji. Przy dużej liczbie połączeń wybieramy zazwyczaj model relacyjny, ale on też nie jest tutaj dostatecznie dobry. Bazy grafowe są wyspecjalizowane w dużej liczbie relacji. Bazy grafowe to też NoSQL.
62 Bazy grafowe Wprowadzenie do baz NoSQL 62/68
63 Wprowadzenie do baz NoSQL 63/68 Bazy grafowe Powstały dzięki kiepskiej obsłudze rozbudowanych relacji w modelu relacyjnym. Dane w bazie grafowej to węzły połączone krawędziami. W bazach grafowych mamy do czynienia z niewielkimi rekordami i rozbudowanymi połączeniami między nimi. Węzły zawierają mało informacji, jest bardzo rozbudowana sieć połączeń. Zbudowany graf (węzły i krawędzie) można odpytywać. Możliwe zapytania: znajdź książki z kategori bazy danych napisane przez kogoś, kogo lubi ktoś z moich znajomych. Idealna struktura do przechowywania danych zawierających skomplikowane powiązania (np. sieci społecznościowe).
64 Wprowadzenie do baz NoSQL 64/68 Bazy grafowe Kosztowne złączenia w bazach relacyjnych - tanie w bazach grafowych (zysk trafersowania po grafie kosztem wolniejszego wstawiania danych). Nadanie indeksów niektórym węzłom pozwala na określenie miejsca początkowego (zaytanie sprawdź osoby o imionach Anna i Barbara ). Zapytania przechodzące po krawędziach, np. pokaż mi wszystkie rzeczy, które lubią Anna i Barbara. Duży nacisk na relacje powoduje dużą odmienność od baz zrorientowanych na agregacje. Częściej działają na pojedynczym serwerze niż na klastrze. Udostępniają transakcje ACID. Cechy wspólne z bazami NoSLQ: odrzucenie modelu relacyjnego, wzrost polularności w tym samym czasie co inne bazy NoSQL.
65 Wprowadzenie do baz NoSQL 65/68 Bazy bez schematu - plusy Plusy baz danych bez schematu Bazy relacyjne muszą mieć schemat żeby działać (tabele, kolumny, typy danych...). Bazy NoSQL najcześciej nie. W każdym z modeli baz NoSQL można przechowywać dowolne dane w dowolnym miejscu. Jest duża elastyczność i wolność. Zmiana schematu w bazie relacyjnej przy istniejących danych nie jest taka prosta. Baza może się zmieniać w miarę rozwoju aplikacji czy działania usługi. W każdej chwili można łatwo dodać nowe pola, kolumny, czy też usuną już nie potrzebne. Nie ma schematu... Łatwiej przechowywać też dane niestandardowe, np. różne liczby kolumn w różnych rekordach. Nie trzeba tworzyć na zapas pustych fikcyjnych kolumn, np. dodatkowa1.
66 Wprowadzenie do baz NoSQL 66/68 Bazy bez schematu - minusy Problemy przy bazach danych bez schematu Program korzystający z naszej bazy musi znać nazwy kolum czy kluczy. Musi znać typy danych. Pola: osobatelefon i telefonosoby to nie to samo. Trzeba wiedzieć czy po kluczem licznik znajdują się liczby czy może znaki alfabetu...? Wniosek: prawie zawsze korzystamy z jakiegoś domniemanego schematu choć może on być tylko w aplikacji. Posiadanie domniemanego schematu w kodzie aplikajci - trzeba przeglądać kod żeby poznać strukturę bazy. Bardzo dużo zależy od jakości kodu - czasem może być ciężko coś odczytać. Baza danych nie uznaje schematu - nie da się walidować danych. Dla kilku różnych aplikacji ta sama baza może zupełnie inaczej funkcjonować. Brak schematu nie pozwala określić jak lepiej przechowywać i pobierać dane.
67 Bazy bez schematu Schematy są wartościowe. Odrzucenie schematów przez NoSQL jest dużą nowością. Jeśli mamy dane nieposiadające jasno określonego schematu - warto wykorzystać NoSQL. Jeśli z bazy NoSQL korzysta kilka aplikacji każda z nich może mieć w kodzie inny domnienamy schemat. Rozwiązania: Bazę NoSQL możana opakować (enkapsulacja) przez jedną aplikację, która udostepni dane wszystkim innym - usługi sieciowe. Różne wydzielone obszary bazy/agragacji dla różnych aplikacji z niej korzystających. Brak schematu w NoSQL występuje tylko w granicy agregacji. Zmiana granic agregacji jest tak skomplikowana jak zmiana schematu w bazach relacyjnych. Wprowadzenie do baz NoSQL 67/68
68 Wprowadzenie do baz NoSQL 68/68 Źródła W wykładzie wykorzystano materiały: Pramod J. Sadlage, Martin Folwer, NoSQL Kompendium wiedzy, Helion, 2015 Dan Sulivan, NoSQL Przyjazny przewodnik, Helion
Hurtownie danych wykład 5
Hurtownie danych wykład 5 dr Sebastian Zając SGH Warszawa 7 lutego 2017 1 Współbieżność i integracja Niezgodność impedancji 2 bazy danych Współbieżność i integracja Niezgodność impedancji Bazy relacyjne
NoSQL. Technologie zarządzania treścią. dr inż. Robert Perliński rperlinski@icis.pcz.pl
NoSQL Technologie zarządzania treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej NoSQL 2/36 Plan wykładu 1 NoSQL 2 Model danych
Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko
Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych
Bazy danych NoSQL. wprowadzenie. Szymon Francuzik Poznań,
Bazy danych NoSQL wprowadzenie Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Poznań, 16.05.2012 Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Bazy () danych NoSQL Poznań, 16.05.2012 1 / 37 Plan
Baza danych. Baza danych to:
Baza danych Baza danych to: zbiór danych o określonej strukturze, zapisany na zewnętrznym nośniku (najczęściej dysku twardym komputera), mogący zaspokoić potrzeby wielu użytkowników korzystających z niego
Bazy danych Wykład zerowy. P. F. Góra
Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.
Pojęcie bazy danych. Funkcje i możliwości.
Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór
Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000
Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy
BAZY DANYCH. NIERELACYJNE BAZY DANYCH NoSQL I ASOCJACYJNE STRUKTURY DANYCH. Adrian Horzyk. Akademia Górniczo-Hutnicza
BAZY DANYCH NIERELACYJNE BAZY DANYCH NoSQL I ASOCJACYJNE STRUKTURY DANYCH Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki
Bazy danych NoSQL. Szymon Francuzik szymon.francuzik@cs.put.poznan.pl. Poznań, 29.10.2012
Bazy danych NoSQL Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Poznań, 29.10.2012 Szymon Francuzik szymon.francuzik@cs.put.poznan.pl Bazy () danych NoSQL Poznań, 29.10.2012 1 / 45 Plan prezentacji
MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska
MongoDB wprowadzenie dr inż. Paweł Boiński, Politechnika Poznańska Plan Historia Podstawowe pojęcia: Dokument Kolekcja Generowanie identyfikatora Model danych Dokumenty zagnieżdżone Dokumenty z referencjami
SZKOLENIE: Administrator baz danych. Cel szkolenia
SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.
Hbase, Hive i BigSQL
Hbase, Hive i BigSQL str. 1 Agenda 1. NOSQL a HBase 2. Architektura HBase 3. Demo HBase 4. Po co Hive? 5. Apache Hive 6. Demo hive 7. BigSQL 1 HBase Jest to rozproszona trwała posortowana wielowymiarowa
Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi
Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie
Wykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24
Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24 Agenda Serp24 NoSQL Integracja z CMS Drupal Przetwarzanie danych Podsumowanie Serp24 Darmowe narzędzie Ułatwia planowanie
*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.
*Grafomania z Neo4j Praktyczne wprowadzenie do grafowej bazy danych. Jak zamodelować relacyjną bazę danych reprezentującą następujący fragment rzeczywistości: Serwis WWW opisuje pracowników różnych firm
Systemy baz danych. mgr inż. Sylwia Glińska
Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania
Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka. Email: krzysztof.pieczarka@gmail.
Wrocławska Wyższa Szkoła Informatyki Stosowanej Bazy danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Literatura: Connoly T., Begg C., Systemy baz danych Praktyczne metody projektowania,
Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi
Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura
WPROWADZENIE DO BAZ DANYCH
WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z
Bazy danych - wykład wstępny
Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,
Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
Krzysztof Kadowski. PL-E3579, PL-EA0312,
Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza
Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.
TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.
NoSQL & relax with CouchDB
NoSQL & relax with PyWaw #23 8 kwiecień 2013 Agenda 1 NoSQL - nierelacyjne systemy baz danych Wprowadzenie do NoSQL Rodzaje i porównanie baz NoSQL Polyglot persistence 2 Projekt w CERN wykorzystujacy 3
Wprowadzenie do Hurtowni Danych
Wprowadzenie do Hurtowni Danych Organizacyjnie Prowadzący: mgr. Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl (hasło HD2) Literatura 1. Inmon, W., Linstedt, D. (2014). Data Architecture: A
Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,
Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Oczekiwania? 2 3 Bazy danych Jak przechowywać informacje? Jak opisać rzeczywistość?
Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI
Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co
Bazy danych 12. Bazy NoSQL. P. F. Góra
Bazy danych 12. Bazy NoSQL P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2019 Bazy NoSQL: Nierelacyjne bazy danych, zaprojektowane (między innymi) do tego, aby rozwiazywać problemy z dostępnościa i spójnościa
Oracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
011 ASPEKTY BAZ NOSQL. Prof. dr hab. Marek Wisła
011 ASPEKTY BAZ NOSQL Prof. dr hab. Marek Wisła Transakcje Większość baz nierelacyjnych zaprojektowanych z myślą o skalowalności nie wspiera transakcji spełniających warunki ACID. Brak gwarancji ACID oznacza,
CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO
Spis treści Przedmowa Podziękowania O książce Rozdział 1. Nowy paradygmat dla Big Data 1.1. Zawartość książki 1.2. Skalowanie tradycyjnej bazy danych 1.2.1. Skalowanie za pomocą kolejki 1.2.2. Skalowanie
Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni
Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie
Alicja Marszałek Różne rodzaje baz danych
Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy
Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:
1.1. Podstawowe pojęcia Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca: informatykę (włącznie ze sprzętem komputerowym oraz oprogramowaniem używanym do tworzenia, przesyłania,
Bazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych
Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba
Big Data to skalowalność i prostota obsługi wielkich ilości danych!
Obsługa aplikacji, które operują na ogromnych zbiorach danych, czyli na przykład portali społecznościowych, przekracza możliwości zwykłych relacyjnych baz. Praca ze złożonymi zbiorami danych wymaga architektury
Baza danych. Modele danych
Rola baz danych Systemy informatyczne stosowane w obsłudze działalności gospodarczej pełnią funkcję polegającą na gromadzeniu i przetwarzaniu danych. Typowe operacje wykonywane na danych w systemach ewidencyjno-sprawozdawczych
Bazy danych. Dr inż. Paweł Kasprowski
Plan wykładu Bazy danych Architektura systemów zarządzania bazami danych Realizacja zapytań algebra relacji Wielodostęp do danych - transakcje Dr inż. Paweł Kasprowski pawel@kasprowski.pl Aplkacja przechowująca
Szkolenie wycofane z oferty. Apache Cassandra - modelowanie, wydajność, analiza danych
Szkolenie wycofane z oferty Program szkolenia: Apache Cassandra - modelowanie, wydajność, analiza danych Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Apache Cassandra - modelowanie,
Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.
PI-14 01/12 Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.! Likwidacja lub znaczne ograniczenie redundancji (powtarzania się) danych! Integracja danych!
Modelowanie hierarchicznych struktur w relacyjnych bazach danych
Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego
Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK
Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK Paweł Lenkiewicz Polsko Japońska Wyższa Szkoła Technik Komputerowych Plan prezentacji PJWSTK
PRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU
(pieczęć wydziału) KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: 3. Karta przedmiotu ważna od roku akademickiego: 2014/2015 4. Forma kształcenia: studia pierwszego stopnia 5. Forma
Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38
Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem zajęcia 1 dr Jakub Boratyński pok. A38 Program zajęć Bazy danych jako podstawowy element systemów informatycznych wykorzystywanych
Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL
Podstawy baz danych: Rysunek 1. Tradycyjne systemy danych 1- Obsługa wejścia 2- Przechowywanie danych 3- Funkcje użytkowe 4- Obsługa wyjścia Ewolucja baz danych: Fragment świata rzeczywistego System przetwarzania
Wykład 2. Relacyjny model danych
Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających
RELACYJNE BAZY DANYCH
RELACYJNE BAZY DANYCH Aleksander Łuczyk Bielsko-Biała, 15 kwiecień 2015 r. Ludzie używają baz danych każdego dnia. Książka telefoniczna, zbiór wizytówek przypiętych nad biurkiem, encyklopedia czy chociażby
Specjalizacja magisterska Bazy danych
Specjalizacja magisterska Bazy danych Strona Katedry http://bd.pjwstk.edu.pl/katedra/ Prezentacja dostępna pod adresem: http://www.bd.pjwstk.edu.pl/bazydanych.pdf Wymagania wstępne Znajomość podstaw języka
Administracja bazami danych
Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi
Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)
Big Data Organizacyjnie Prowadzący: dr Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl (hasło: BIG) Automatyzacja Automatyzacja przetwarzania: Apache NiFi Źródło: nifi.apache.org 4 Automatyzacja
Relacyjne bazy danych a XML
Relacyjne bazy danych a XML Anna Pankowska aniap@amu.edu.pl Internet, SQLiXMLwbiznesie Internet nieoceniony sposób komunikacji z klientami, pracownikami i partnerami handlowymi przyspiesza transakcje finansowe
Program nauczania. Systemy baz danych. technik informatyk 351203
Program nauczania Systemy baz technik informatyk 351203 Treści nauczania Lp. Temat Liczba godzin Efekty kształcenia 1. Zapoznanie z pojęciem baz 53 1. Pojęcie bazy podstawowe definicje 2 PKZ(E.b)11 2.
Technologia informacyjna
Technologia informacyjna Pracownia nr 9 (studia stacjonarne) - 05.12.2008 - Rok akademicki 2008/2009 2/16 Bazy danych - Plan zajęć Podstawowe pojęcia: baza danych, system zarządzania bazą danych tabela,
Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle
Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności
Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl
Bazy Danych Bazy Danych i SQL Podstawowe informacje o bazach danych Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl Literatura i inne pomoce Silberschatz A., Korth H., S. Sudarshan: Database
Podstawowe zagadnienia z zakresu baz danych
Podstawowe zagadnienia z zakresu baz danych Jednym z najważniejszych współczesnych zastosowań komputerów we wszelkich dziedzinach życia jest gromadzenie, wyszukiwanie i udostępnianie informacji. Specjalizowane
Normalizacja baz danych
Normalizacja baz danych Definicja 1 1 Normalizacja to proces organizowania danych w bazie danych. Obejmuje to tworzenie tabel i ustanawianie relacji między tymi tabelami zgodnie z regułami zaprojektowanymi
Systemy GIS Systemy baz danych
Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych
Opisy efektów kształcenia dla modułu
Karta modułu - Bazy Danych II 1 / 5 Nazwa modułu: Bazy Danych II Rocznik: 2012/2013 Kod: BIT-2-105-s Punkty ECTS: 4 Wydział: Geologii, Geofizyki i Ochrony Środowiska Poziom studiów: Studia II stopnia Specjalność:
mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)
1 Organizacyjne Kwestie organizacyjne Kontakt: mail: olga.siedlecka@icis.pcz.pl strona: http://icis.pcz.pl/~olga konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową) Zaliczenie wykładu -
PHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty
Informatyka Ćwiczenie 10 Bazy danych Baza danych jest zbiór informacji (zbiór danych). Strukturę bazy danych można określić w formie jak na rysunku 1. Pracownik(ID pracownika, imie, nazwisko, pensja) Klient(ID
Wykład XII. optymalizacja w relacyjnych bazach danych
Optymalizacja wyznaczenie spośród dopuszczalnych rozwiązań danego problemu, rozwiązania najlepszego ze względu na przyjęte kryterium jakości ( np. koszt, zysk, niezawodność ) optymalizacja w relacyjnych
Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu: http://aragorn.pb.bialystok.pl/~gkret
Ogólny plan przedmiotu BAZY DANYCH Wykład 1: Wprowadzenie do baz danych Małgorzata Krętowska Politechnika Białostocka Wydział Informatyki Wykład : Wprowadzenie do baz danych Normalizacja Diagramy związków
Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia
Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia Przedmiot: Bazy danych Rodzaj przedmiotu: Podstawowy Kod przedmiotu: MBM 1 S 0 5 64-4 _1 Rok: III Semestr: 5 Forma studiów:
1 Wstęp do modelu relacyjnego
Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared
Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć
rzedmiot : Systemy operacyjne Rok szkolny : 015/016 Klasa : 3 INF godz. x 30 tyg.= 60 godz. Zawód : technik informatyk; symbol 35103 rowadzący : Jacek Herbut Henryk Kuczmierczyk Numer lekcji Dział Tematyka
Wprowadzenie do baz danych
Wprowadzenie do baz danych Bazy danych stanowią obecnie jedno z ważniejszych zastosowań komputerów. Podstawowe zalety komputerowej bazy to przede wszystkim szybkość przetwarzania danych, ilość dostępnych
Projektowanie: architektura baz danych
2012 Projektowanie: architektura baz danych Paweł Sieniawski, Columb Technologies S.A. Wyzwania w projektowaniu i programowaniu e-usługi Poznań, 11 października 2012 Dobra architektura czyli jaka? Taxxo
Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW
Rozproszone bazy danych Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Scentralizowana baza danych Dane są przechowywane w jednym węźle sieci Można
Adam Cankudis IFP UAM
W s t ę p d o r e l a c y j n y c h b a z d a n y c h Adam Cankudis IFP UAM B i b l i o g r a f i a T. Morzy i in., Bazy danych, [w:] Studia Informatyczne, Pierwszy stopie ń, http://wazniak.mimuw.edu.pl/
Big Data i 5V Nowe wyzwania w świecie danych Krzysztof Goczyła
Big Data i 5V Nowe wyzwania w świecie danych Krzysztof Goczyła Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska kris@eti.pg.gda.pl Sopot, 10.09.2014 1 O czym będzie? Co to jest Big
Tablice. Jones Stygar na tropie zmiennych
Tablice Jones Stygar na tropie zmiennych Czym jest tablica? Obecnie praktycznie wszystkie języki programowania obsługują tablice. W matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg (lub wektor),
Deduplikacja danych. Zarządzanie jakością danych podstawowych
Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication
INTERNETOWY KURS PODSTAW IT
INTERNETOWY KURS PODSTAW IT LEKCJA 13. KWERENDY I KROTKI. WPROWADZENIE DO BAZ DANYCH. Witaj po raz trzynasty! Poprzednia lekcja przybliżyła Ci idee wykorzystania frameworków w procesie wytwarzania oprogramowania.
Posługiwanie się tabelami
Wykład 3 Tabele Posługiwanie się tabelami Przykładowa tabela gromadząca informacje o osobach (Imię, Nazwisko, Data urodzenia) Osoby Imię Nazwisko Data urodzenia Jan Kowalski 1995-01-01 Piotr Nowak 1994-05-22
Technologia informacyjna
Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy
Wprowadzenie do NoSql. Maksymilian Wiesiołek
Wprowadzenie do NoSql Maksymilian Wiesiołek Agenda O mnie, ACID a CAP, wstęp do NoSql PostgreSql, Redis Hbase, MongoDb, Neo4j, Agenda Coherence, Rozwiązania hybrydowe, Na co warto zwrócić uwagę, Zagrożenia,
SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści
SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15
LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika
LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika Prowadzący: Dr inż. Jacek Habel Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów
Relacyjny model baz danych, model związków encji, normalizacje
Relacyjny model baz danych, model związków encji, normalizacje Wyklad 3 mgr inż. Maciej Lasota mgr inż. Karol Wieczorek Politechnika Świętokrzyska Katedra Informatyki Kielce, 2009 Definicje Operacje na
Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1
Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0
ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy
Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.
Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010 Aleksandra Kloc, Adam Grycner, Mateusz Łyczek Wasza-fota.pl Projekt struktury systemu Historia zmian tego dokumentu Data
ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia.
ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia. 1. Definicja bazy danych, Baza danych to uporządkowany zbiór danych z pewnej dziedziny tematycznej, zorganizowany w sposób ułatwiający
Porównanie systemów zarządzania relacyjnymi bazami danych
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
AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7
AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database
BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych
BAZY DANYCH Co to jest baza danych Przykłady baz danych Z czego składa się baza danych Rodzaje baz danych CO TO JEST BAZA DANYCH Komputerowe bazy danych już od wielu lat ułatwiają człowiekowi pracę. Są
Kopie bezpieczeństwa NAPRAWA BAZ DANYCH
Kopie bezpieczeństwa NAPRAWA BAZ DANYCH Sprawdzanie spójności bazy danych Jednym z podstawowych działań administratora jest zapewnienie bezpieczeństwa danych przez tworzenie ich kopii. Przed wykonaniem
Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.
Konspekt do lekcji informatyki dla klasy II gimnazjum. Opracowała: Mariola Franek TEMAT(1): Baza danych w programie Microsoft Access. Cel ogólny: Zapoznanie uczniów z możliwościami programu Microsoft Access.
FUNKCJE SZBD. ZSE - Systemy baz danych 1
FUNKCJE SZBD ZSE - Systemy baz danych 1 System zarządzania bazami danych System zarządzania bazami danych (SZBD, ang. DBMS) jest zbiorem narzędzi stanowiących warstwę pośredniczącą pomiędzy bazą danych
Pojęcie systemu baz danych
Pojęcie systemu baz danych System baz danych- skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki. Składa się z zasadniczych elementów: 1) Danych 2) Sprzętu 3) Programów 4)
I. KARTA PRZEDMIOTU CEL PRZEDMIOTU
I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: BAZY DANYCH 2. Kod przedmiotu: Bda 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Automatyka i Robotyka 5. Specjalność: Informatyka Stosowana