Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Что такое секционирование таблиц (table partitioning) в PostgreSQL?
Секционирование — это разделение таблицы на несколько меньших частей (секции), которые обрабатываются отдельно. Это повышает производительность запросов и облегчает управление большими объемами данных.
Что такое партиционирование (partitioning) таблиц в базах данных?
Партиционирование — это разделение одной большой таблицы на меньшие физические части (партиции) на основе определенных правил. Каждая партиция хранится отдельно, но логически представляет единую таблицу. Основные типы: по диапазону (range), по списку (list) и по хэшу (hash). Партиционирование улучшает производительность запросов, упрощает управление данными (архивация, удаление) и ускоряет операции за счет работы только с relevant партициями.
Что такое topic и partition?
Topic — это логический канал для сообщений одного типа. Partition — это часть topic’а, в которой сообщения хранятся последовательно. Topic всегда состоит из одного или нескольких partition’ов. Порядок сообщений гарантируется только внутри одного partition’а. Partition’ы позволяют Kafka масштабироваться и обрабатывать данные параллельно.
За что отвечает partition в Kafka?
Partition отвечает за масштабирование и параллельную обработку данных в Kafka. Все сообщения внутри одного partition упорядочены. Один partition может читаться только одним consumer’ом в рамках consumer group. Количество partition’ов напрямую влияет на максимальный параллелизм чтения. Также partition определяет, где физически будут храниться сообщения.
Что произойдет, если consumer’ов больше, чем partition’ов?
Если consumer’ов больше, чем partition’ов, часть consumer’ов останется без работы. Kafka не может назначить один partition нескольким consumer’ам в одной группе. Такие consumer’ы будут находиться в состоянии ожидания. Они начнут получать данные только если появятся новые partition’ы или часть consumer’ов отключится. Это нормальное и ожидаемое поведение Kafka.
Как распределяются partition’ы между consumer’ами в группе?
Рейтинг:
5
Сложность:
7
Partition’ы распределяются между consumer’ами внутри consumer group с помощью алгоритма назначения. За процесс отвечает group coordinator на стороне Kafka. Каждый partition назначается только одному consumer’у. Конкретный алгоритм распределения зависит от выбранной стратегии. Цель распределения — равномерно распределить нагрузку.
Рейтинг:
2
Сложность:
5
Рейтинг:
4
Сложность:
7
Рейтинг:
5
Сложность:
5
Рейтинг:
5
Сложность:
6
Рейтинг:
4
Сложность:
5