Course Overview
Database Engineering is a very interesting sector in software engineering. If you are interested in learning about database engineering you have come to the right place. I have curated this course carefully to discuss the Fundamental concepts of database engineering.
This course will not teach you SQL or programming languages, however, it will teach you skillsets and patterns that you can apply in database engineering. A few of the things that you will learn are Indexing, Partitioning, Sharding, Replication, b-trees in-depth indexing, Concurrency control, database engines and security, and much more.
I believe that learning the fundamentals of database engineering will equip you with the necessary means to tackle difficult and challenging problems yourself. I always compare engineering to math, you never memorize specific formulas and equations, you know the basic proves and derive and solve any equation one throws at you. Database engineering is similar, you can't possibly say MongoDB is better than MySQL or Postgres is better than Oracle. Instead, you learn your use case and by understanding how each database platform does its own trade-offs you will be able to make optimal decisions.
One other thing you will learn in this course is the lowest database interface that talks to the OS which is the database engine. Database engines or storage engines or sometimes even called embedded databases is a software library that a database management software uses to store data on disk and do CRUD (create update delete) Embedded means move everything in one software no network client-server. In this video course, I want to go through the few popular database engines, explain the differences between them, and finally, I want to spin up a database and change its engine and show the different features of each engine.
Enjoy the course.
FAQ
FAQ area empty
Course curriculum
-
Create Postgres Table with a million Rows (from scratch)
262 -
Getting Started with Indexing
1098 -
Understanding The SQL Query Planner and Optimizer with Explain
616 -
Bitmap Index Scan vs Index Scan vs Table Scan
684 -
Key vs Non-Key Column Database Indexing
1022 -
Index Scan vs Index Only Scan
488 -
Combining Database Indexes for Better Performance
847 -
How Database Optimizers Decide to Use Indexes
679 -
Create Index Concurrently - Avoid Blocking Production Database Writes
190 -
Bloom Filters
558 -
Working with Billion-Row Table
788 -
How UUIDs in B+Tree Indexes can affect performance
1130 -
Article - The Cost of Long running Transactions
-
Article - Microsoft SQL Server Clustered Index Design
-
Indexing Quiz
-
Introduction to Database Partitioning
86 -
What is Partitioning?
208 -
Vertical vs Horizontal Partitioning
127 -
Partitioning Types
92 -
The Difference Between Partitioning and Sharding
163 -
Preparing: Postgres, Database, Table, Indexes
322 -
Execute Multiple Queries on the Table
78 -
Create and Attach Partitioned Tables
226 -
Populate the Partitions and Create Indexes
239 -
Class Project - Querying and Checking the Size of Partitions
332 -
The Advantages of Partitioning
281 -
The Disadvantages of Partitioning
168 -
Section Summary - Partitioning
70 -
How to Automate Partitioning in Postgres
606
-
Introduction to Database Sharding
66 -
What is Database Sharding?
211 -
Consistent Hashing
161 -
Horizontal partitioning vs Sharding
68 -
Sharding with Postgres
65 -
Spin up Docker Postgres Shards
443 -
Writing to a Shard
1318 -
Reading from a Shard
679 -
Advantages of Database Sharding
119 -
Disadvantages of Database Sharding
213 -
Database Sharding Section Summary
45 -
When Should you consider Sharding your Database?
1206
-
How to Secure Your Postgres Database by Enabling TLS/SSL
721 -
Deep Look into Postgres Wire Protocol with Wireshark
847 -
Deep Look Into MongoDB Wire Protocol with Wireshark
1444 -
What is the Largest SQL Statement that You can Send to Your Database
583 -
Best Practices Working with REST & Databases
413 -
Database Permissions and Best Practices for Building REST API
1420
-
Introduction to Homomorphic Encryption
112 -
What is Encryption?
89 -
Why Can't we always Encrypt?
272 -
What is Homomorphic Encryption
300 -
Homomorphic Encryption Demo
35 -
Clone and Build the Code
155 -
Going Through the Code and the Database
65 -
Searching The Encrypted Database
190 -
Is Homomorphic Encryption Ready?
150
-
Heap Index scan instead of Index only scan why?
774 -
What is the unit of the Cost in Postgres Planner?
375 -
All Isolation Levels - Explained Details
1567 -
Snapshot and Repeatable Read Isolation difference?
475 -
I have an Index why is the database doing a full table scan?
457 -
Why Databases Read Pages instead of Rows?
662 -
How does Indexing a column with duplicate values work?
653 -
Should I drop unused indexes?
525 -
Why use serializable Isolation Level when we have SELECT FOR UPDATE?
419 -
Can I use the same database connection for multiple clients?
420 -
Do I need a transaction if I'm only reading?
947 -
Why does an update in Postgres touches all indexes?
1429 -
What is the value of bitmap index scan?
1545 -
What does Explain Analyze actually do?
1177 -
Postgres vs MySQL (The fundamental differences)
-
Does Create Index block writes and Why?
675 -
Postgres Process Architecture
-
Index Scan vs Index Seek
-
SELECT COUNT (*) can impact your Backend Application performance, here is why
636 -
How Shopify Switched from UUID as Primary Key
1882 -
How does the Database Store Data On Disk?
1135 -
Postgres Architecture
1995 -
Is QUIC a Good Protocol for Databases?
735 -
What is a Distributed Transaction?
1288 -
Hash Tables and Consistent Hashing
2962 -
Indexing in PostgreSQL vs MySQL
781 -
Why Uber Moved from Postgres to MySQL (Discussion)
2833 -
Can NULLs Improve your Database Queries Performance?
1272 -
Write Amplification Explained in Backend Apps, Database Systems and SSDs
1275 -
WAL, Redo and Undo logs
2350 -
Optimistic vs Pessmistic Concurrency Control
1056 -
Avoid SELECT *, even on a single-column tables
-
Postgres Locks - A Deep Dive
-
How Slow is select * in row store
-
MySQL InnoDB Advanced Locking Techniques
2433
Requirment
-
Have worked with databases before but wish to get deeper understanding
-
Basic SQL knowledge
Outcomes
-
Learn and understand ACID Properties
-
Database Indexing
-
Database Partitioning
-
Database Replication
-
Database Sharding
-
Database Cursors
-
Concurrency Control (Optimistic, Pessimistic)
-
B-Trees in Production Database Systems
-
Database System Designs
-
Difference between Database Management System, Database Engine and Embedded database
-
Database Engines such as MyISAM, InnoDB, RocksDB, LevelDB and More
-
Benefits of Using one database engine over the other
-
Switching Database Engines with MySQL
-
Database Security
-
Homomorphic Encryption
0 Student
2 Courses
0 review