NOSQL - Nierelacyjne bazy danych
Kontynuacja przedmiotu:
NoSQL (wprowadzenie) - Wprowadzenie do nierelacyjnych baz danych
Zajęcia
Informacje o przedmiocie w tym warunki zaliczenia
Zajęcia 1 (Ćwiczenia 1)
Bazy typu
rodzina kolumn
(Column family (BigTable))
Materials
Piotr Fulmański,
NoSQL. Theory and examples
, Chapter 4:
Column family stores
, Simple Introduction Series, 2022.
Ewentualnie:
Column family (BigTable) stores
Prezentacja z wykładu:
Column family stores
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Tło narodzin Big Data i przyczyny powstania BigTable a następnie Hadoop i HBase
Wyjaśnić pojęcie modelu zorientowanego na agregację
Wyjaśnić pojęcie "rzadkich" danych (sparse data)
Zajęcia 2 (Wykład 1)
SQL, NoSQL, NewSQL - czyli co jest czym i dlaczego
Materials
Piotr Fulmański,
NoSQL. Theory and examples
, Chapter 1:
SQL, NoSQL, NewSQL
, Simple Introduction Series, 2021.
Ewentualnie:
SQL, NoSQL, NewSQL
Prezentacja z wykładu:
SQL, NoSQL, NewSQL
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Wyjaśnić dlaczego mamy taką różnorodność podstawowych rodzin baz danych (SQL, NoSQL, NewSQL).
Jakie czynniki były głównym powodem powstania baz typu NoSQL.
Czy NoSQL/NewSQL zastąpi SQL.
Zajęcia 3 (Wykład 2)
SQL i NoSQL
Część 1
SQL. Relational model
Materials
Piotr Fulmański,
NoSQL. Theory and examples
, Chapter 2:
SQL. Relational model
, Simple Introduction Series, 2022.
Ewentualnie:
Relational model
Prezentacja z wykładu:
SQL. Relational model
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Umieć opisać najbardziej istotne elmenty modelu relacyjnego (w tym zasadność istnienia form normalnych, model ACID).
Wymienić wady i zalety modelu relacyjnego.
Część 2
NoSQL
Materials
Piotr Fulmański,
NoSQL. Theory and examples
, Chapter 3:
NoSQL
, Simple Introduction Series, 2022.
Ewentualnie:
NoSQL
Prezentacja z wykładu:
NoSQL
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Czym (nie) jest NoSQL, podać jego wady i zalety
Opisać model BASE
Wyjaśnić czego dotyczy twierdzenie CAP
Zajęcia 4 (Ćwiczenia 2)
Bazy typu
klucz-wartość
(key-value store); teoria działania, praktyczny przykład (ze szczególnym uwzględnieniem roli klucza)
Materials
Piotr Fulmański,
NoSQL. Theory and examples
, Chapter 5:
Key-value stores
, Simple Introduction Series, 2022.
Ewentualnie:
Key-value stores
Prezentacja z wykładu:
Key-value stores
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Narodziny pomysłu składowania danych za pomocą związku klucz-wartość (tablice, słowniki).
Omówić najważniejsze własności: prostota, szybkość, skalowalność.
Umieć dokonać porównania z bazami relacyjnymi. Wymienić wady / zalety baz klucz-wartość.
Określić podstawowe zasady posługiwania się kluczami.
Zajęcia 5 (Ćwiczenia 3)
Implementujemy prostą aplikację webową pozwalającą na dostęp do bazy danych (SQLite)
Materials
Basic web application with Python and Flask
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Podstawy konstrukcji aplikacji webowych w oparciu o framework Flask
Zajęcia 6 (Ćwiczenia 4)
Ciąg dalszy poprzednich zajęć
Materials
...
Co po tych zajęciach powinno się znać / wiedzieć / umieć
...
Zajęcia 7 (Ćwiczenia 5)
Ciąg dalszy poprzednich zajęć - kończymy przykładową aplikację webową
Materials
...
Co po tych zajęciach powinno się znać / wiedzieć / umieć
...
Zajęcia 8 (Wykład 3)
Hadoop - przyczyny powstania, podstawy działania, ekosystem
Materials
Prezentacja z wykładu:
Hadoop. Understanding Hadoop and its components
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Wyjaśnić przyczyny powstania Hadoop.
Wymienić i scharakteryzować główne elementy wchodzące w skład Hadoop.
Wymienić i scharakteryzować wybrane systemy wchodzące w skład ekosystemu Hadoop.
Zajęcia 9 (Ćwiczenia 6)
Podstawy pracy z bazą HBase z linii poleceń i z poziomu języka Python
Materials
Install and work with Apache HBase
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Wykonywać podstawowe operacje w bazie Apache HBase.
Wykorzystać język Python do wykonywania operacji w bazie Apache HBase.
Zajęcia 10 (Ćwiczenia 7)
Import danych z urządzeń pomiarowych i przygotowanie ich do zapisu w bazie danych
Materials
Kod powstały na zajęciach udostępniony mailowo.
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Praca z danymi tekstowymi i formatem JSON.
Zajęcia 11 (Ćwiczenia 8)
Zapis danych z urządzeń pomiarowych w bazie HBase
Materials
Kod powstały na zajęciach udostępniony mailowo.
Co po tych zajęciach powinno się znać / wiedzieć / umieć
Wykorzystać język Python do wykonywania operacji w bazie Apache HBase.
Zajęcia XX (Wykład X)
Praca własna. Ze strony
Neo4j Graph Academy
zrealizować materiał szkoleniowy dotyczący:
Neo4j Fundamentals (1h)
Cypher Fundamentals (1h)
Graph Data Modeling Fundamentals (2h)
Importing CSV Data into Neo4j (2h)
Materiały
Neo4j and Cypher
TinkerPop and Gremlin
Hadoop ecosystem
Neo4j and Cypher
Od czego zacząć:
Getting Started with Neo4j
Cypher Query Language
Docs (in HTML and PDF), w tym m.in.
Neo4j Database
Getting Started
Neo4j 4.1 Operations Manual
Cypher
Cypher Manual 4.1
Cypher Refcard 4.1
Neo4j Sandbox
Neo4j Console
Practical projects:
Design a Movie Recommendation System with using Graph Database (neo4j) — part 1
Design a Movie Recommendation System with using Graph Database (neo4j) — part 2
Literatura
Get Started with Cypher: A Beginner's Guide (książka, bezpłatna)
Ebook: Graph Databases for Beginners (książka, bezpłatna)
Learning Neo4j (książka, bezpłatna)
Graph Databases For Dummies (książka, bezpłatna)
Graph Algorithms: Practical Examples in Apache Spark and Neo4j (książka, bezpłatna)
Graph Databases (książka, bezpłatna)
Cypher Resources
Inne
Case Studies
Become a Neo4j Certified Professional
TinkerPop and Gremlin
The Gremlin Console
Gremlify
- interaktywne, obsługiwane przez WWW środowisko pracy z grafami
Getting Started
Kelvin R. Lawrence, PRACTICAL GREMLIN: An Apache TinkerPop Tutorial
TinkerPop Documentation
Gremlin Cheat Sheet 101 (Basic Steps)
Gremlin Cheat Sheet 102 (Advanced Steps)
Inne
IO Step
- saving and loading graph
Installing Hadoop-Gremlin
Hadoop ecosystem
How to install:
Get Hadoop install from
https://hadoop.apache.org
To install Hadoop on Linux system you may follow:
How to Install and Configure Apache Hadoop on Ubuntu 20.04
Ubuntu 20.04 Hadoop
Hadoop: Setting up a Single Node Cluster.
Running Hadoop On Ubuntu Linux (Single-Node Cluster)
Running Hadoop On Ubuntu Linux (Multi-Node Cluster)
If you are kamikaze and want to run Hadoop on Windows you may follow:
Install Hadoop 3.2.1 on Windows 10 Step by Step Guide
Installing Hadoop 3.2.1 Single node cluster on Windows 10
To instal sqoop you may follow:
Sqoop Tutorial
How to Install SQOOP on Ubuntu with picutres
How to Install Apache Sqoop on Ubuntu 16.04
Sqoop installation on Linux
Apache Sqoop
and latest available Apache Sqoop documentation: (now 2020-30-11: 1.99.7)
Apache Sqoop documentation
Work with:
Java
Learn Java Programming
MapReduce
MapReduce Tutorial
Mapreduce Tutorial – Learn Mapreduce from Experts
Writing An Hadoop MapReduce Program In Python
Your First Map Reduce—Using Hadoop with Python and OSX
A Beginners Introduction into MapReduce
HBase
Apache HBase Reference Guide
Apache HBase Reference Guide: 55. HBase MapReduce Examples
Hbase Map Reduce Example
HBase Tutorial – Learn HBase from Experts