System Design

Масштабирование и доступность

2 вопросов

Вертикальное (Scale-up) — добавление ресурсов (CPU, RAM) на один сервер. Горизонтальное (Scale-out) — добавление новых серверов в пул. Горизонтальное считается более надежным для High Load.

Утверждение о том, что в распределенной системе можно обеспечить только 2 из 3 свойств: Consistency (согласованность), Availability (доступность), Partition Tolerance (устойчивость к разделению).

Базы данных и хранение

2 вопросов

NoSQL подходит при отсутствии жесткой схемы, необходимости горизонтального масштабирования «из коробки» или работе с неструктурированными данными (документы, графы).

Метод разделения большой базы данных на мелкие части (шарды), распределяемые по разным серверам для повышения производительности.

Навигация