Fundamentals of Database Engineering

BY
Udemy

Learn the fundamentals and advanced concepts of data engineering, including indexing, partitioning, replication, sharding, and more.

Mode

Online

Fees

₹ 3099

Quick Facts

particular details
Medium of instructions English
Mode of learning Self study
Mode of Delivery Video and Text Based

Course overview

Hussein Nasser, a software engineer, and author developed the Fundamentals of Database Engineering certification course, which is offered by Udemy and is intended for learners who are interested in learning how to strengthen the safety of an organization's database systems, prevent unauthorized access, and modernize information system The Fundamentals of Database Engineering online course by Udemy is meant to offer learners the patterns and specific skills they need to use database engineering procedures.

Fundamentals of Database Engineering online training is a self-paced training program that includes 22 hours of digital lessons, 4 articles, and 69 downloadable resources that will provide learners with the tools they need to take on complex and demanding database management tasks. With this course, learners will also be taught about topics like embedded databases, partitioning, indexing, sharding, replication, homomorphic encryption, b-trees, concurrency control, database engines and database security, and much more.

The highlights

  • Certificate of completion
  • Self-paced course
  • 23 hours of pre-recorded video content
  • 4 articles
  • 69 downloadable resources

Program offerings

  • Online course
  • Learning resources
  • 30-day money-back guarantee
  • Unlimited access
  • Accessible on mobile devices and tv

Course and certificate fees

Fees information
₹ 3,099
certificate availability

Yes

certificate providing authority

Udemy

What you will learn

Database management Sql knowledge

After completing the Fundamentals of Database Engineering online certification, learners will acquire an understanding of the foundational concepts of database engineering along with the functionalities of database management systems like MySQL. Learners will explore the various concepts involved with database management like database replication, database indexing, database partitioning, database sharding, database system design, concurrency control, and database security. Learners will study the functionalities of database cursors, database engines, embedded databases, production database systems, B-tress, and homomorphic encryption.

The syllabus

Course Updates

  • Welcome to the Course
  • Course Update Oct 2020
  • Course Update April 2021
  • Course Update December 2021
  • Note about Docker

ACID

  • Introduction to ACID
  • What is a Transaction?
  • Atomicity
  • Isolation
  • Consistency
  • Durability
  • Eventual Consistency
  • ACID by Practical Examples
  • Phantom Reads
  • Serializable vs Repeatable Read
  • ACID Quiz

Understanding Database Internals

  • How tables and indexes are stored on disk (MUST WATCH before continue)
  • Row-Based vs Column-Based Databases
  • Primary Key vs Secondary Key - What you probably didn't know

Database Indexing

  • Create Postgres Table with a million Rows (from scratch)
  • Getting Started with Indexing
  • Understanding The SQL Query Planner and Optimizer with Explain
  • Index Scan vs Index Only Scan
  • Key vs Non-Key Column Database Indexing
  • Combining Database Indexes for Better Performance
  • How Database Optimizers Decide to Use Indexes
  • Bitmap Index Scan vs Index Scan vs Table Scan
  • Create Index Concurrently - Avoid Blocking Production Database Writes
  • Bloom Filters
  • Working with Billion-Row Table
  • Article - The Cost of Long running Transactions
  • Article - Microsoft SQL Server Clustered Index Design

B-Tree vs B+Tree in Production Database Systems

  • B-Tree Section's Introduction & Agenda
  • Full Table Scans
  • Original B-Tree
  • How the Original B-Tree Helps Performance
  • Original B-Tree Limitations
  • B+Tree
  • B+Tree DBMS Considerations
  • B+Tree Storage Cost in MySQL vs Postgres
  • B-Tree Section's Summary

Database Partitioning

  • Introduction to Database Partitioning
  • What is Partitioning?
  • Vertical vs Horizontal Partitioning
  • Partitioning Types
  • The Difference Between Partitioning and Sharding
  • Preparing: Postgres, Database, Table, Indexes
  • Execute Multiple Queries on the Table
  • Create and Attach Partitioned Tables
  • Populate the Partitions and Create Indexes
  • Class Project - Querying and Checking the Size of Partitions
  • The Advantages of Partitioning
  • The Disadvantages of Partitioning
  • Section Summary - Partitioning
  • How to Automate Partitioning in Postgres

Database Sharding

  • Introduction to Database Sharding
  • What is Database Sharding?
  • Consistent Hashing
  • Horizontal partitioning vs Sharding
  • Sharding with Postgres
  • Spin up Docker Postgres Shards
  • Writing to a Shard
  • Reading from a Shard
  • Advantages of Database Sharding
  • Disadvantages of Database Sharding
  • Database Sharding Section Summary
  • When Should you consider Sharding your Database?

Concurrency Control

  • Shared vs Exclusive Locks
  • Dead Locks
  • Two-phase Locking
  • Solving the Double Booking Problem (Code Example)
  • Double Booking Problem Part 2 ( Alternative Solution and explination)
  • SQL Pagination With Offset is Very Slow
  • Database Connection Pooling

Database Replication

  • Introduction to Database Replication
  • Master/Standby Replication
  • Multi-master Replication
  • Synchronous vs Asynchronous Replication
  • Replication Demo with Postgres 13
  • Pros and Cons of Replication

Database System Design

  • Twitter System Design Database Design
  • Building a Short URL System Database Backend

Database Engines

  • Introduction
  • What is a Database Engine?
  • MyISAM
  • InnoDB
  • XtraDB
  • SQLite
  • Aria
  • BerkeleyDB
  • LevelDB
  • RocksDB
  • Popular Database Engines
  • Switching Database Engines with mySQL

Database Cursors

  • What are Database Cursors?
  • Server Side vs Client Side Database Cursors
  • Inserting Million Rows with Python in Postgres using Client Side Cursor
  • Querying with Client Side Cursor
  • Querying with Server Side Cursor
  • Pros and Cons of Server vs Client Side Cursors

Database Security

  • How to Secure Your Postgres Database by Enabling TLS/SSL
  • What is the Largest SQL Statement that You can Send to Your Database
  • Deep Look into Postgres Wire Protocol with Wireshark
  • Deep Look Into MongoDB Wire Protocol with Wireshark
  • Best Practices Working with REST & Databases
  • Database Permissions and Best Practices for Building REST API

Homomorphic Encryption - Performing Database Queries on Encrypted Data

  • Introduction to Homomorphic Encryption
  • What is Encryption?
  • Why Can't we always Encrypt?
  • What is Homomorphic Encryption
  • Homomorphic Encryption Demo
  • Clone and Build the Code
  • Going Through the Code and the Database
  • Searching The Encrypted Database
  • Is Homomorphic Encryption Ready?

Q&A - Answering your Questions

  • Q&A - October 2021
  • Q&A - November 2021
  • Q&A - December 2021

Database Discussions

  • SELECT COUNT (*) can impact your Backend Application performance, here is why
  • How does the Database Store Data On Disk?
  • Is QUIC a Good Protocol for Databases?
  • What is a Distributed Transaction?
  • Why Uber Moved from Postgres to MySQL (Discussion)
  • Can NULLs Improve your Database Queries Performance?
  • Write Amplification Explained in Backend Apps, Database Systems and SSDs
  • Optimistic vs Pessmistic Concurrency Control

Archived Lectures

  • Introduction to ACID (Archived)
  • What is a Transaction? (Archived)
  • Atomicity (Archived)
  • Isolation (Archived)
  • Consistency (Archived)
  • Durability (Archived)

Instructors

Mr Hussein Nasser

Mr Hussein Nasser
Software Engineer
Freelancer

Articles

Popular Articles

Latest Articles

Trending Courses

Popular Courses

Popular Platforms

Learn more about the Courses

Download the Careers360 App on your Android phone

Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile

Careers360 App
150M+ Students
30,000+ Colleges
500+ Exams
1500+ E-books