Last modified: 31 Jul 2023 11:19
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.
Study Type | Postgraduate | Level | 5 |
---|---|---|---|
Term | Third Term | Credit Points | 15 credits (7.5 ECTS credits) |
Campus | Aberdeen | Sustained Study | No |
Co-ordinators |
|
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.
Information on contact teaching time is available from the course guide.
Assessment Type | Summative | Weighting | 15 | |
---|---|---|---|---|
Assessment Weeks | Feedback Weeks | |||
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. |
Knowledge Level | Thinking Skill | Outcome |
---|---|---|
Conceptual | Understand | Demonstrate conceptual understanding of selecting the most appropriate databases suitable for big data application. |
Factual | Apply | Learn how to use database software such as MySQL and MongoDB. |
Reflection | Evaluate | Critically evaluate cybersecurity requirements to properly protect big data assets. |
Assessment Type | Summative | Weighting | 70 | |
---|---|---|---|---|
Assessment Weeks | Feedback Weeks | |||
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. |
Knowledge Level | Thinking Skill | Outcome |
---|---|---|
Conceptual | Understand | Demonstrate conceptual understanding of selecting the most appropriate databases suitable for big data application. |
Factual | Apply | Learn how to use database software such as MySQL and MongoDB. |
Procedural | Analyse | Utilise 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. |
Reflection | Evaluate | Critically evaluate cybersecurity requirements to properly protect big data assets. |
Assessment Type | Summative | Weighting | 15 | |
---|---|---|---|---|
Assessment Weeks | Feedback Weeks | |||
Feedback |
Feedback will be provided within 3 weeks of submission. |
Knowledge Level | Thinking Skill | Outcome |
---|---|---|
Conceptual | Understand | Demonstrate conceptual understanding of selecting the most appropriate databases suitable for big data application. |
Factual | Apply | Learn how to use database software such as MySQL and MongoDB. |
Reflection | Evaluate | Critically evaluate cybersecurity requirements to properly protect big data assets. |
There are no assessments for this course.
Assessment Type | Summative | Weighting | 100 | |
---|---|---|---|---|
Assessment Weeks | Feedback Weeks | |||
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. |
Knowledge Level | Thinking Skill | Outcome |
---|---|---|
|
Knowledge Level | Thinking Skill | Outcome |
---|---|---|
Factual | Apply | Learn how to use database software such as MySQL and MongoDB. |
Procedural | Analyse | Utilise 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. |
Reflection | Evaluate | Critically evaluate cybersecurity requirements to properly protect big data assets. |
Conceptual | Understand | Demonstrate conceptual understanding of selecting the most appropriate databases suitable for big data application. |
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.