IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

Если поле уже включено в ORDER BY при создании таблицы в ClickHouse, то обычно не имеет смысла создавать отдельный пропускающий индекс (skip index) по этому полю. Вот почему:...

продолжить чтение


В ClickHouse параметр GRANULARITY используется для определения уровня детализации индексов при создании таблиц, особенно когда мы говорим о пропускающих индексах (skip indexes) и индексации данных в движке таблицы, таком как MergeTree....

продолжить чтение


В ClickHouse нет возможности создавать отдельные индексы по каждому полю в традиционном понимании, как это делается в реляционных СУБД (например, отдельный индекс для каждого поля). Вместо этого ClickHouse использует механизмы, которые помогают улучшить производительность запросов с фильтрацией по отдельным полям. В ClickHouse можно создать пропускающие индексы (skip indexes), которые создаются по отдельным полям, а......

продолжить чтение


В ClickHouse, когда в выражении ORDER BY указано несколько полей, это приводит к созданию составного индекса, а не отдельных индексов по каждому полю....

продолжить чтение


В ClickHouse есть понятие индекса, но оно отличается от традиционных индексов в реляционных базах данных (таких как PostgreSQL или MySQL). Индексы в ClickHouse используются для ускорения выборок, но они интегрированы в саму архитектуру таблиц и движков, таких как MergeTree, а не создаются отдельно....

продолжить чтение


Вот пошаговое руководство по генерации сертификатов с использованием собственного корневого сертификата (CA) для настройки mTLS между микросервисами....

продолжить чтение


В OpenTelemetry (otel), вложенность спанов (или отношения между спанами) определяется контекстом, а не порядком открытия или закрытия спанов в коде....

продолжить чтение


Да, рекомендуется вызывать span.SetStatus после span.RecordError, чтобы явно установить статус спана в зависимости от записанной ошибки. Это не обязательное требование, но такой порядок помогает сделать код более читаемым и логичным. Вот почему:...

продолжить чтение


Нет, метод span.SetStatus не записывает саму ошибку, а только устанавливает общий статус спана. Если вам нужно сохранить подробности об ошибке (например, текст сообщения или стек-трейс), то для этого используется метод span.RecordError....

продолжить чтение


span.RecordError(err) — это метод OpenTelemetry, который позволяет зафиксировать информацию об ошибке в текущем Span. Эта информация станет частью трассировки и поможет разработчикам проанализировать, что пошло не так....

продолжить чтение


Добавление трассировки (tracing) в код — мощный инструмент для анализа производительности и диагностики проблем, но важно сделать это аккуратно, чтобы код оставался читаемым и трассировка была полезной. Вот рекомендации по расстановке трассировок, их именованию и поддержанию чистоты кода....

продолжить чтение


В OpenTelemetry можно добавлять данные об ошибках в трейс с помощью событий и атрибутов Span. Это помогает фиксировать ошибки и предоставлять подробную информацию для анализа....

продолжить чтение


Настройка config.Producer.Partitioner в Sarama определяет стратегию выбора партиции для записи сообщения в топик Kafka. Это важный параметр, так как от него зависит распределение сообщений по партициям, что, в свою очередь, влияет на производительность и обработку сообщений....

продолжить чтение


Параметр config.Producer.RequiredAcks в Sarama управляет количеством подтверждений от Kafka-брокеров, которые требуется продюсеру для успешного завершения отправки сообщения. Этот параметр определяет баланс между надежностью доставки сообщений и производительностью....

продолжить чтение


sarama.BalanceStrategyRange — это один из алгоритмов распределения партиций Kafka между консюмерами в библиотеке Sarama для Go. Этот алгоритм используется в рамках процесса балансировки нагрузки, происходящего в группе консумеров....

продолжить чтение