Credits
6
Types
- BDMA: Compulsory
- MIRI: Elective
Requirements
This subject has not requirements
, but it has got previous capacities
Department
ESSI
Web
https://learnsql2.fib.upc.edu/moodle
On the one hand, to deal with high volumes of data, we will see how a distributed file system can scale to as many machines as necessary. Then, we will study different physical structures we can use to store our data in it. Such structures can be in the form of a file format at the operating system level, or at a higher level of abstraction. In the latter case, they take the form of either sets of key-value pairs, collections of semi-structured documents or column-wise stored tables. We will see that, independently of the kind of storage we choose, current highly parallelizable processing systems using funtional programming principles (typically based on Map and Reduce functions), whose processing framework can rely on temporal files (like Hadoop MapReduce) or mainly in-memory structures (like Spark).
On the other hand, to deal with high velocity of data, we need some low latency system which processes either streams or micro-batches. However, nowadays, data production is already beyond processing technologies capacity. More data is being generated than we can store or even process on the fly. Thus, we will recognize the need of (a) some techniques to select subsets of data (i.e., filter out or sample), (b) summarize them maximizing the valuable information retained, and (c) simplify our algorithms to reduce their computational complexity (i.e., doing one single pass over the data) and provide an approximate answer.
Finally, the complexity of a Big Data project (combining all the necessary tools in a collaborative ecosystem), which typically involves several people with different backgrounds, requires the definition of a high level architecture that abstracts technological difficulties and focuses on functionalities provided and interactions between modules. Therefore, we will also analyse different software architectures for Big Data.
Teachers
Person in charge
- Besim Bilalli ( besim.bilalli@upc.edu )
Others
- Sergi Nadal Francesch ( sergi.nadal@upc.edu )
Weekly hours
Theory
1.9
Problems
0
Laboratory
1.9
Guided learning
0
Autonomous learning
6.85
Competences
Generic
Teamwork
Basic
Specific
Objectives
-
Understand the main advanced methods of data management and design and implement non-relational database managers, with special emphasis on distributed systems.
Related competences: CB7, CEC1, CEC2, CEC3, CTR3, CG5, -
Understand, design, explain and carry out parallel information processing in massively distributed systems.
Related competences: CB7, CEC1, CEC2, CEC3, CTR3, CG5, -
Manage and process a continuous flow of data.
Related competences: CB7, CEC1, CEC2, CEC3, CTR3, CG5, -
Design, implement and maintain system architectures that manage the data life cycle in analytical environments.
Related competences: CB7, CEC1, CEC2, CEC3, CTR3, CG5,
Contents
-
Introduction
Big Data, Cloud Computing, Scalability -
Big Data Design
Polyglot systems; Schemaless databases; Key-value stores; Wide-column stores; Document-stores -
Distributed Data Management
Transparency layers; Distributed file systems; File formats; Fragmentation; Replication and synchronization; Sharding; Distributed hash; LSM-Trees -
In-memory Data Management
NUMA architectures; Columnar storage; Late reconstruction; Light-weight compression -
Distributed Data Processing
Distributed Query Processing; Sequential access; Pipelining; Parallelism; Synchronization barriers; Multitenancy; MapReduce; Resilient Distributed Datasets; Spark -
Stream management and processing
One-pass algorithms; Sliding window; Stream to relation operations; Micro-batching; Sampling; Filtering; Sketching -
Big Data Architectures
Centralized and Distributed functional architectures of relational systems; Lambda architecture
Activities
Activity Evaluation act
Theoretical lectures
In these activities, the lecturer will introduce the main theoretical concepts of the subject. Besides lecturing, cooperative learning techniques will be used. These demand the active participation of the students, and consequently will be evaluated.Objectives: 2 1 3 4
Contents:
Theory
25h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
25h
Teaching methodology
The course comprises theory, and lab sessions.Theory: Classical theory lectures in conjunction with complementary explanations and problem solving.
Lab: The course contents are applied in a realistic problem in the course project, done in teams, where students will put into practice the kinds of tools studied during the course. Since this course is part of the BDMA Erasmus Mundus master syllabus, this project is conducted jointly with the Viability of Business Projects (VBP) and Debates on Ethics of Big Data (DEBD) courses.
Evaluation methodology
Final Mark = 60%E + 40%LL = Weighted average of the marks of the lab deliverables and presentations
E = Final exam
Bibliography
Basic
-
Principles of distributed database systems
- Özsu, M.T.; Valduriez, P,
Springer,
2020.
ISBN: 9783030262525
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004193569706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Encyclopedia of database systems
- Liu, L.; Özsu, M.T,
Springer,
2009.
ISBN: 9780387399409
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991000621799706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
NoSQL distilled: a brief guide to the emerging world of polygot persistence
- Sadalage, P.J.; Fowler, M,
Addison-Wesley,
2013.
ISBN: 9780321826626
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003990429706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
In-memory data management
- Plattner, H.; Zeier, A,
Springer,
2012.
ISBN: 9783642295744
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004007899706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
An architecture for fast and general data processing on large clusters
- Zaharia, M,
ACM Books,
2016.
ISBN: 9781970001563
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004088079706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Mining of massive datasets
- Leskovec, J.; Rajaraman, A.; Ullman, J.D,
Cambridge University Press,
2020.
ISBN: 9781108476348
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004193679706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Data streams: models and algorithms
- Aggarwal, C.C. (ed.),
Springer,
2007.
ISBN: 9780387287591
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003199179706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Understanding ETL Data Pipelines for Modern Data Architectures
- PALMER, Matt,
O'Reilly Media, Inc.,
2024.
ISBN: 9781098159252
https://www.oreilly.com/library/view/understanding-etl/9781098159269/
Complementary
-
Database system: the complete book
- Garcia-Molina, H.; Ullman, J.D.; Widom, J,
Pearson Education Limited,
2014.
ISBN: 9781292024479
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=5174436 -
Master data management
- Loshin, D,
Morgan Kaufmann/Elsevier,
2009.
ISBN: 9781282285507
Web links
- Summer school http://cs.ulb.ac.be/conferences/ebiss.html
- PhD programme https://deds.ulb.ac.be
Previous capacities
Being Big Data Management the evolution of Data Warehousing, such knowledge is assumed in this course. Thus, general knowledge is expected on: Relational database desing; Database management system architecture; ETL and OLAPSpecifically, knowledge is expected on:
- Multidimensional modeling (i.e, star schemas)
- Querying relational databases
- Physical design of relational tables (i.e., partitioning)
- Hash and B-tree indexing
- External sorting algorithms (i.e., merge-sort)
- ACID transactions