Objectives and competences
The aim of this course is to present students with different data technologies (NoSQL and NewSQL databases, cloud data services, streaming data technologies and DLT, etc.) and to enable them to understand the differences between those. The objective is also to train them to know how to use these data technologies, as well as to design software solutions that use different data technologies and analyze the appropriateness of existing software solutions and the appropriateness of selecting a specific data technology.
Content (Syllabus outline)
• Architectures and platforms for big data management
• Cloud data services
• In-memory databases
• Advanced usage and management of NoSQL databases (document, graph, key-value, wide-column)
• NewSQL databases
• Streaming data technologies
• Advanced usage and management of Distributed ledger technologies – Blockchain
• Decentralized and distributed data technologies
• Business logic execution on the data layer of distributed and decentralized systems (smart contracts)
• Distributed file storage systems
Learning and teaching methods
• lectures
• lab work
Intended learning outcomes - knowledge and understanding
• define and describe the concepts and functioning of different data technologies and services,
• analyze and evaluate software solutions regarding the appropriateness of using the selected data technologies and services,
• design effective software solutions using appropriate data technologies and services,
• implement practical solutions with data technologies and services,
• use techniques in the work with various data types and information at different levels of use,
• appropriately apply a certain type of a data technology and service,
• interpret the differences between individual data technologies and services,
• define and describe the connection between data technologies and services from the viewpoint of big data principles
Intended learning outcomes - transferable/key skills and other attributes
• Communication skills: writing a professional report of the performed laboratory work, oral laboratory work defence, manner of expression at the written examination.
• Use of information technology: searching information on the world wide web, use of tools for writing reports, implementation of computer programs and the use of software for the work with data including DBMS.
• Problem-solving: autonomous study, resolving a problem from the field of data and the implementation of selected solutions.
Readings
• R.T. Watson: Data Management: Databases and Organization, 6th Edition, Prospect Press, 2018.
• G. Harrison: Next Generation Databases: NoSQL, NewSQL and Big Data, Apress, 2015.
• A. G. Psaltis: Streaming data, Manning, 2017.
• T. Malaska & J. Seidman: Foundations for Architecting Data Solutions, O'Reilly, 2018.
• J. Kunigk, I. Buss, P. Wilkinson, L. George: Architecting Modern Data Platforms – A Guide to Enterprise Hadoop at Scale, O'Reilly, 2018.
• I. Bashir: Mastering Blockchain: Distributed ledger technology, decentralization, and smart contracts explained, 2nd Edition, Packt, 2018.
Prerequisits
Recommended knowledge/understanding on relational database operations.
Additional information on implementation and assessment Each individual component has to be positively finished. The exam can be replaced by written midterm examinations in the weight of 50%.