IC52C4: Introduction
Download
Report
Transcript IC52C4: Introduction
Course Overview
Course Goal
Course Content
Course Structure
Distributed
Database Systems
1
Course Goal (1)
to enhance the previous knowledge of database
systems by deepening the understanding of the
theoretical and practical aspects of the database
technologies;
to show the need for distributed database technology to
tackle deficiencies of centralized database systems;
to introduce basic principles and implementation
techniques of distributed database systems, including
distributed database design and architecture, query
processing and optimization, transaction management,
recovery, and reliability protocols;
2
Course Goal (2)
to expose active and emerging research issues in
distributed
database
systems
and
application
development, including parallel and streaming data
management, NoSQL and NewSQL big data
management on the cloud;
to apply theory to practice by building a mini-DDBMS
with distributed SQL query processing and optimization
capabilities in a network environment, and packing the
developed
query engine into a web service to
implement the notion of “database as a service”.
3
Course Content (1)
(1) Theoretical study of distributed database systems. It
covers the core of principles of distributed database
management systems, including distributed database
design and architecture, query processing and
optimization, transaction management, concurrency
control, failure recovery, and reliability. Latest
developed data management technologies including
parallel and streaming data management, NoSQL
and NewSQL big data management on the cloud will
also be addressed.
4
Course Content (2)
(2) Experimental DDBMS. Students are organized in
teams to design and implement a mini-DDBMS with
distributed SQL query processing and optimization
capabilities in a network environment. All the
implementation is capsuled into a web service to
meet the requirements of the remote service call,
reflecting the notion of “database as a service”. The
system is subject to the benchmark testing of the
course.
5
Course Content - Theory
1. Distributed database architecture
2. Distributed database design
(horizontal and vertical partitioning)
3. Distributed database query processing and
optimization
4. Distributed database transaction management
5. Distributed concurrency control
6. Distributed reliability protocols
7. Beyond traditional technologies - big data on the
cloud (SQL, NoSQL and NewSQL)
8. Parallel and streaming data management
6
Course Assessment
1. Preparation Notes (10%)
A 1-page preparation note before each lecture. Each note contains
two parts: 1) identification of the main points of the lecture, and 2)
questions to be resolved through and after the lecture.
2. Individual Assignment (10%)
distributed database architecture and design
3. Group Project (50%)
development of a distributed database query engine and deliver it
as a Web service
4. Final Examination (30%)
distributed database transaction management, concurrency control,
reliability, and open questions related to the latest developed data
management technologies.
7
Course Content - Practice
Teamwork
of 3 members
Design
and implement a distributed database
query engine service
To
be evaluated by a benchmark of data and
queries
Demonstration,
documentation, and presentation
88
Scientific Fostering
basic concepts
problem formulation
identification of key technical issues and scientific
challenges
possible solutions
algorithm presentation
system level design and implementation
testing
maintenance
9
Prerequisites
Can know or learn the knowledge of
Database and Computer Network
in the next two weeks.
Can think, write, compile, run, and debug
computer programs.
Have the time and the will to work hard
for a semester to achieve a worthy goal.
10
After the Course
get familiar with the currently available models, technologies
for and approaches to building distributed database systems;
have developed practical skills in the use of these models
and approaches to be able to select and apply the
appropriate methods for a particular case;
be aware of the current research directions in the field and
their possible outcomes;
be able to carry out research on a relevant topic, identify
primary references, analyse them, and come up with
meaningful conclusions;
be able to apply learned skills to solving practical database
related tasks.
11
Main Textbook
Principles of
Distributed Database Systems
M. Tame Özsu
Patrick Valduriez
Prentice-Hall, 2011
12
Course Lecturer
Ling Feng (冯铃)
Office: East Main Building #10-208
Phone: 62773581
Mobile: 15901369009
Email: [email protected]
13
Teaching Assistant
Qingwei Liu (刘青伟)
Office: East Main Building #9-216
Phone: 62793861
Mobile: 15501026727
Email: [email protected]
14
How to Succeed?
Where there is a will, there is a “good”!
Lecture overheads are designed to convey
information, not to be mechanically memorized.
LISTEN to what is said.
THINK about what is said.
ASK questions when you have doubts.
WRITE down only what is important.
PRACTICE what has learned.
15
Tip #1
Don’t wait until the last minute to get help.
16
Tip #2
Hey, I’ll still
pass if I can
get enough
partial
credit.
Bad things happen while learning a new skill. You
will probably crash and burn on some programs.
Start early; give yourself time for mistakes.
17
Tip #3
Don’t be too ambitious with your course load. You
CANNOT slack off in this class, even for a few days.
18
Tip #4
Critical Thinking
Research
Problem Identification
and Solving
Work Ethic
Number Crunching
Speaking
Physical Performance
Writing
Influencing People
Teamwork
Keep in mind ten things employers want you to learn in college.
19
Tip #5
Learn
Practice
Enjoy
20
Question & Answer
21