es
Feedback
Cassandra & Beyond

Cassandra & Beyond

Ir al canal en Telegram

Sharing of interesting links, thoughts, insights about Apache Cassandra and related technical topics (such as Java, perf, computer science)

Mostrar más
228
Suscriptores
Sin datos24 horas
Sin datos7 días
Sin datos30 días

Carga de datos en curso...

Canales Similares
Sin datos
¿Algún problema? Por favor, actualice la página o contacte a nuestro gerente de soporte.
Menciones Entrantes y Salientes
---
---
---
---
---
---
Atraer Suscriptores
julio '26
julio '26
+2
en 0 canales
junio '26
+4
en 0 canales
Get PRO
mayo '260
en 0 canales
Get PRO
abril '26
+7
en 0 canales
Get PRO
marzo '26
+7
en 1 canales
Get PRO
febrero '26
+2
en 0 canales
Get PRO
enero '26
+2
en 0 canales
Get PRO
diciembre '25
+20
en 0 canales
Get PRO
noviembre '250
en 0 canales
Get PRO
octubre '25
+196
en 0 canales
Fecha
Crecimiento de Suscriptores
Menciones
Canales
30 julio0
29 julio0
28 julio0
27 julio0
26 julio0
25 julio0
24 julio0
23 julio0
22 julio0
21 julio0
20 julio0
19 julio0
18 julio+1
17 julio0
16 julio0
15 julio0
14 julio0
13 julio0
12 julio0
11 julio0
10 julio0
09 julio0
08 julio0
07 julio+1
06 julio0
05 julio0
04 julio0
03 julio0
02 julio0
01 julio0
Publicaciones del Canal
Row merging logic optimizations Только что смержил ещё одно улучшение производительности в Apache Cassandra: CASSANDRA-21524 — немного оптимизировал CPU в логике слияния строк (row merging) во время чтения (войдёт в 6.0 и 7.0). Несколько точечных изменений дали прирост пропускной способности чтения на ~6–8% в бенчмарках (170K → 183K op/s). Основные идеи: - MergeIterator — универсальный класс, который переиспользуется для слияния партиций, строк и ячеек. Это удобно для разработки, но загрязняет JIT-профили megamorphic call site'ами. Решение: на этапе сборки генерируется копия класса под каждый сценарий использования. Код тот же, дублирования при сопровождении нет, а JIT может полностью оптимизировать каждый вариант. - Алгоритмическая оптимизация для расчёта minDeletionTime: если ни одна из входных строк не содержит удалений или истекающих ячеек, их нет и в результате — можно передать уже известное значение вместо повторного сканирования всего btree для его пересчёта. - Быстрый путь для типичного случая - слияния ячеек с одинаковыми типами колонок, массивы вместо List для сокращения аллокаций и разделение большого горячего метода на части, чтобы его горячая часть инлайнилась. Копирование класса - это по сути обходной путь для борьбы с загрязнением JIT-профилей. Надеюсь, что в будущем это может быть решено на уровне самой JVM: JDK-8015416 предлагает раздельные профили типов для инлайненных методов (https://bugs.openjdk.org/browse/JDK-8015416), а здесь - подробный разбор того, как JVM оптимизирует генерик-код: https://www.youtube.com/watch?v=J4O5h3xpIY8 Подробности: https://issues.apache.org/jira/browse/CASSANDRA-21524

2
Direct I/O support for background writes В Apache Cassandra (6.0/trunk ветках) было реализовано важное улучшение в подсистеме ввода-вывода в рамках https://issues.apache.org/jira/browse/CASSANDRA-21134 Автором изменений является Sam Lightfoot. Он добавил поддержку Direct I/O для фоновых операций записи, что позволяет предотвратить вытеснение данных из page cache во время compaction'а и других фоновых операций записи. Благодаря лучшей изоляции фонового ввода-вывода от рабочих нагрузок на чтение повышается эффективность использования page cache и обеспечивается более предсказуемая производительность операций чтения под высокой нагрузкой.
243
3
Рассказал про использование памяти в Cassandra на Apache Cassandra Contributor Meeting | June 10th, 2026 https://www.youtube.com/watch?v=8Sw_sx_dJEI
293