1 |
Core Concepts |
- CAP Theorem (Consistency, Availability, Partition Tolerance)
- ACID vs. BASE
|
- Understand the foundational principles of distributed systems and NoSQL.
|
2 |
Types of Data Models |
- Document Database
- Key-Value Database
- Column-Family Database
- Graph Database
|
- Identify the main types of NoSQL databases and their use cases.
|
3 |
Document Database (MongoDB) |
- Concepts: Collections, Documents
- CRUD Operations
- Aggregation Framework
|
- Practice storing and flexibly querying data with MongoDB.
|
4 |
Key-Value Database (Redis) |
- Concepts
- Data Structures (Strings, Lists, Hashes...)
- Use Cases (Caching, Session Store)
|
- Use Redis for high-performance applications.
|
5 |
Column-Family Database (Cassandra) |
- Architecture (Ring, Nodes)
- Data Model (Keyspace, Column Family)
- Query Language (CQL)
|
- Work with a database designed for Big Data and high availability.
|
6 |
Graph Database (Neo4j) |
- Graph Concepts (Nodes, Relationships)
- Cypher Query Language
- Use Cases (Social Networks, Recommendation)
|
- Model and query data with complex relationships.
|
7 |
NoSQL Data Modeling |
- Denormalization
- Embedding vs. Referencing
- Query-Driven Design
|
- Master schema design techniques for NoSQL.
|
8 |
Indexing and Performance |
- What is an Index?
- Types of Indexes in NoSQL
- Query Performance Analysis
|
- Optimize data read speed.
|
9 |
Transactions & Consistency |
- Eventual Consistency
- Transactions in NoSQL
|
- Understand the trade-offs in data consistency.
|
10 |
Scalability |
- Horizontal vs. Vertical Scaling
- Sharding
- Replication
|
- Understand how NoSQL systems handle large amounts of data.
|
11 |
Real-world Project |
- Choose the right tool for the problem
- Build a complete application using a NoSQL database
|
- Apply learned knowledge to a practical project.
|