Hazelcast предоставляет разработчику довольно удобные и мощные средства поиска элементов в IMap, называемые Distributed Queries. К сожалению официальная документация описывает только базовые варианты использования и совсем мало информации о возможностях Value Extractors. В данной статье постараюсь описать свой опыт использования Value Exctractors для решения задач поиска а IMap, когда значением… Read more »
Слишком большие партиции У Partition Key (ключ раздела) есть два основных аспекта: С точки зрения пользователя, этот ключ определяет как пользователь будет читать данные. Является основным параметром при создании модели данных. С точки зрения самой Apache Cassandra, определяет где физически будут находится данные в кластере, на каких узлах. Оптимальным вариантом… Read more »
На практике бывают ситуации когда нужно выполнить большое количество однотипных запросов к Cassandra, как правило это приводит к проблеме производительности. Разработчики довольно часто пытаются решить эту проблему с помощью средств для этого не предназначенных, таких как выражение IN и Batch statements, что в свою очередь приводит к другим нехорошим ситуациям…. Read more »
В этой статье пойдет речь о хинтах (hints) и о метриках, которые позволяют их отслеживать. По личному опыту скажу, что понимание и отслеживание данных метрик помогло на одном из проектов решить проблему с рассинхронизацией данных между репликами. Неконсистентность Для начала кратко расскажу о проблеме. Есть некоторая распределенная система использующая Apache… Read more »
В предыдущей статье были описаны базовые понятия и принципы чтения и анализа метрик Apache Cassandra. В сегодняшней статье будет подробно рассказано о конкретных метриках из раздела org.apache.cassandra.request (и его близнеце org.apache.cassandra.metrics:type=ThreadPools,path=request), о рекомендуемых значениях и причинах отклонения от этих значений. Данные метрики в основном характеризуют производительность кластера и влияют на… Read more »
Для чего нужны метрики В этой статье опишу базовые понятия и расскажу как правильно читать метрики. В последующих статьях расскажу про некоторые конкретные метрики, на что они влияют и что может влиять на них. Метрики – это численные показатели каких-либо свойств системы. Они являются очень полезным инструментом для обнаружения и… Read more »
Что такое метка времени или timestamp Метка времени (timestamp) является составной частью колонки (column), также как имя колонки и её значение. Каждая операция модификации данных имеет свою метку времени. Метка времени необходима для задания правильной последовательности операций изменения данных и определения наиболее актуальной версии данных. Как работают метки времени Операция… Read more »
В статье пойдет речь о двух базовых вещах, которые, как ни странно, многие разработчики упускают из виду при написании клиентского кода, особенно когда работают с CQL: Cassandra – это хранилище типа ключ-значение. Cassandra – это распределенное децентрализованное хранилище. Хранилище ключ-значение (key-value) Очень важно понимать, что вы, по сути, работаете с… Read more »