The OpenNET Project / Index page

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



"Выпуск СУБД ScyllaDB 3.0, совместимой с Apache Cassandra"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Выпуск СУБД ScyllaDB 3.0, совместимой с Apache Cassandra" +2 +/
Сообщение от erthink (ok), 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 это только подтверждает, если заглянуть в его код и/или попросить условного среднего жаба-сеньера что-нибудь там существенно подкрутить.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск СУБД ScyllaDB 3.0, совместимой с Apache Cassandra, opennews, 22-Янв-19, 12:48  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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