🧐 Сегодня на воркшопе у ребят возник вопрос Что такое партиции?
Применительно к хранению в Kafka используется два термина: партиции и топики.
В Kafka данные хранятся в топиках. Топики разделены на партиции. Партиции — это единицы хранения сообщений, а топики — что-то вроде контейнеров, в которых эти партиции находятся. У каждого топика есть уникальное имя, от которого зависят имена партиций. У одного топика могут быть партиции в разных брокерах, но сама партиция всегда привязана к одному брокеру.
В теории партиция — это неизменяемая последовательность сообщений. Продюсер в Kafka может добавлять сообщения в партицию, но не может удалять.
Надо понимать, что партиция привязана к брокеру. Если у нас, допустим, три брокера, а партиция1 существует в брокер1, в других брокерах ее не будет.
Каждая партиция разделена на сегменты. У каждого сегмента есть файл log, где хранится само сообщение, и файл index, где хранится позиция сообщения в файле log.
Kafka использует партиции, чтобы повысить пропускную способность и распределить нагрузку по всем брокерам в кластере.
К минусам партиций относятся:
- наличие большого числа партиций;
- не решают проблему неравномерности данных (партиции могут быть разного размера).
Применительно к хранению в Kafka используется два термина: партиции и топики.
В Kafka данные хранятся в топиках. Топики разделены на партиции. Партиции — это единицы хранения сообщений, а топики — что-то вроде контейнеров, в которых эти партиции находятся. У каждого топика есть уникальное имя, от которого зависят имена партиций. У одного топика могут быть партиции в разных брокерах, но сама партиция всегда привязана к одному брокеру.
В теории партиция — это неизменяемая последовательность сообщений. Продюсер в Kafka может добавлять сообщения в партицию, но не может удалять.
Надо понимать, что партиция привязана к брокеру. Если у нас, допустим, три брокера, а партиция1 существует в брокер1, в других брокерах ее не будет.
Каждая партиция разделена на сегменты. У каждого сегмента есть файл log, где хранится само сообщение, и файл index, где хранится позиция сообщения в файле log.
Kafka использует партиции, чтобы повысить пропускную способность и распределить нагрузку по всем брокерам в кластере.
К минусам партиций относятся:
- наличие большого числа партиций;
- не решают проблему неравномерности данных (партиции могут быть разного размера).