production
Skip to Content

BU593D: DATABASES AND CYBERSECURITY FOR BIG DATA (2023-2024)

Last modified: 31 Jul 2023 11:37


Course Overview

This course will introduce students to the concept of dealing with both data and the security of data at scale. Traditional relational database tools may no longer prove to be the best solution once data becomes ‘big’ data. The course builds on the theoretical foundations of big data, network analysis and unstructured data from the Big Data Analytics, Visualisation and Business Applications course and adds to this a high level understanding of the comparison between traditional relational database designs and more modern NoSQL database designs. Either can be used for big data, but choosing the right one for the particular requirements that must be delivered can prove critical when dealing with data at scale. In addition, we address the requirements for proper cybersecurity and consider the impact of getting this wrong.

You will develop a critical understanding of the principal theories, principles and concepts, such as modelling techniques used in the design, administration and security of database systems. You will also learn core theoretical concepts such as relational algebra, file organisation and indexing and the circumstances in which these might not be so appropriate to suit the requirements.

At the end of this course you will be able to design and build the most appropriate database to suit the type of application to deliver your requirements and have a critical understanding of how scale impacts on database-driven applications.

Course Details

Study Type Postgraduate Level 5
Term Third Term Credit Points 15 credits (7.5 ECTS credits)
Campus Aberdeen Sustained Study No
Co-ordinators
  • Dr Robert Duncan

What courses & programmes must have been taken before this course?

  • Any Postgraduate Programme
  • Master Of Business Administration In Business Analytics

What other courses must be taken with this course?

None.

What courses cannot be taken with this course?

None.

Are there a limited number of places available?

No

Course Description

The concepts of a database and database management in which we address traditional SQL Relational Database development. Illustrations. Entity-Relationship model. Database design: logical design and the relational model. Normalisation; different normal forms. Physical design; file organisation and access; indexing. Database administration. Query by Example and SQL. Query optimisation. All of which will illustrate how these systems work. We also address modern NoSQL database systems, which are non-relational databases, illustrating how they are not table based, but instead utilise four different categories of database, namely key-value pairs, documents, graph databases or wide-column stores. 

Practical examples using MySQL for an SQL relational database, and MongoDb for a NoSQL database will be used to contrast the two different approached and how they are likely to behave at scale.

The course is structured as follows:
There will be 10 recorded lectures;
There will be 10 x 3 hour practical sessions, split between discussion sessions and practical tutorial sessions as required.

Lecture 1: Introduction
Database types, what happens when data becomes big data, performance issues to consider, choosing the right database type for your needs, cybersecurity issues with big data.

Tutorial 1: Environment setup session
Install and setup a virtual LAMP server, configure networking.

Lecture 2: Traditional database types
Relational databases, analytical databases, structured query language, pros and cons, dealing with data at scale, performance, cybersecurity issues, suitability for big data.

Tutorial 2: Using a traditional database
Creating a database, database structure, data input, importing data, querying data.

Lecture 3: Non traditional database types
Key-value pair data, column-oriented data, graph-based data, document-oriented data, query language, pros and cons, dealing with data at scale, performance, cybersecurity issues, suitability for big data.

Tutorial 3: Using a non traditional database
Creating a database, database structure, data input, importing data, querying data.

Lecture 4: The server environment
Creating a typical server environment, how databases fit into the mix, what big data means for this environment, cybersecurity issues.

Tutorial 4: Using a typical server environment
Configuring a typical linux server running Apache 2, with databases and PHP

Lecture 5: Database cybersecurity issues
Cyber security approach; people, process and technology; confidentiality, integrity and availability; configuration weaknesses; mitigation strategies.

Tutorial 5: Securing your data server
Identifying weaknesses, developing mitigation strategies, testing.

Lecture 6: Penetration testing
What is it, why should we do it, how do we do it and what benefits will we get from it?

Tutorial 6: Penetration testing
Here, we will carry out a penetration test on our server to establish just how secure it might be.

Lecture 7: Securing our system
Dealing with our people, checking our processes, resolving our technology issues.

Tutorial 7: Securing our system
Based on the results of the penetration test, we will mitigate all the weaknesses to secure our systems.

Lecture 8: Data warehouses vs data lakes vs big data
What are they? Are they not all the same? Which should we use, and why?

Tutorial 8: Attacking our system
Test attack the system to ensure it is properly secure.

Lecture 9: Cloud computing
What is cloud computing? Why should we use it? What are the pros and cons? How secure is it?

Tutorial 9: Cloud computing
How to install and setup a cloud server.

Lecture 10: The future of big data
What have we learned about big data? Where is it going from here?

Tutorial 10: Competition
Knockout competition for attackers and defenders.


Contact Teaching Time

Information on contact teaching time is available from the course guide.

Teaching Breakdown

More Information about Week Numbers


Details, including assessments, may be subject to change until 30 August 2024 for 1st term courses and 20 December 2024 for 2nd term courses.

Summative Assessments

Class Test - Multiple Choice Questions

Assessment Type Summative Weighting 15
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Pleriminary reading test on the last day of week 1 and ongoing tests during weeks 2 and 3.

Feedback will be provided within 3 weeks of submission.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualUnderstandDemonstrate conceptual understanding of selecting the most appropriate databases suitable for big data application.
FactualApplyLearn how to use database software such as MySQL and MongoDB.
ReflectionEvaluateCritically evaluate cybersecurity requirements to properly protect big data assets.

Design Project: Individual

Assessment Type Summative Weighting 70
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

3000 words individual project and report. Students will design a database installation using NoSQL database tools to address a particular business problem. They will justify their choices and demonstrate the security of the project.

 

Feedback will be provided within 3 weeks of submission.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualUnderstandDemonstrate conceptual understanding of selecting the most appropriate databases suitable for big data application.
FactualApplyLearn how to use database software such as MySQL and MongoDB.
ProceduralAnalyseUtilise a variety of resources and techniques to systematically examine how to select the optimum design for a specific big data requirement and how to secure it properly.
ReflectionEvaluateCritically evaluate cybersecurity requirements to properly protect big data assets.

Class Test - Multiple Choice Questions

Assessment Type Summative Weighting 15
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

Feedback will be provided within 3 weeks of submission.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
ConceptualUnderstandDemonstrate conceptual understanding of selecting the most appropriate databases suitable for big data application.
FactualApplyLearn how to use database software such as MySQL and MongoDB.
ReflectionEvaluateCritically evaluate cybersecurity requirements to properly protect big data assets.

Formative Assessment

There are no assessments for this course.

Resit Assessments

Design Project: Individual

Assessment Type Summative Weighting 100
Assessment Weeks Feedback Weeks

Look up Week Numbers

Feedback

3000 words individual design project and report. Student will design a database installation using NoSQL database tools to address a particular business problem. Student will justify their choices and demonstrate the security of the project. Student must work on a different project from the one they chose the first time.

Feedback will be given.

Learning Outcomes
Knowledge LevelThinking SkillOutcome
Sorry, we don't have this information available just now. Please check the course guide on MyAberdeen or with the Course Coordinator

Course Learning Outcomes

Knowledge LevelThinking SkillOutcome
ProceduralAnalyseUtilise a variety of resources and techniques to systematically examine how to select the optimum design for a specific big data requirement and how to secure it properly.
FactualApplyLearn how to use database software such as MySQL and MongoDB.
ReflectionEvaluateCritically evaluate cybersecurity requirements to properly protect big data assets.
ConceptualUnderstandDemonstrate conceptual understanding of selecting the most appropriate databases suitable for big data application.

Compatibility Mode

We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.