- Welcome to the Course
- Course Update Oct 2020
- Course Update April 2021
- Course Update December 2021
- Note about Docker
Online
₹ 3,499
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
certificate availability
certificate providing authority
What you will learn
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.
Who it is for
The syllabus
Course Updates
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
Software Engineer
Freelancer