BENR2423
Chapter 1:
Database and Introduction
Cloud System
Soo Yew Guan
Lim Kim Chuan
Contact [email protected]
[email protected]
Research Lab III
Location:
• Online
Timetable:
• Mon 14:00 – 16:00
Lectures • Tue 09:00 – 11:00
Lecture materials
• Lecture slides
• YouTube videos
• Materials from the Internet
• Student presentations
• Course Work: 40%
• Quiz: 5%
• Test: 15%
• Assignment: 20%
• Final Exam: 60%
Grading
• Database Design and Queries
• Fundamental Backend Development
• Edge to Cloud Communication Protocol
Course Topics
Platform
• MongoDB (Database)
• https://www.mongodb.com/
• Nodejs (Cloud)
• https://nodejs.org/en/
Software
• MongoDB Compass
• https://www.mongodb.com/try/download/compass
• Microsoft Visual Studio Code
• https://code.visualstudio.com/
Programming Language
• JavaScript
Programming and Tools
• The world is drowning in data
Motivation
Network of physical
objects that are
connected to the
internet allowing
them to send, receive
and exchange data
Internet of Things
• Imagine a device push a byte per-second to the cloud
~ 50 GB per-second of data
Internet of Things
IoT Architecture
• A collection of files storing related data
• For example:
• Facebook Post
• Bank Account
• UTeM Student’s Records
• Contact List on Cell Phone
Database
• A software that allows client to manage large
database that stores, access, and manipulates data
saved on disk, or even in RAM
• Organize data according to a specific pattern, called
database model
• The DBMS has three core components:
• Data storage engine
• Query / Update engine
• Schema management system
Database Management Systems (DBMS)
• Data storage can be persistence or ephemeral
• The format of that data can vary widely: small or
large files, organized by row, by column, or by
content.
Data Storage Engine
• Query Language are used for retrieving and storing
data of different types.
• SQL (Structured Query Language)
• MQL (MongoDB Query Language)
• In order to expose those functions, the DBMS
exposes APIs for client applications
Query / Update engine
• Define how you want your data to be structured
• Rigid schemas
• useful when you know the exact specifications of each
record in advance, and don’t need to change often
• Flexible schemas
• useful when you're working with unstructured data, or
have constantly changing, variability in your data set, or
need to respond to more rapidly changing requirements
Schema Management system
• Hierarchical databases
• Network databases
• Relational databases
• Non-relational databases
• Time series databases
Types of Databases
• Hierarchical databases
• Encode a relationship between items where every
record has a single parent.
• Tree-like structure that can be used to categorize records
according to their parent record.
Types of Databases
• Relational databases
• Organize data using tables
• Column has a name and a data
type
• Row represents a data item
Types of Databases
• Non-relational databases
• Also known as document-oriented databases
• Use a key to uniquely identify data within the database
• Do not prescribe any specific format or schema.
Types of Databases
• Time series databases
• Data stores that focus on collecting and managing values
that change over time
• Organized into structures that record the values for a
single item over time or using timestamps as keys to
store values for multiple metrics or columns at once.
Types of Databases
• Also known as NoSQL Database
• Schema-less
Non-Relational Database
• Also known as NoSQL Database
• Schema-less
string number string string
Name Phone Address E-Mail
Soo 1234567890 FKEKK, UTeM
[email protected]Non-Relational Database
• Also known as NoSQL Database
• Schema-less
string number string string
Name Phone Address E-Mail
Soo 1234567890 FKEKK, UTeM
[email protected]Ali Mobile: 2344935809 FKEKK, UTeM
[email protected]Non-Relational Database
• Also known as NoSQL Database
• Schema-less
{ {
name: Soo, name: Ali,
phone: 1234567890, phone: {
address: FKEKK, UTeM mobile: 2344935809
email: [email protected] home: 234439559
} },
address: FKEKK, UTeM
email: [email protected]
}
Non-Relational Database
• Using key-value stores
Key Value
1234567890 KFC string
3953833459 Pizzahut string
2345938930 { JSON
name: McDonalds
country: MY
}
Non-Relational Database
• Description of an information
• Example:
Non-Relational Database
• Facebook post
{
user:
title:
content:
likes:
comments:
}
Non-Relational Database
• Facebook post
{
user: soo
title: BENR2423
content: Welcome to BENR2423
likes: 0
comments: []
}
Non-Relational Database
Cloud Private Server
(Database as A Service) (Self-hosted)
DynamoDB (AWS)
BigTable (Google)
CosmosDB (Azure)
Non-Relational Database
Homework
https://university.mongodb.com/courses/M001/about
Homework
https://ulearn-
eet.utem.edu.my/sem2202122/mod/forum/view.php?id=31366
Official contact hour
• Week #1 to #14 Lecture (live, online): Every Monday 2pm to 4pm
• Week #3 to #14 Consultation (f2f, research lab III, FKEKK):
- S1: Wednesday 9am to 11am (12pax++ weekly)
- S2: Friday 8am to 10am (12pax++ weekly)
- S3: Friday 10am to 12noon (12pax++ weekly)
• Week #3 to #14 Homework:
- Complete the given homework (MongoDB NodeJS programming,
MongoDB University online syllabus) and shoot a video not more than
3 minutes to upload to MS Teams (12pax per session)
- S1: Submit homework video before Tuesday 12noon
- S2: Submit homework video before Thursday 12noon
- S3: Submit homework video before Thursday 12noon
- Please automatically come to the consultation hour if you fail to submit
the homework video on time.