010 NOSQL. Prof. dr hab. Marek Wisła

Wielkość: px
Rozpocząć pokaz od strony:

Download "010 NOSQL. Prof. dr hab. Marek Wisła"

Transkrypt

1 010 NOSQL Prof. dr hab. Marek Wisła

2 Problem Big Data Przetwarzanie ogromnych ilości danych w bazie relacyjnej może powodować powstanie problemów wynikających z samego modelu relacyjnego, np. łączenie ogromnych tabel jest zadaniem trudnym obliczeniowo. Wraz ze wzrostem obciążenia bazy relacyjnej można implementować rozwiązania, które częściowo rozwiązują problemy.

3 Denormalizacja i partycjonowanie Denormalizacja zmiana schematu danych na mniej znormalizowany pozwala uniknąć kosztownych obliczeniowo łączeń tabel. Niesie to za sobą prawdopodobieństwo występowania redundancji danych i anomalii. Partycjonowanie (ang. partitioning) polega na dzieleniu tabel bazy na mniejsze części i przypisywaniu im osobnych zasobów sprzętowych. Każda partycja tabeli powinna być autonomiczna (częstym przykładem jest tworzenie partycji w oparciu o zakres geograficzny, np. dane firmy podzielone wg kontynentów). W ten sposób uzyskuje się mniejsze kawałki danych, które łatwiej przetwarzać, łączyć i indeksować.

4 Partycjonowanie pionowe Partycjonowanie pionowe polega na umieszczeniu całych tabel (lub części atrybutów tabel) na oddzielnych serwerach.

5 Partycjonowanie poziome (sharding) Zbiory danych dzielone są na mniejsze części w ten sposób, że na każdą partycję trafia część danych. Podział może następować wg określonego klucza (np. geograficznego, dane z rożnych krajów na rożnych maszynach) lub stosuje się hashowanie (wówczas konkretny wpis jest losowo przydzielany do partycji zgodnie z wynikiem pewnej funkcji skrótu).

6 Partycjonowanie Partycjonowanie bazy danych wprowadza do systemu dodatkową złożoność baza danych staje się systemem rozproszonym, rośnie prawdopodobieństwo awarii w jednej z jej części. Wraz ze wzrostem złożoności architektury rośnie potrzeba stosowania serwerów zapasowych. w przypadku programistycznej obsługi partycjonowania wzrasta skomplikowanie aplikacji. Dodatkowy nakład pracy jest potrzebny na obsługę logiki związanej z podziałem bazy.

7 Problem zapisu danych Kolejnym ograniczeniem baz relacyjnych jest zapis dużej ilości szybko powstających danych. Stosowane są częściowe rozwiązania tego problemu: sharding jeśli dane nie są ze sobą mocno powiązane można przypisać rożne zasoby do obsługi rożnych części danych. Dane do zapisu są wówczas dzielone na rożne maszyny. kolejkowanie danych do zapisania zamiast zapisywać dane na bieżąco dodaje się odpowiednie informacje do kolejki zadań, następnie baza obsługuje zadania z kolejki. Rozwiązania tego nie można również zastosować w sytuacji, w której zapisywane dane mają być od razu dostępne do odczytu (aplikacje czasu rzeczywistego). Importowanie wsadowe zamiast dodawać dane małymi porcjami importuje się większe ich ilości w określonych odstępach czasu. Można na czas takiego importu usunąć indeksy na danych: aktualizacja indeksów jest dość kosztowną operacją, lepiej jest zatem obliczyć je kiedy wszystkie dane są zaimportowane niż przeliczać wielokrotnie.

8 Zapis danych Niektóre bazy nierelacyjne radzą sobie lepiej z dużą ilością danych do zapisania, np. w przypadku braku ścisłego schematu danych i indeksów lub założenia, że baza działa w klastrze serwerów (i dane mogą być rozdzielane na rożne maszyny).

9 Problem odczytu danych Bardzo często spotykanym ograniczeniem baz relacyjnych jest szybkość odczytu. Problemy te pojawiają się przy dużej ilości przetwarzanych danych. Jednym z rozwiązań tego problemu może być omówione poprzednio partycjonowanie bazy danych. Aby móc udostępniać dane z bazy w sposób znacznie szybszy stosuje się pamięć podręczną (cache). Czas dostępu do pamięci podręcznej mierzony jest w nanosekundach: od 4 ns (DDR-SDRAM) do 0.8 ns (DDR5) (1 ns = 10 9 s) i jest wielokrotnie mniejszy od czasu dostępu do twardego dysku: dysku magnetycznego: od 100 do 14 milisekund ( 1 ms = 10 3 s ) dysku SSD do 12 mikrosekund (1 μs = 10 6 s) W przypadku, gdy dane nie są często aktualizowane, istnieje duża szansa, że przy odczycie można będzie znaleźć szukaną wartość w pamięci podręcznej.

10 Pamięć podręczna (cache)

11 Gry MMOG Pamięć podręczna nie sprawdza się jednak wtedy, gdy dane muszą być jednocześnie bardzo szybko zapisywane i odczytywane, na przykład w grach typu MMOG (massive multiplayer on-line game). W takich grach bardzo wielu użytkowników łączy się z pojedynczym serwerem, użytkownicy działają w tym samym wirtualnym świecie gry i wchodzą w interakcje między sobą. Kluczowym elementem gry jest więc to, aby akcja wykonana przez jednego gracza była natychmiast widoczna przez innych. Dane w takich aplikacjach produkowane są bardzo szybko (np. w wirtualnym świecie użytkownicy mogą poruszać się po planszy każdy ruch generuje dane o nowej pozycji gracza na planszy). Również odczyt musi być wtedy natychmiastowy (każdą nową pozycję gracza trzeba przekazać innym graczom).

12 Cechy systemów rozproszonych Trzy pożądane cechy systemów rozproszonych CAP (Eric Brower 2000 r.): spojność danych (ang. Consistency) wszystkie węzły widzą te same dane w tym samym czasie, dostępność (ang. Availability) wszystkie działające węzły mogą odpowiadać na przychodzące żądania, tolerancja na brak komunikacji w części systemu (ang. Partition tolerance) system może działać mimo utraty komunikacji między niektórymi węzłami lub awarii części węzłów.

13 Twierdzenie Brewera Twierdzenie Brewera (lub twierdzenie CAP) Z trzech wymienionych cech baz rozproszonych system może realizować tylko dwie.

14 Przykład Załóżmy, że następuje brak komunikacji między węzłami A i B. W momencie żądania zmiany na węźle A system może przyjąć jedno z zachowań: a) Zaakceptować żądanie i zmienić dane (oznacza to dostępność systemu, ponieważ żądanie zostało obsłużone). W takiej sytuacji jednak dane na węźle B pozostają niezmienione (z powodu braku komunikacji między węzłami), zatem utracona zostaje spójność danych. b) Odrzucić żądanie całkowicie skoro nie można zmienić danych na dwóch węzłach lub wykonać żądanie na węźle A i jednocześnie odrzucać wszystkie żądania do węzła B do czasu naprawienia rozbieżności. W każdym z tych przypadków zachowana zostanie spójność danych, jednak dostępność systemu jest ograniczona.

15 Spójność systemów rozproszonych W 2012 roku Brewer opublikował artykuł wyjaśniający niektóre wątki z dyskusji, jaka toczyła się o jego twierdzeniu. Spójność, czyli litera C w skrótach ACID i CAP, odnosi się do nieco innych pojęć. W ACID spójność mówi o tym, że każda transakcja zmienia stan bazy danych, na zgodny z ustalonymi regułami tej bazy (nie narusza integralności). W CAP spójność oznacza, że każdy węzeł w systemie rozproszonym widzi takie same dane w tym samym czasie. Przykładowo, jeśli tabela jest rozproszona na wielu węzłach, to aktualizacja jednego rekordu w tabeli odbywa się jednocześnie na wszystkich węzłach.

16 Kombinacja CA nie jest istotna. Z trzech możliwych kombinacji cech, o których mówi twierdzenie Brewera (CA, CP, AP), mają sens tylko dwie ostatnie. Nie można zbudować systemu zakładając, że będzie spełniał on tylko cechy CA (spójności i dostępności) twórcy systemów rozproszonych nie mają wpływu na wystąpienie problemów komunikacji w sieci lub awarii węzłów. Jeśli takie zdarzenie nastąpi system albo przestanie odpowiadać (implikując brak dostępności), albo dane przechowywane na odciętych węzłach przestaną być aktualne (implikując brak spójności).

17 Kombinacje CP i AP Wybór między systemami CP (przedkładającymi spójność danych nad dostępność systemu) a AP (przedkładającymi dostępność nad spójność) nie jest rozłączny. W rzeczywistości systemy mogą kłaść nacisk na wybraną cechę w zależności od konkretnej operacji lub ustalać wybór pośredni. Brewer zauważa, że zarówno dostępność jak i spójność danych może mieć wiele poziomów (w przypadku dostępności może chodzić o dostęp do tylko części danych lub tylko niektórych operacji).

18 Bazy relacyjne mają cechy CA Bazy relacyjne, wspierające transakcje, posiadają cechy CA (spójność, dostępność). Zgodnie z twierdzeniem Browera nie są zatem odporne na przerwy w komunikacji między węzłami. W praktyce oznacza to, że bazy takie nie najlepiej sprawdzają się jako systemy rozproszone (przerw w komunikacji nie da się uniknąć). Chodzi zwłaszcza o sytuacje kiedy transakcja o cechach ACID miałaby obejmować dane na wielu serwerach. Aby zminimalizować ten problem, przy partycjonowaniu bazy relacyjnej trzeba zwracać uwagę, aby części danych umieszczane na różnych partycjach były od siebie niezależne transakcje będą wówczas dotyczyły danych tylko w jednej partycji.

19 BAZY SZEROKOKOLUMNOWE

20 Wide Column Data Store Bazy szerokokolumnowe (z ang. wide column data store) są przystosowane do przechowywania ogromnych ilości danych. W niektórych publikacjach można również spotkać określenie bazy kolumnowe. Większość popularnych rozwiązań szerokokolumnowych została zaimplementowana jako klony projektu BigTable, stworzonego w Google na potrzeby przechowywania danych dla m. in. wyszukiwarki internetowej. Według Google w 2009 roku aplikacje firmy przetwarzały ponad 20 petabajtow informacji dziennie. Jednym z pomysłów, aby poradzić sobie z taką ilością danych, jest ich rozdzielenie na większą ilość serwerów (zgodnie z rachunkiem ekonomicznym: N serwerów o mocy/pojemności X będzie tańsze od jednego serwera o mocy/pojemności N*X).

21 Problemy podziału danych Takie podzielenie danych rodzi jednak pewne konsekwencje: Łączenie danych w tabelach rozproszonych na wielu maszynach staje się w praktyce niewykonalne w akceptowalnym czasie. Ponieważ każdy z serwerów ma pewne prawdopodobieństwo niedostępności (np. spowodowanej brakiem połączenia sieciowego lub awarią sprzętową), wzrost liczby serwerów powoduje, że wzrasta prawdopodobieństwo niedostępności jednego z węzłów w klastrze. Jednym z parametrów określających dysk twardy jest współczynnik AFR (Annualized Failure Rate, stopień awaryjności w roku). Nawet jeśli AFR wynosi około 0,5% (jak w przypadku dysków serwerowych SSD), to przy dużej ilości takich dysków w klastrze można spodziewać się, że kilka z nich ulegnie awarii. Na przykład, przy 200 dyskach z AFR 0,5%, jest prawdopodobne, że jeden z nich ulegnie awarii w ciągu roku.

22 Rozproszony system plików Bazy szerokokolumnowe są zaprojektowane w oparciu o rozproszony system plików, który minimalizuje problemy podziału danych. Rozproszony system plików zapewnia, że wszelkie dane są duplikowane i zapisywane na wielu serwerach, włączanie i wyłączanie pojedynczych węzłów nie przerywa pracy systemu a pojemność bazy można rozszerzać dynamicznie w trakcie jej normalnego działania poprzez dodanie nowych węzłów.

23 Klaster serwerów z replikacją danych W rozproszonym systemie plików każdy podzbiór danych jest przechowywany w wielu kopiach. Co ważne pliki są dzielone na mniejsze części i losowo przydzielane do serwerów.

24 Awarie serwerów Mimo niedostępności części węzłów w klastrze (w związku z większą ilością serwerów prawdopodobieństwo awarii jest również większe) w systemie nadal wszystkie dane są dostępne. Dzięki replikacji zmniejsza się prawdopodobieństwo, że część danych będzie zupełnie niedostępna (aby część danych była zupełnie niedostępna musi zajść: albo awaria większej ilości węzłów, albo niedostępność dokładnie tych węzłów, które przechowują tę samą część danych).

25 Cechy baz szerokokolumnowych Każda tabela w bazie to zbiór wierszy. Każdy wiersz posiada klucz główny jednoznacznie go identyfikujący. W każdym wierszu może istnieć dowolna ilość kolumn (o dowolnych unikatowych nazwach). Kolumny można dodawać dynamicznie. W niektórych implementacjach kolumny mogą być pogrupowane w tzw. rodziny (ang. column families). Wiersze w tabeli i kolumny w wierszu są przechowywane w uporządkowanej kolejności. Każdy wiersz jest zamkniętą całością w bazie nie ma wbudowanej możliwości łączenia tabel.

26 Przykład Pierwsza kolumna zawiera identyfikator wiersza dane są przechowywane w uporządkowanej kolejności. Druga kolumna reprezentuje wartości w wierszu, w przykładzie pokazana jest baza danych wspierająca rodziny kolumn. W każdym wierszu projekty i dane oznaczają właśnie rodziny kolumn, są one stałe dla tabeli bazy. Lista kolumn w wierszach nie jest natomiast ustalona, może być inna dla każdego wiersza.

27 Fizyczny zapis W fizycznej reprezentacji rożne rodziny kolumn mogą być przechowywane jako osobne pliki (i na osobnych serwerach). Taki podział ma wpływ na wydajność, zatem w jednej rodzinie powinny znaleźć się dane przetwarzanie wspólnie.

28 Podstawowe operacje Operacja get(klucz) put(klucz, wartość) delete(klucz) scan(klucz1, klucz2) Opis Pobranie wartości wg podanego klucza. Dodatkowym parametrem może być lista kolumn do pobrania. Zapis wartości. Jeśli podany klucz już istnieje w bazie, wartość zostanie nadpisana lub zmodyfikowana. Jeśli klucz nie istnieje zostanie dodany nowy wiersz. Usuwanie wierszy wg podanego klucza. Skanowanie tabeli, czyli pobieranie listy wartości poczynając od klucz1 a kończąc na klucz2. Uwaga: wiersze w bazie danych są uporządkowane wg klucza. Dodatkowym parametrem może być lista kolumn do pobrania.

29 Podstawowe operacje incr(klucz, kolumna) Operacja zwiększenie licznika atomowego. Aktualna wartość jest zwiększana i nowa wartość zwracana jako wynik operacji. Atomowość polega na tym, że wszystko odbywa się w jednym kroku licznik gwarantuje, że żadne dwa zapytania nie otrzymają nigdy tego samego wyniku. Licznik może być przydatny do generowania unikalnych kluczy. Map-reduce Wspierany jest model równoległego i rozproszonego przetwarzania danych w klastrze (podobnie do obliczenia wartości funkcji sumujących w bazach relacyjnych).

30 Przykłady zastosowań Indeksowanie i przetwarzanie danych o sieci Internet. Poza ogromną ilością danych do zapisania ważne są luźne wymagania dotyczące schematu bazy strony internetowe nie mają wiele wspólnych elementów i trudno wskazać stałą strukturę. Przykładowym kluczem może być słowo do wyszukania danych lub adres strony internetowej. Indeksowanie Internetu było pierwotnym zastosowaniem bazy BigTable w firmie Google.

31 Przykłady zastosowań Przechowywanie i przetwarzanie danych dla aplikacji internetowych (o ogromnej ilości danych do zapisania), gdzie ważny jest stały i szybki czas dostępu do każdego fragmentu danych. Projekt HBase był wykorzystywany do indeksowania wiadomości przesyłanych przez użytkowników aplikacji Facebook. W tym przypadku kluczem dla danych może być kombinacja identyfikatora użytkownika i słowo wyszukiwania, natomiast wartościami w kolumnach są teksty wiadomości użytkownika zawierające to słowo.

32 Przykłady zastosowań Przechowywanie i przetwarzanie rożnego rodzaju logów, agregowanie danych z rożnych systemów (np. dane o transakcjach bankowych, dane z systemów obsługujących sieci komórkowe). Dane takie są często gromadzone w celach przeprowadzania analiz statystycznych. Uwaga: bazy szerokokolumnowe nie zawsze są optymalnym rozwiązaniem dla analiz statystycznych bardziej nadają się one jako bazy OLTP. Jednak w pewnych przypadkach (np. w obszarach telekomunikacji i bankowości), gdy pojedyncza transakcja składa się z kilku kroków przeprowadzanych przez rożne systemy, informacje o tych krokach mogą być umieszczone w wielu węzłach. Po wskazaniu klucza transakcji baza szerokokolumnowa może być użyta do zagregowania informacji z rożnych węzłów i następnie przeprowadzania analizy na tak złączonych danych.

33 BigTable Baza stworzona w firmie Google, początkowo na potrzeby wyszukiwarki internetowej. Baza BigTable nigdy nie została upubliczniona, opublikowano jedynie ogólne założenia dotyczące projektu. Baza BigTable jest również używana przez inne aplikacje tej firmy, m.in. w Google App Engine. GAE jest platformą pozwalająca hostować aplikacje internetowe. Przy pomocy dostępnego API aplikacje tworzone na tę platformę mogą zapisywać i przetwarzać informacje w udostępnionej instancji BigTable.

34 HBase Projekt utrzymywany przez Apache Software Foundation. Jest to (open source) klon bazy BigTable tworzony w języku Java. HBase dodaje funkcjonalności bazy szerokokolumnowej do frameworka Hadoop (platformy przechowywania i przetwarzania dużej ilości danych w klastrze wielu serwerów).

35 Hypertable Podobnie jak HBase jest to otwarta (open source) implementacja założeń BigTable. Projekt jest tworzony w C++.

36 Cassandra Baza danych utrzymywana przez Apache Software Foundation. Przykład projektu, który nie powstał jako klon BigTable. W przeciwieństwie do innych wymienionych powyżej baz wszystkie serwery w klastrze Cassandry są równorzędne (w przypadku baz opartych na BigTable pojedyncze serwery spełniają rożne role w systemie).

37 BAZY KLUCZ-WARTOŚĆ

38 Memcached Bazy klucz-wartość są bardzo prostą formą bazy danych. Z założenia przechowują one tylko pary: klucz + wartość. Można pobrać daną wartość tylko wtedy, gdy klucz jest znany. Wiele języków programowania oferuje podobne proste struktury danych (nazywane listami, słownikami, mapami lub tablicami asocjacyjnymi). Operacje na tak prostym modelu danych mogą być bardzo wydajnie. Dodatkowy wzrost wydajności można osiągnąć przechowując całą bazę w pamięci RAM serwera. Jednym z pierwszych projektów tego typu był Memcached prosta baza danych do wykorzystania jako bardzo szybka pamięć podręczna dla aplikacji przetwarzających dane.

39 Bazy przechowywane w pamięci RAM Bazy przechowywane w pamięci RAM (ang. in-memory datastores) pozwalają osiągnąć ogromną wydajność. Bazy danych tego typu pozwalają również na trwałe zapisywanie danych na dysku twardym, jednak zawsze istnieje ryzyko, że w razie awarii (np. zasilania) część danych zostanie utracona.

40 Bazy łatwo skalowalne Bazy łatwo skalowalne (ang. massively scalable datastores) dzięki prostemu modelowi, dane w bazie można łatwo rozdzielać na wiele serwerów. Dynamiczne dodawanie i usuwanie węzłów w klastrze i rozdzielanie zakresów kluczy do rożnych węzłów jest prostsze niż w przypadkach bardziej skomplikowanych struktur danych. Tego typu bazy niewiele różnią się od baz szerokokolumnowych.

41 Operacje Podstawowe operacje, jakie można wykonywać na bazie kluczwartość nie różnią się od operacji w bazach szerokokolumnowych. Jest to wynikiem podobieństwa modelu danych, główną różnicą jest to, że w bazach szerokokolumnowych wartość przypisana do klucza może mieć bardziej złożoną strukturę. Podstawowe operacje to: dodawanie pary klucz-wartość (jeśli klucz już istnieje to wartość zostanie zmieniona), usuwanie klucza (razem z przypisaną wartością), pobieranie wartości wg klucza, skanowanie zakresu kluczy, liczniki atomowe, większość baz tego typu wspiera również przetwarzanie mapreduce.

42 Operacje Poszczególne produkty rozbudowują podstawowy zbiór operacji o dodatkowe funkcjonalności. Np. baza Redis zawiera wiele operacji, potrzebnych do obsługi wspieranych struktur danych (zarządzanie wartościami w listach, stosach i zbiorach).

43 Operacje Charakterystyczną funkcjonalnością dla niektórych baz klucz-wartość jest możliwość zapisu danych z określeniem jak długo mają one istnieć (parametr TTL - Time to Live, czas życia). Po podanym czasie zapisane wartości stają się niedostępne. Taka funkcjonalność jest szczególnie przydatna przy tworzeniu pamięci podręcznych. Część baz klucz-wartość tych zaprojektowanych do szybkiego przetwarzania w pamięci oferuje transakcje podobne do operacji na relacyjnych bazach danych (spełniające warunki ACID).

44 Przykłady zastosowań Bazy łatwo skalowalne dla aplikacji internetowych i przetwarzania w chmurze (podobnie jak w przypadku baz szerokokolumnowych). Dla wielu aplikacji istnieje potrzeba tymczasowego zwiększania skali działania. Na przykład sklep internetowy sprzedający bombki choinkowe będzie miał niewielkie potrzeby obliczeniowe przez większość roku i nagły ich wzrost w grudniu. Przetwarzanie w chmurze i platformy hostingowe (platform as a service) pozwalają w takiej sytuacji wynająć potrzebne serwery tylko na czas zwiększonego zapotrzebowania. Tradycyjne bazy relacyjne nie sprawdzą się w takim przypadku ponieważ dynamiczne dodawanie serwerów w trakcie działania aplikacji nie jest możliwe. Niektóre bazy szerokokolumnowe również sprawdzają się w takich sytuacjach (np. platformy Google App Engine oferująca dostęp do BigTable).

45 Przykłady zastosowań Pamięć podręczna zgodnie z nazwą do baz o prostym modelu danych i przechowywanych w pamięci RAM. Nagła awaria i utrata danych z pamięci RAM nie jest dla tych baz problemem oznacza po prostu wyczyszczenie pamięci podręcznej. Wartości przechowywane w bazie mogą być następnie odtworzone.

46 Przykłady zastosowań Przetwarzanie w czasie rzeczywistym ogromna szybkość przetwarzania danych w pamięci RAM sprawia, że bazy tego typu sprawdzają się w sytuacjach, gdzie zmiany na danych muszą być natychmiast widoczne, na przykład w grach MMORPG (Massively Multiplayer Online Role-Playing Game) Ogromna ilość użytkowników łączy się przez Internet z serwerem gry, postać reprezentująca każdego użytkownika (tzw. awatar) może poruszać się w trójwymiarowej przestrzeni. Użytkownicy widzą nawzajem swoje awatary informacja o ruchu pojedynczego gracza na planszy musi być bardzo szybko przekazywana do pozostałych uczestników gry. W przypadku awarii serwera niezapisane dane z pamięci RAM mogą zostać utracone. Uczestnicy gry wrócą wówczas do swoich punktów kontrolnych w grze. Wystarczy więc aby osiągnięcie przez użytkowników punktów kontrolnych było trwale zapisane.

47 Przykłady zastosowań Web Storage jest to część standardu HTML 5, ma ona pozwalać stronom internetowym na zapisywanie danych na komputerze użytkownika. Oferuje bogatszy interfejs, możliwość przechowywania danych wielu sesji dla tej samej witryny, a przede wszystkim udostępnia więcej miejsca (5-25 MB, w zależności od implementacji, w porównaniu do około 4 KB dostępnych dla ciasteczek). Każda witryna, za pomocą API, może utworzyć na dysku użytkownika własny magazyn danych, przechowywanych jako pary klucz-wartość, w postaci łańcuchów tekstowych. Jednocześnie zapewniane są dobre mechanizmy bezpieczeństwa, pozwalające na kasowanie danych po określonym przez użytkownika czasie, tworzenie białych i czarnych list dostępu, a w połączeniu z protokołem TLS, na ochronę przed nieuprawnionym dostępem przez sfałszowane witryny internetowe.

48 Redis Zaawansowana baza typu klucz-wartość. Pozwala przechowywać dane tylko w pamięci RAM oraz opcjonalnie zapisywać je na dysk twardy w określonych odstępach czasu. Wartościami mogą być złożone struktury danych (zbiory, listy, mapy). Baza wprowadza prosty mechanizm kolejkowania danych (nazywany pub/sub od publish/subscribe). Redis jest projektem typu open-source.

49 BerkeleyDB Baza utworzona na Uniwersytecie Berkeley, aktualnie zarządzana przez firmę Oracle. Jest to biblioteka zapewniająca prostą bazę wbudowaną typu klucz-wartość (analogicznym produktem w świecie baz relacyjnych jest baza SQLite). BerkeleyDB jest używana do zapisu danych w wielu popularnych projektach (warto wspomnieć Subversion, RPM Package Manager), co więcej jest często wykorzystywana jako komponent w bardziej złożonych projektach.

50 DynamoDB Baza firmy Amazon.com udostępniana jako część Amazon Web Services (AWS). AWS to zestaw usług sieciowych tworzących platformę przetwarzania w chmurze. Użytkownicy płacą za używane zasoby komputerowe. Ważną cechą jest łatwa skalowalność usług (zasoby są dynamicznie zwiększane lub zmniejszane według aktualnego zapotrzebowania). Założenia projektowe dotyczące bazy zostały opublikowane przez Amazon.com. Główny nacisk położono na zapewnienie łatwej skalowalności i dostępności dokument opisuje mechanizmy zarządzania węzłami w klastrze, natomiast przechowywanie danych na poszczególnych węzłach jest delegowane do prostszych baz typu klucz-wartość (w pierwotnej implementacji była to baza BerkeleyDB).

51 Riak Implementacja założeń Amazon Dynamo w języku Erlang stworzony przez firmę Basho Technologies typu open source. Podobnie jak w przypadku innych projektów NoSQL dla rożnych języków programowania tworzy się tzw. sterowniki, podobne do sterowników ODBC w przypadku baz relacyjnych. Riak pozwala dobierać mechanizm zapisu danych w węzłach (obsługiwane jest kilka baz klucz-wartość). Domyślnie używaną bazą jest Bitcask, prosty mechanizm klucz-wartość stworzony również przez Basho Technologies.

52 BAZY DOKUMENTÓW

53 Bazy dokumentów Bazy dokumentów skupiają się na przechowywaniu i przetwarzaniu dokumentów - jednostek danych o luźno określonej strukturze i pewnym formacie zapisu (np. XML, YAML, JSON). Dokumenty w bazach nierelacyjnych mogą mieć własności (nazywane również polami) i są identyfikowane przez unikalny dla każdego klucz. Dodatkowo rożne produkty będą pozwalały porządkować dokumenty na rożne sposoby (poprzez kolekcje, tagi, hierarchie katalogów i inne).

54 Przykład dokumentu w formacie JSON { Tytuł: "Quo vadis", Autor: "Henryk Sienkiewicz", Rodzaj: "powieść historyczna" }, { Tytuł: "Pan Tadeusz", Autor: "Adam Mickiewicz", Postacie: [ {Imię: ["Jacek Soplica", "ksiąd Robak"]}, {Imię: "Tadeusz Soplica"}, {Imię: "Telimena"} ] }

55 Cechy dokumentów Dokumenty nie mają jednolitej struktury (w przeciwieństwie do wierszy w tabeli bazy relacyjnej dokumenty mogą mieć rożne pola), Nawet jeśli dokumenty mają pola o takiej samej nazwie, to mogą one różnić się typem danych, Pola mogą mieć kilka wartości, Dokumenty mogą być zagnieżdżone (wartością pola dokumentu może być inny dokument).

56 Operacje Podstawowe operacje udostępniane przez bazy dokumentów są podobne jak w innych bazach danych: utworzenie, pobieranie, aktualizacja i usuwanie dokumentu wg podanego klucza (operacje CRUD - create, retrieve, update, delete). Bazy dokumentów często wewnętrznie używają zapisów, które mogą być przetwarzane bezpośrednio w aplikacjach klienckich (np. JSON jest bardzo łatwo przetwarzany w Javascript). Dodatkowe możliwości przetwarzania dokumentów: a) indeksowanie dokumentów wg pól, b) zaawansowane funkcjonalności przeszukiwania dokumentów (język wyrażeń podobny jak w języku SQL, dodatkowo wbudowane przetwarzanie wyrażeń regularnych), c) możliwości agregacji dokumentów wg wskazanych warunków, d) obsługa map-reduce70

57 Przykłady zastosowań Aplikacje webowe - bazy dokumentów pozwalają zwiększyć skalę działania znacznie niższym kosztem niż bazy relacyjne. Prosty format w jakim przesyłane są dane między serwerem bazy a klientami pozwala uprościć architekturę aplikacji. Proste protokoły komunikacji umożliwiają aplikacjom łączenie się bezpośrednio z bazą danych. W przypadku technologii relacyjnych najczęściej na serwerze uruchamiany jest komponent pośredniczący między aplikacjami a bazą danych. Uproszczenie architektury może być przydatne w przypadku szybkiego tworzenia prototypów aplikacji.

58 Architektura aplikacji

59 Przykłady zastosowań Aplikacje mobilne mogą mieć takie same wymagania dotyczące ilości danych jak tradycyjne aplikacje z interfejsem webowym. W przypadku aplikacji mobilnych duży nacisk kładziony jest na skalowalność: skala działania może drastycznie wzrastać w krótkim czasie (na przykład na skutek promocji). Niektóre bazy dokumentów pozwalają na tymczasowe rozłączanie klienta z serwerem, po ponownym połączeniu następuje synchronizacja. Jest to przydatne w przypadku aplikacji mobilnych, kiedy połączenie internetowe zostanie utracone aplikacja może nadal działać zapisując dane do lokalnej wersji bazy.

60 Przykłady zastosowań Big data - duża skalowalność baz dokumentów oraz brak ścisłych wymagań dotyczących schematu danych sprawia, że bazy dokumentów mogą być używane do przechowywania dużej ilości danych w celach analitycznych. W tym przypadku istotne jest wsparcie przetwarzania map-reduce.

61 mongodb Jedna z bardziej popularnych baz NoSQL. Nazwa (fragment angielskiego słowa humongous, olbrzymi) wskazuje na oryginalne przeznaczenie bazy: łatwo skalowalna baza danych udostępniana jako usługa w chmurze. MongoDB przechowuje dokumenty w formacie BSON (z ang. binary JSON), rozszerzony standard JSON.

62 CouchDB CouchDB - Cluster of Unreliable Commodity Hardware Data Base (klaster sprzętu, na którym nie można polegać. Charakterystyczne cechy CouchDB: przeznaczony dla Internetu: dokumenty przechowywane są w formacie JSON, obsługa bazy jest wykonywana przez protokół HTTP, można modyfikować dokumenty w języku Javascript. Projekt jest aktualnie zarządzany przez Apache Software Foundation.

63 Couchbase Baza ta zainspirowana jest poprzednim produktem i w wielu miejscach podobna (rozwijana często przez ten samą grupę programistów). Ważną jej cechą jest obsługa protokołu Memcached. Co za tym idzie baza dodaje wsparcie dla przechowywanej tylko w RAM pamięci podręcznej. Podobnie jak podobnie jak w poprzednim przypadku oprogramowanie jest udostępniane na licencji Apache

64 INNE TYPY BAZ NOSQL

65 Bazy grafowe Bazy grafowe stosują reprezentację danych jako grafy: węzły i krawędzie. Krawędzie są powiązaniami łączącymi węzły. Bazy grafowe wspierają operacje na tego typu strukturach danych oraz szybkie obliczenia własności grafów (np. najkrótszej ścieżki między wybranymi węzłami, znajdowanie sąsiedztwa węzła). Zarówno węzły jak i krawędzie mogą mieć przypisane własności. Bazy grafowe nie wymagają stosowania sztywnego schematu danych: własności mogą być dodawane ad-hoc. Ponadto zastosowana struktura danych sprawia, że nie jest wymagana operacja łączenia jak w przypadku baz relacyjnych. Dzięki temu bazy grafowe skalują się łatwiej niż bazy relacyjne na większą ilość serwerów. Przykładami baz grafowych są: Neo4j, OrientDB.

66 Bazy obiektowe Bazy obiektowe rozwijają się od lat 80-tych poprzedniego wieku, razem z obiektowymi językami programowania. Założeniem baz obiektowych jest reprezentowanie danych w takiej samej strukturze, jak w obiektowym języku programowania. Zachowane miały być m. in. Dane o obiektach, powiązania między nimi i informacje o dziedziczeniu. Operacja zapisania danych do bazy obiektowej nie wymaga konwersji czy dekompozycji.

67 Bazy obiektowe a grafowe Własności węzłów w bazie grafowej są bardziej elastyczne niż własności obiektów (ustalone dla każdej klasy). Schemat danych w bazie grafowej jest ustalany dynamicznie poprzez przypisywanie własności, w bazach obiektowych schemat danych odpowiada modelowi klas. Większa elastyczność krawędzi w grafie niż relacji między obiektami. Krawędź grafu może reprezentować dowolną relację, również dwukierunkową, może ona mieć swoje własności. W modelu obiektowym trudniej opisać takie powiązania. Łatwiejsze tworzenie aplikacji operującej na bazie grafowej. Przykłady baz obiektowych: Cache, Db4o,

68 Silniki wyszukiwarek Silniki wyszukiwarek to grupa narzędzi służąca do przechowywania danych. Nacisk kładziony jest na przeszukiwanie zapisanych informacji. Wyszukiwarki były tworzone z myślą o przetwarzaniu danych tekstowych i języka naturalnego. Informacje zapisywane są jako dokumenty, mogą one posiadać określoną strukturę (dla dokumentów określa się własności i ich typy). Główne cechy silników wyszukiwarek: wsparcie dla złożonych kryteriów wyszukiwania, również dynamicznego filtrowania (nawigacji fasetowej), zaawansowana obsługa informacji tekstowych: wyszukiwanie wg fragmentu tekstu, szukanie przez synonimy lub brzmienie słów, grupowanie i ranking wyników wyszukiwania wg najlepiej dopasowanych. ze względu na brak relacji między dokumentami łatwa skalowalność na wiele serwerów.

69 Silniki wyszukiwarek Mechanizmy współczesnych silników wyszukiwarek są na tyle elastyczne, że produkty te mogą być używane jako baza danych dla specyficznych zastosowań (np. przy przetwarzaniu dużej ilości logów: w danych takich można wskazać pewne pola/własności, jednak wpisy nie mają określonej struktury). Przykłady: Solr, Elasticsearch,

Hurtownie danych wykład 5

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

Bardziej szczegółowo

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

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

Bardziej szczegółowo

011 ASPEKTY BAZ NOSQL. Prof. dr hab. Marek Wisła

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,

Bardziej szczegółowo

Szkolenie wycofane z oferty. Apache Cassandra - modelowanie, wydajność, analiza danych

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,

Bardziej szczegółowo

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

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

Bardziej szczegółowo

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

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

Bardziej szczegółowo

Hbase, Hive i BigSQL

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

Bardziej szczegółowo

Dokumentacja projektu QUAIKE Architektura oprogramowania

Dokumentacja projektu QUAIKE Architektura oprogramowania Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

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

Bardziej szczegółowo

Wprowadzenie do Hurtowni Danych

Wprowadzenie do Hurtowni Danych Wprowadzenie do Hurtowni Danych BIG DATA Definicja Big Data Big Data definiowane jest jako składowanie zbiorów danych o tak dużej złożoności i ilości danych, że jest to niemożliwe przy zastosowaniu podejścia

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Kod szkolenia: Tytuł szkolenia: HADOOP Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family Dni: 5 Opis: Adresaci szkolenia: Szkolenie jest adresowane do programistów, architektów oraz

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

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ść.

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

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

Bardziej szczegółowo

Big Data to skalowalność i prostota obsługi wielkich ilości danych!

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

Bardziej szczegółowo

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.

*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

Bardziej szczegółowo

Bazy danych NoSQL. wprowadzenie. Szymon Francuzik Poznań,

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

Bardziej szczegółowo

Baza danych. Baza danych to:

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

NoSQL: Riak. dr inż. Sebastian Ernst Katedra Informatyki Stosowanej

NoSQL: Riak. dr inż. Sebastian Ernst Katedra Informatyki Stosowanej NoSQL: Riak dr inż. Sebastian Ernst Katedra Informatyki Stosowanej Twierdzenie CAP W przypadku rozdziału węzłów (partition), możliwe jest zachowanie jednej z dwóch cech: spójności (consistency) wszystkie

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

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

Bardziej szczegółowo

Referat pracy dyplomowej

Referat pracy dyplomowej Referat pracy dyplomowej Temat pracy: Wdrożenie intranetowej platformy zapewniającej organizację danych w dużej firmie na bazie oprogramowania Microsoft SharePoint Autor: Bartosz Lipiec Promotor: dr inż.

Bardziej szczegółowo

Deduplikacja danych. Zarządzanie jakością danych podstawowych

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

Bardziej szczegółowo

NoSQL & relax with CouchDB

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

Bardziej szczegółowo

Big Data i 5V Nowe wyzwania w świecie danych Krzysztof Goczyła

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

Bardziej szczegółowo

Bazy danych 2. Wykład 1

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

ATSOFTWARE DMS. Elektroniczna archiwizacja

ATSOFTWARE DMS. Elektroniczna archiwizacja 1 ATSOFTWARE DMS Elektroniczna archiwizacja Informacje o systemie 2 AtSoftware DMS to nowoczesne rozwiązanie do zarządzania dokumentami oraz plikami. Aplikacja nie wymaga instalacji, gdyż dostępna jest

Bardziej szczegółowo

Definicja. Not Only SQL

Definicja. Not Only SQL Definicja Not Only SQL Baza danych NoSQL to program zapewniający szybki dostęp do danych różniący się w jakiś sposób od stadardowych baz RDBMS. Baza NoSQL to szereg różnych rozwiązań nazwanych jednym określeniem.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje

Bardziej szczegółowo

Technologia informacyjna

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

Bardziej szczegółowo

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource Piotr Klimek piko@piko.homelinux.net Agenda Wstęp Po co to wszystko? Warstwa WWW Warstwa SQL Warstwa zasobów dyskowych Podsumowanie

Bardziej szczegółowo

2017/2018 WGGiOS AGH. LibreOffice Base

2017/2018 WGGiOS AGH. LibreOffice Base 1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Wprowadzenie do Apache Spark. Jakub Toczek

Wprowadzenie do Apache Spark. Jakub Toczek Wprowadzenie do Apache Spark Jakub Toczek Epoka informacyjna MapReduce MapReduce Apache Hadoop narodziny w 2006 roku z Apache Nutch open source składa się z systemu plików HDFS i silnika MapReduce napisany

Bardziej szczegółowo

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

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

Bardziej szczegółowo

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

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

Bardziej szczegółowo

Część I Rozpoczęcie pracy z usługami Reporting Services

Część I Rozpoczęcie pracy z usługami Reporting Services Spis treści Podziękowania... xi Wprowadzenie... xiii Część I Rozpoczęcie pracy z usługami Reporting Services 1 Wprowadzenie do usług Reporting Services... 3 Platforma raportowania... 3 Cykl życia raportu...

Bardziej szczegółowo

Bazy danych - wykład wstępny

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,

Bardziej szczegółowo

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 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

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

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.

Bardziej szczegółowo

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak Serwery Autorzy: Karol Czosnowski Mateusz Kaźmierczak Czym jest XMPP? XMPP (Extensible Messaging and Presence Protocol), zbiór otwartych technologii do komunikacji, czatu wieloosobowego, rozmów wideo i

Bardziej szczegółowo

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

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

Specjalizacja magisterska Bazy danych

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

Bardziej szczegółowo

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego w ramach realizacji umowy pomostowej nr 427/PCSS/2016 Poznań, 21 lutego 2017 r. 1 Spis

Bardziej szczegółowo

Hadoop i Spark. Mariusz Rafało

Hadoop i Spark. Mariusz Rafało Hadoop i Spark Mariusz Rafało mrafalo@sgh.waw.pl http://mariuszrafalo.pl WPROWADZENIE DO EKOSYSTEMU APACHE HADOOP Czym jest Hadoop Platforma służąca przetwarzaniu rozproszonemu dużych zbiorów danych. Jest

Bardziej szczegółowo

Normalizacja baz danych

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

Bardziej szczegółowo

EXSO-CORE - specyfikacja

EXSO-CORE - specyfikacja EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.

Bardziej szczegółowo

Pojęcie systemu 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)

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Baza danych. Modele danych

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

Bardziej szczegółowo

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

LANDINGI.COM. Case Study. Klient Landingi.com. Branża IT, marketing i PR. Okres realizacji od grudnia 2013 do chwili obecnej.

LANDINGI.COM. Case Study. Klient Landingi.com. Branża IT, marketing i PR. Okres realizacji od grudnia 2013 do chwili obecnej. Klient Landingi.com Branża IT, marketing i PR Okres realizacji od grudnia 2013 do chwili obecnej Rodzaj usługi doradztwo, hosting, Cloud Computing Amazon Web Services, zarządzanie serwerami Doradztwo Hosting

Bardziej szczegółowo

dlibra 3.0 Marcin Heliński

dlibra 3.0 Marcin Heliński dlibra 3.0 Marcin Heliński Plan prezentacji Wstęp Aplikacja Redaktora / Administratora Serwer Aplikacja Czytelnika Aktualizator Udostępnienie API NajwaŜniejsze w nowej wersji Ulepszenie interfejsu uŝytkownika

Bardziej szczegółowo

Referat Pracy Dyplomowej

Referat Pracy Dyplomowej Referat Pracy Dyplomowej Team Pracy: Projekt i realizacja gry w technologii HTML5 z wykorzystaniem interfejsu programistycznego aplikacji Facebook Autor: Adam Bartkowiak Promotor: dr inż. Roman Simiński

Bardziej szczegółowo

Przetwarzanie i zabezpieczenie danych w zewnętrznym DATA CENTER

Przetwarzanie i zabezpieczenie danych w zewnętrznym DATA CENTER Przetwarzanie i zabezpieczenie danych w zewnętrznym DATA CENTER Gdańsk, 27-28 września 2012 r. Krzysztof Pytliński Zakład Teleinformatyki Kontekst Data Center jako usługa zewnętrzna, zaspokajająca potrzeby

Bardziej szczegółowo

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python DBM, SQL 10 listopada 2011 Rodzaje baz danych Trwałe słowniki Klient-serwer SQL Bekreley DB Gnu dbm (n)dbm Firebird Sqlite Oracle MySQL PostgeSQL DB/2 Plan wykładu 1 Bazy danych DBM 2 3 4 Grafowe bazy

Bardziej szczegółowo

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP... 3 2. Warstwy systemu... 5 3. Struktura systemu/komponentów... 7 3.1 Aplikacje... 7 3.2 Biblioteki...

Bardziej szczegółowo

Wprowadzenie do NoSql. Maksymilian Wiesiołek

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,

Bardziej szczegółowo

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014 Leonard G. Lobel Eric D. Boyd Microsoft TM Azure SQL Database Krok po kroku Przekład: Marek Włodarz APN Promise, Warszawa 2014 Spis treści Wprowadzenie........................................................

Bardziej szczegółowo

World Wide Web? rkijanka

World Wide Web? rkijanka World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest

Bardziej szczegółowo

Technologia informacyjna

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,

Bardziej szczegółowo

Hurtownie danych. 31 stycznia 2017

Hurtownie danych. 31 stycznia 2017 31 stycznia 2017 Definicja hurtowni danych Hurtownia danych wg Williama Inmona zbiór danych wyróżniający się następującymi cechami uporządkowany tematycznie zintegrowany zawierający wymiar czasowy nieulotny

Bardziej szczegółowo

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

Bardziej szczegółowo

Systemy GIS Systemy baz danych

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy

Bardziej szczegółowo

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source Dr inż. Michał Bednarczyk Uniwersytet Warmińsko-Mazurski w Olsztynie Wydział Geodezji i Gospodarki Przestrzennej Katedra Geodezji

Bardziej szczegółowo

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury

Bardziej szczegółowo

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny? Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA Dlaczego DNS jest tak ważny? DNS - System Nazw Domenowych to globalnie rozmieszczona usługa Internetowa. Zapewnia tłumaczenie nazw domen

Bardziej szczegółowo

Nieustanny rozwój. Tomasz Leśniewski tomasz.lesniewski@netart.pl

Nieustanny rozwój. Tomasz Leśniewski tomasz.lesniewski@netart.pl Nieustanny rozwój Tomasz Leśniewski tomasz.lesniewski@netart.pl Poczta w chmurze? Czy nazwa.pl ma pocztę w chmurze? Biorąc pod uwagę poniższe kryteria, tak: Dla końcowego użytkownika dostępna jest pełnowartościowa

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja mobilnego systemu wspomagającego organizowanie zespołowej aktywności fizycznej Autor: Krzysztof Salamon W dzisiejszych czasach życie ludzi

Bardziej szczegółowo

StoreOnce - To więcej niż Backup2Disk

StoreOnce - To więcej niż Backup2Disk StoreOnce - To więcej niż Backup2Disk Krzysztof Jamiołkowski HP Storage Solutions Architect Bezpieczeństwo Danych Bezpieczeństwo danych to Dane podlegają wielu zagrożeniom Jakie problemy miałeś ostatnio?

Bardziej szczegółowo

Alicja Marszałek Różne rodzaje baz danych

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

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

OPIS PRZEDMIOTU ZAMÓWIENIA

OPIS PRZEDMIOTU ZAMÓWIENIA Załącznik nr 1 OPIS PRZEDMIOTU ZAMÓWIENIA Licencja Microsoft Windows SQL Server Standard 2012 (nie OEM) lub w pełni równoważny oraz licencja umożliwiająca dostęp do Microsoft Windows SQL Server Standard

Bardziej szczegółowo

Seeon Enterprise Search Engine. Rozwiązanie obsługiwane przez eo Networks S.A.

Seeon Enterprise Search Engine. Rozwiązanie obsługiwane przez eo Networks S.A. Seeon Enterprise Search Engine Rozwiązanie obsługiwane przez eo Networks S.A. Seeon Enterprise Search Engine SeeOn Search Engine to kompleksowy, w pełni gotowy do wdrożenia silnik wyszukiwania dedykowany

Bardziej szczegółowo

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

Dotacje na innowacje. Inwestujemy w waszą przyszłość. PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia

Bardziej szczegółowo

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008 JDBC w LoXiMie Interfejs Java Database Connectivity dla systemu LoXiM Adam Michalik 2008 Sterownik JDBC co to jest? Sterownik JDBC to zbiór klas implementujących interfejsy opisane w specyfikacji JDBC

Bardziej szczegółowo

Pojęcie systemu informacyjnego i informatycznego

Pojęcie systemu informacyjnego i informatycznego BAZY DANYCH Pojęcie systemu informacyjnego i informatycznego DANE wszelkie liczby, fakty, pojęcia zarejestrowane w celu uzyskania wiedzy o realnym świecie. INFORMACJA - znaczenie przypisywane danym. SYSTEM

Bardziej szczegółowo

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

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

Bardziej szczegółowo

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk

PROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk PROGRAM PRAKTYKI ZAWODOWEJ Technikum Zawód: technik informatyk 351203 Lp. Temat 1 Zajęcia wprowadzające. Zapoznanie z zakładem, regulaminem pracy, przepisami BHP oraz instruktaż bhp. 2 Montaż i eksploatacja

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza

Bardziej szczegółowo

RELACYJNE BAZY DANYCH

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

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

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

Bardziej szczegółowo

Podstawowe zagadnienia z zakresu baz danych

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

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo