Introduction to Database Engineering
- Description
- Curriculum
- FAQ
- Reviews
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 one of the main concepts of database engineering.
This course will not teach you SQL or programming languages, however, it will teach you skillset and patterns that you can apply in database engineering. A few of the things that you will learn are Indexing, Partitioning, Sharding, Replication, Concurrency control, database engines and security, and much more.
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 on each engine.
-
10Getting Started with IndexingVideo lesson
-
11Key vs Non-Key Column Database IndexingVideo lesson
-
12Index Scan vs Index Only ScanVideo lesson
-
13Combining Database Indexes for Better PerformanceVideo lesson
-
14Horizontal vs Vertical PartitioningVideo lesson
-
15Database Partitioning (With Postgres)Video lesson
-
16Database Sharding (With Postgres)Video lesson
-
17Bloom FiltersVideo lesson
-
18Working with Billion-Row TableVideo lesson
-
19When to Shard your Database?Video lesson
-
25Introduction to Database ReplicationVideo lesson
Scripts and commands
docker run --name pgmaster -v /Users/HusseinNasser/postgres/v/master_data:/var/lib/postgresql/data -p 5432:5432 -e POSTGRES_PASSWORD=postgres -d postgres
docker run --name pgstandby -v /Users/HusseinNasser/postgres/v/standby_data:/var/lib/postgresql/data -p 5433:5432 -e POSTGRES_PASSWORD=postgres -d postgres
In standby node update postgresql.conf
primary_conninfo = 'application_name=standby host=husseinmac port=5432 user=postgres password=postgres’
add file standby.signal
touch standby.signal
In master update postgresql.conf
first 1 (standby1)
select * from pg_stat_replication
-
26Master/Standby ReplicationVideo lesson
-
27Multi-master ReplicationVideo lesson
-
28Synchronous vs Asynchronous ReplicationVideo lesson
-
29Replication Demo with Postgres 13Video lesson
-
30Pros and Cons of ReplicationVideo lesson
-
33IntroductionVideo lesson
Database engines or storage engines or sometimes even called embedded databases is software library that a database management software uses to store data on disk and do CRUD (create update delete)
Resources
https://youtu.be/V_C-T5S-w8ghttps://mariadb.com/kb/en/library/changes-improvements-in-mariadb-102/
https://mariadb.com/kb/en/library/why-does-mariadb-102-use-innodb-instead-of-xtradb/
https://github.com/facebook/rocksdb/wiki/Features-Not-in-LevelDB
https://mariadb.com/kb/en/library/aria-storage-engine/
https://dev.mysql.com/doc/refman/8.0/en/innodb-index-types.html https://eng.uber.com/mysql-migration/
-
34What is a Database Engine?Video lesson
-
35Row-Based vs Column-Based DatabasesVideo lesson
-
44Most Popular Database EnginesVideo lesson
-
45Switching Database Engine with mySQLVideo lesson
Using docker we will spin up a mySQL database instance and then create two tables with myISAM and one InnoDB and demonstrate the difference.
Code here.
https://github.com/hnasr/javascript_playground/tree/master/mysql_transaction_myisam_innodb
-
46How to Secure Your Postgres Database by Enabling TLS/SSLVideo lesson
-
47Deep Look into Postgres Wire Protocol with WiresharkVideo lesson
-
48Deep Look Into MongoDB Wire Protocol with WiresharkVideo lesson
-
49Encrypted Database Search with Homomorphic Encryption (IBM technology)Video lesson
-
50Best Practices Working with REST & DatabasesVideo lesson
-
51Database Permissions and Best Practices for Building REST APIVideo lesson
-
52What is the Largest SQL Statement that You can Send to Your DatabaseVideo lesson
External Links May Contain Affiliate Links read more