Fundamentals of Database Engineering
What you'll learn
- 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
Requirements
- Have worked with databases before but wish to get deeper understanding
- Basic SQL knowledge
Description
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.
Who this course is for:
- Software Engineers and Database Engineers
Instructor
Early in my career 20 years ago I built database applications without fully grasping their inner mechanics. Facing performance issues, racing conditions bug and even corruption often left me helpless.
I resolved to truly understand the workings of database systems, ensuring I knew every query from my app and its execution in the db and what I choose to make as a transaction and what I make into an atomic query.
From that day I have fascinated by pursuing deep understanding of what is happening behind the scenes in software. If you follow me here you would see deep dive posts about backend, databases and operating systems.
If you enjoy pursing the internals, I think you may like my courses.