Databases & Storage
كل نظام بيحتاج يخزن بيانات، لكن مش كل البيانات شبه بعض — ولا كل طريقة تخزين تنفع لكل حالة. فتعالوا نتعرف على أساسيات إدارة وتخزين البيانات: من قواعد البيانات الـ (Relational) زي PostgreSQL وMySQL، لقواعد الـ NoSQL بأنواعها المختلفة، وكمان أنظمة التخزين الحديثة زي Object Storage. بالإضافة للمفاهيم الأساسية زي الـ (Indexing)، والـ (Transactions)، والـ (Replication)، والـ (Sharding)، والـ (Consistency).
Materialized View
الـ Materialized View مش مجرد Query بتتنفذ كل مرة زي الـ Views العادية. ولكن هي بتنفذ الـ Query مرة واحدة بس وتخزن النتيجة فعليًا في جدول جديد جوا الـ Database.
Optimistic Locking In a Nutshell
يعتبر الـ Locking من أهم الآليات اللي بنعتمد عليها في الـ Databases بشكل أساسي عشان نتحكم في الـ Concurrent Access للبيانات من خلال أكثر من Transactions، فلو كان هناك عدد من الـ Transactions بيحاول يوصل للبيانات دي في نفس الوقت فأكيد هيحصل نتيجة لده تضارب بنسميه Conflicts.
Database Cheatsheet for System Design
لازم نكون عارفين ان اختيارنا للـ Database في الـ System اللي بنبنيه، هو قرار مش سهل وقرار هنبقى ملزمين بيه لفترة طويلة فلازم نختارها بعناية خصوصًا لو كمان الموضوع هيتضمن Budget وفلوس هتندفع.
How to Store Passwords In Database
ازاي الـ Passwords بتتخزن في الـ Database وازاي نقدر نتأكد من الـ Password بتاع الـ User سليم وهو بيعمل Login
Database Replication
الـ Replication اني اعمل نسخة متماثلة واكررها فيكون عندي اكتر من نسخة بدل نسخة واحدة .. وده طبعا فادنا كتير في الـ Distributed Systems من حيث الـ Availability وكمان الـ Scalability