LINUX.ORG.RU

Встречайте ScyllaDB (переписанную на С++ Apache Cassandra)

 , ,


8

5

На Cassandra Summit, Avi Kivity и Dor Laor (создатели KVM и OSv) объявили о создании ScyllaDB — открытой реализации Apache Cassandra на C++

По утверждению авторов, пропускная способность на ноду у ScyllaDB в 10 раз выше чем у оригинального кода на Java, со временем отклика не превышающим 1мс на 99% запросов.

Они также получили 1 миллион транзакций в секунду на одной ноде.

>>> Подробности

★★★★

Проверено: maxcom ()

пропускная способность на ноду у ScyllaDB в 10 раз выше чем у оригинального кода на Java

10 раз только на чтение, только на запись порядка 4 раз.

Почему бы и нет, оптимизировали сетевой стек под конкретное железо от intel. За это сразу вырвались x4-x5 раз, вот пример c memcached http://www.seastar-project.org/img/memcache.png

Не дали тредам гулять по ядрам, плюс отсутствие сборщика. При желании можно эти биндинги для Java сделать и будет близкий перформанс. Например, для тредов есть такое https://github.com/peter-lawrey/Java-Thread-Affinity

Но вообще, непонятно, зачем пилить всякие БД на Java где огромные массивы данных и нужна хорошая скорость. В таких ситуациях: Железо дешевле разрабов, перестает быть аргументом.

foror ★★★ ()
Ответ на: комментарий от tailgunner

И где там оценка влияния юзерспейсного сетевого стека?

Там пример с оригинальным memcached и seastar memcached, которому поменяли кишки на это http://www.seastar-project.org/ (он же в кишках scylladb) и перформанс поднялся в 4 раза.

foror ★★★ ()
Ответ на: комментарий от foror

Еще раз, медленно: там нет оценки влияния юзерспейсного сетевого стека на производительность. Просто нет.

tailgunner ★★★★★ ()
Ответ на: комментарий от vertexua

Собственно нет, он ненавидит Java, это похожее, легко спутать, но разница есть

Вы, фанатики всех кто не фанатик врагами считаете, таково ваше мозговое строение.
По Ильичу действуете - Кто не с вам, тот против вас.
Все боитесь за место под солцем?

PS
Если бы я Жабу ненавидел, я бы с ней не работал последние 17 лет

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 2)
Ответ на: комментарий от tailgunner

Еще раз, медленно: там нет оценки влияния юзерспейсного сетевого стека на производительность. Просто нет.

Как нет? Там на графиках видно, что memcached запускали с DPDK и без, а если почитать ниже на сайте About Seastar, то DPDK:

High-performance networking: Seastar offers a choice of network stack, including conventional Linux networking for ease of development, DPDK for fast user-space networking on Linux, and native networking on OSv.

foror ★★★ ()

и аптайм какой?

час?

потом память закончиться буть ее хоть террабайт?

ох уж эти цппкодеры,очевидно что на цпп в 100 раз быстрее,но реализовать все алгоритмы безошибочно проекта такого уровня-непромышленнопригодно

sup9999 ()
Ответ на: комментарий от foror

Еще раз, медленно: там нет оценки влияния юзерспейсного сетевого стека на производительность. Просто нет.

Как нет?

Так нет.

Там на графиках видно, что memcached запускали с DPDK и без

http://www.seastar-project.org/img/memcache.png

Приведены данные stock memcached, stock memcached multiprocess и Seastar memcached с DPDK. Результатов Seastar memcached с Linux networking нет.

tailgunner ★★★★★ ()
Ответ на: комментарий от grim

Если бы я Жабу ненавидел, я бы с ней не работал последние 17 лет

Соболезную. Смысл аватара раскрыт.

anonymous ()
Ответ на: комментарий от anonymous

Соболезную. Смысл аватара раскрыт.

Поделитесь брэйнфаком вашего раскрытия.

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от grim

Нет простите бэйнфак это у вас последние страшно подумать 17 лет(((

anonymous ()
Ответ на: комментарий от grim

Надеюсь эта печаль происходит в калифорнии под сенью пальм и за это платят достойные деньги? Сколько примерно если не секрет?

anonymous ()
Ответ на: комментарий от grim

Ничегосе разорался, возгорело так сильно? Извини если че

vertexua ★★★☆☆ ()
Ответ на: комментарий от vertexua

Ничегосе разорался, возгорело так сильно?

Это вы встреваете в ткму, в которой вам ничего не интересно, чтобы поплевать в мою сторону а возгорело у меня?
LOL повеселили, спасибо ;)

Извини если че

Да ладно.
Я с вас фанатиков люблю лулзы получать.
Так что не извиняйтесь а лучше ещё один фанатский закидон изобразите на поржать.

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от tailgunner

С галерки требуют пруф.

Лёгкий декодер маркет дейты на SBCL так себя вёл, работая на 10 GbE SolarFlare в различных комбинациях с кернельным стеком или openonload, с тупой аллокацией объектов и free lists. Больше всего прироста было от tcp в юзерском процессе, а фри листы более кэш и tlb не так сильно мучали.

В остальном, клиники от SBCL (и JVM как такового) особо не добавлялось. Сишная версия особо быстрее не работала.

mv ★★★★★ ()
Ответ на: комментарий от migesok

elasticsearch сосёт с причмоком на частой записи

Ты наверное ещё один не осиливший index.refresh_interval? И bulk request тоже?

Вообще эластик и кассандра для совсем разных вещей сделаны, их сравнивать некорректно.

Для хранения, обработки, чтения и поиска более-менее структурированных данных.

И гарантии по консистентности у него на уровне плинтуса.

И проблемы с консистентностью тоже отсутствуют на 95% задач, если немного думать мозгом, когда пишешь код.

read-your-writes, linearizable reads and writes, eventual consistent counters - нет не слышали.

На практике, когда все эти баззворды присутствуют, то вместо СУБД получается тормозное поделие. Одно из ярчайших таких поделий как раз начали переписывать с нуля.

shahid ★★★★★ ()
Ответ на: комментарий от migesok

В итоге эластик машстабируется без пересоздания индексов максимум на начальное кол-во машин

Копирование всех данных в новый индекс — дело пяти минут. Переключение индекса через алиасы.

shahid ★★★★★ ()
Ответ на: комментарий от vertexua

А я фанатик чего?

Java, чего же ещё.
В каждой теме, где что-то о Java даже косвенно упоминается, вы нападаете на окружающих.

Zealot, так сказать. Воинствующий.

grim ★★★★ ()
Ответ на: комментарий от grim

А как я могу быть фанатиком Java если более года не пишу код ни для одного из языков JVM?

vertexua ★★★☆☆ ()
Ответ на: комментарий от vertexua

А как я могу быть фанатиком Java если более года не пишу код ни для одного из языков JVM?

Ха!
А как могут быть ватниками те, кто Росии были проездом, неруские по рождению и живущие, к примеру, в Канаде?

Хроническое состояние.

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от cherry-pick

Чем mongo не угодил?

Чем PostgreSQL не угодил? //FTFY.

anonymous ()
Ответ на: комментарий от grim

Лол, ненормальный какой-то. Могу попытаться обьяснить тебе что происходит, но ты скорее всего не поймешь.

1. Ты выскакиваешь с очередным тредом нахваливания какого-то кривого поделия MS или обсирания Java - по настроению

2. Тебе возражают

3. Ты орешь и называешь всех фанатиками

4. Goto пункт 1

Только что назвал меня фанатиком Java, хотя мог бы просто сходить сюда и полистать

www.linux.org.ru/people/vertexua/

vertexua ★★★☆☆ ()
Ответ на: комментарий от vertexua

Ты выскакиваешь с очередным тредом нахваливания какого-то кривого поделия MS или обсирания Java - по настроению

Вам везде мерещатся обсирания Java и нахваливания МС
Диагноз фанатика подтвержден

2. Тебе возражают

И где это мне кто-то возразил?
Приведите ссылку, пожалуйста.

Или вы, как всегда?

grim ★★★★ ()
Ответ на: комментарий от vertexua

Получается что если я Java фанатик, то ты на 65% Java-фанатик

Для меня Java один из инструментов.
Важный, я не спорю, но фанатеть повода не вижу и плеваться дерьмом по поводу недостатков тоже.

grim ★★★★ ()
Ответ на: комментарий от anonymous

Сказал убунто-дотнето-маско-<???>.

У вас от боли пальцы заплетаются?
Бедненький.....

grim ★★★★ ()
Ответ на: комментарий от grim
Ответ на: комментарий от vertexua

Кликнул наугад на камент, который вам, как жабофанатику кажется оскорбительным:

А что, есть Java-developer который работает на компе с меньше чем 16гб?


Треды то-же самое:

http://mreinhold.org/blog/secure-the-train
Project Jigsaw отложен до 2015
Т.е. остается одна значимая фича - лямбды.
Такими темпами от Java 8 выпустят уже после того как прекратят поддержку Java 7

LOL

Вас реально колбасит :)

Кстати, ведете как типичный фанатик.
Я сожалею о том, что Java8 задерживают, а мне очень фичи хочется поскорее увидеть, а вам уже плохо и вы уже болеете
LOL

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 2)
Ответ на: комментарий от grim

Давай список там где ты не ноешь что Java 100%е говно, а например видишь что-то хорошее

vertexua ★★★☆☆ ()
Ответ на: комментарий от vertexua

Давай список там где ты не ноешь что Java 100%е говно,

Ни в одном треде такого не писал.

Хотя вам фанатикам, такого не понять.

а например видишь что-то хорошее

Выше по треду.

Вы ведете себя как ЛОРовские ватники, один в один, только относительно Java

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 3)
Ответ на: комментарий от grim

Вот я тебе список ссылок предоставил, где ни у какого стороннего человека не возникнет ни на секунду сомнение в твоей однобокости. У стороннего человека конечно, похрен что ты там думаешь и кукарекаешь

vertexua ★★★☆☆ ()
Ответ на: комментарий от shahid

В Люсин тоже, в принципе, можно, не знаю, протащено ли это до уровня ES.

AlexM ★★★★★ ()

Все эти жавы и цепепе - унылые недоязычки как результат регресса :-)

anonymous ()
Ответ на: комментарий от grim

А как могут быть ватниками те, кто Росии были проездом, неруские по рождению и живущие, к примеру, в Канаде?

Слушайте вот использование слов аля «ватник», «хохол»,«быдло» и тд показывает что сами вы заслуживаете навешивания абсолютно таких же ярлыков.

PS: лично я мягко говоря не любитель пу если что.

anonymous ()
Ответ на: комментарий от vertexua

Вот я тебе список ссылок предоставил,

Я процитировал ваши ссылки.

Они говорят только о том, что вы непримиривый фанатик и всех нефанатиков считаете врагами, деже тех кто с Java больше вашего проработал.

кукарекаешь

Не судите всех по себе и думайте что и другие кукарекают :)

grim ★★★★ ()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от anonymous

Слушайте вот использование слов аля «ватник», «хохол»,«быдло» и тд показывает что сами вы заслуживаете навешивания абсолютно таких же ярлыков.

А что, ватник-обидное слово?

Ок, буду писать ксенофобы :)

grim ★★★★ ()

«переписанной» она станет тогда, когда станет drop-in заменой cassandra. a пока только «она нихрена не умеет но делает это очень быстро».

сколько таких «всех порвем» c/c++ проектов валяется по гитхабам одному богу известно.

anonymous ()
Ответ на: комментарий от anonymous

подавляющее большинство таких проектов не продвинулось дальше working prototype стадии именно «благодаря» c/c++. можно бесконечно ругать java за ее убогость, но реалии таковы, что именно на java реализованы многие вещи калибра cassandra.

<disclaimer> у меня до сих пор где-то лежит сертификат «java developer», выданный sun microsystems в 2000 году. но я счастлив, что не имел с java дела года так с 2002. </disclaimer>

anonymous ()

Два укроколбасника-правосекодрочера поцапались на почве жабы. Лол! Жабагадюку™. Ах-ха-ха!

anonymous ()
Ответ на: комментарий от shahid

Утечку занимаемого пространства со временем

Плохо настроили.

RAM — ноды 8гб RAM, падают с OOM в логах при запуске major compaction особенно при рестарте

Можно сценарии уточнить? Вот все было в эксплуатации (Яндекс), а такого не было.

Нет операции «не равно» (<>, !=) в CQL и вообще в кассандре — это бесит.

Тут надо понимать механизмы происходящего. Кассандра - не машинка для фуллсканов. Надо делать правильные схемы.

Черезж#пный бэкап и восстановление.

Дополнительные ноды.

Пожалуй, что-то лучше найти сегодня нельзя

Пожалуй, зависит от задачи.

lgbt ()
Ответ на: комментарий от anonymous

подавляющее большинство таких проектов не продвинулось дальше working prototype стадии именно «благодаря» c/c++. можно бесконечно ругать java за ее убогость, но реалии таковы, что именно на java реализованы многие вещи калибра cassandra.

+1, аналогичные чудики грозились переписать hbase на крестах (hypertable). На тот момент, когда смотрел, оно стабильно падало с сегфолтами, но зато на плюсах. А hbase уже был вполне матерым проектом.

Говорят, что они таки вышли из альфы за последние 3 года, даже стабильную версию выпустили. Но двинулись вперед с нормальной скоростью они только, когда baidu стали вливать бабло.

anonymous ()
Ответ на: комментарий от shahid

Согласен, для биллинга, банков и бирж кассандра подходит.

Нет, не подходит. Этим товарищам обычно крайне нужны ACID с полноценными транзакциями.

Ещё кстати в кассандре есть массовый update/delete одной строчкой на стороне сервера. В ES нужно запускать search scan (server-side курсор), и проходить по элементам на клиенте. Хотя такое довольно редко нужно.

В lucene (и соответственно, в solr и es) в принципе нет нормального update (кроме docValues в самом lucene, но в распределенном es и solr это некоторая проблема).

То, что выглядит как update — удаление + добавление документа. Удаление производится относительно дешево (пометка в livedocs, но место не освобождается до мержа сегментов), а добавление — оно и в африке добавление.

anonymous ()
Ответ на: комментарий от anonymous

Например, при использовании уровня согласованности записи кворума с коэффициентом репликации 3, Кассандра будет повторить запись ко всем узлам в кластере и ждать подтверждения от двух узлов. Если запись не будет работать на одном из узлов, но успешно с другой стороны, Кассандра сообщает об ошибке, чтобы копировать запись на этом узле. Тем не менее, воспроизведены записи, что преуспевает на другой узел автоматически не откатывается.

НЕ ОТКАТЫВАЕТСЯ КАРЛ!!!

А зачем? Если соблюдается W+R>N, то всё хорошо. Пусть N=RF=3, W=2, R=2 (quorum). Ну записали вы данные на 1 ноду из 3, при чтении 2 ноды со старым значением наберут кворум, одна нода с новым — останется лузером.

anonymous ()
Ответ на: комментарий от migesok

elasticsearch сосёт с причмоком на частой записи. И гарантии по консистентности у него на уровне плинтуса. read-your-writes, linearizable reads and writes, eventual consistent counters - нет не слышали. Вообще эластик и кассандра для совсем разных вещей сделаны, их сравнивать некорректно.

+1, при активной записи es начинает просирать данные пачками (активной — это 100-500M потоком на SSD).

Та же кассандра прекрасно справлялась с потоком 400-600 MiB/s на каждую из 6 нод при RF=1, это несколько миллиардов записей. Без потерь данных, ессно.

anonymous ()
Ответ на: комментарий от shahid

Копирование всех данных в новый индекс — дело пяти минут. Переключение индекса через алиасы.

Отсыпь, а? То что-то индексы даже в 100 GiB не очень хотят за такое время копироваться.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.