System Design - Technology Selection
The selection of technology is a critical component of system design. Once an architect has identified the system's components, he or she must choose a technology for each component. This course will assist aspiring architects in selecting the best technology for each component. This course is divided into the following sections:
Database choices - You describe the architectural differences between SQL and NoSQL technologies, as well as the circumstances in which each should be employed. You also discuss specialized databases that deal with certain cases, such as text search, compound search, and persistent data structures. You create a decision framework that takes into account all of these factors in order to choose the best database for each case.
Data warehouses and data lakes - You discuss why the OLAP queries conducted by data warehouses necessitate a basic data layout design. You cover the construction of data lakes and warehouses and present a reference architecture. You also talk about the Event Hub pattern, which is becoming increasingly popular in current platforms.
Computing platform selection and cache design - In this topic, you discuss the tradeoffs associated with different compute platforms and how an architect should make the decision. You also examine the requirement for caching and the factors to consider while creating a caching solution.
Who this course is for:
- Developers who want to learn system design and up-level to principal engineer/architect
Requirements:
- Some programming experience is needed
- Ideally, you should have taken the functional design course or have good experience on functional design
Udemy rating: 4.3/5
Enroll here: https://www.udemy.com/course/system-design-technology-selection/