System Design - Technology Selection

Technology Selection, software architecture, NoSQL

Ratings 3.88 / 5.00
System Design - Technology Selection

What You Will Learn!

  • Select the appropriate technology for your system
  • Understand how to select the appropriate database
  • Understand how to select the appropriate compute platform
  • Understand when to cache and how to design your caching system

Description

Technology selection is a core component of system design. Once an architect identifies the components needed for the system, he/she needs to select a technology for each component. This course will help aspiring architects select the appropriate technology for each of the component. This course is structured into the following topics.

  1. Database selection - We explain how SQL and NoSQL technologies are architecturally different and the scenarios under which each should be used. We also cover specialized databases that handle specific scenarios like Text search, Compound search and persistent data structures. We define a decision framework that leverages all these aspects to select the database for every scenario.

  2. Data warehouses and data lakes - We cover why the OLAP queries that data warehouses run requires a fundamentally data layout pattern. We discuss how data lakes and warehouses need to be designed and provide a reference architecture. We also discuss the Event Hub pattern that is becoming very relevant in modern platforms.

  3. Compute selection and Cache design - In this topic, we cover the tradeoffs associated with various compute platforms and how an architect should make the selection. We also discuss the need for caching and the aspects that need to be kept in mind, while designing a caching solution.

Who Should Attend!

  • Developers who want to learn system design and up-level to principal engineer/architect

TAKE THIS COURSE

Tags

  • System Design Interview

Subscribers

68

Lectures

11

TAKE THIS COURSE



Related Courses