The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск СУБД ScyllaDB 3.0, совместимой с Apache Cassandra"
Отправлено erthink, 23-Янв-19 15:09 
> Т.е. все дело в тех вещах, которые жабисты традиционно считают ненужным пережитком прошлого - ведь есть "write once, run everywhere!" и на которые забивают?
> Или то-то с ножом у горла не давал использовать более эффективные решения?

И да и нет.

1. По некоторым направлениям развитие Cassandra остановилась.
Например, уплотнение формата на диске.
И многое другое, что может быть отнесено к "нижнему слою", что не все жабисты понимают и чем не хотят заниматься.
Соответствующие изменения очень сложно протащить в mainstream - часто нужно "немножко" поправить какой-нибудь десяток интерфейсов в иерархии классов, предварительно объяснив всем недопонимающим зачем это нужно...

2. Далее. Архитектурный тезис share nothing может быть реализован в java, но требует (как правило) некоторой борьбы с самой идеей java и кардинальной переделке кода.
Грубо говоря, меняется весь путь обработки данных/событий, плюс так или иначе нейтрализуется сборка мусора (пулы объектов с привязкой к нативным тредам и NUMA).
Это примерно ад для уже сделанной большой системы, коей является Cassandra.
Другими словами, чтобы получить здесь выигрыш нужно примерно "всё _переписать_"  по образцу упомянутого выше LMAX.

3. Последнее. Всяческие низкоуровневые оптимизации (например рациональное размещение полей в структурах, локальность данных для кэширования) примерно не совместимы со стилем/традициями java. Используя фабрики фабрик, инроспекцию, рефлексию, примеси и т.п. вы получаете удобства и мощь высокоуровневых фишек, но теряете контроль над тем что делает машина "на самом деле".
Такой контроль можно вернуть, но для этого нужно писать не в стиле java, а условно на "голых массивах" (как LMAX), ещё и понимать как надо для достижения производительности.

Вот и получаем, что Cassandra нужно примерно переписать в новый продукт, с новыми багами...
Поэтому никогда не догонит ScillaDB, но и не нужно этого делать - ибо тогда Cassandra превратиться в "неуловимого Джо" :)

IMHO, в целом засовывать java-пальцы в high-performance розетку неудобно и дорого, а часто и больно и бесполезно.
Причем LMAX это только подтверждает, если заглянуть в его код и/или попросить условного среднего жаба-сеньера что-нибудь там существенно подкрутить.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру