URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 104853
[ Назад ]

Исходное сообщение
"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."

Отправлено opennews , 23-Сен-15 14:25 
На проходящей в эти дни конференции Cassandra Summit 2015 представлена новая открытая СУБД ScyllaDB (http://www.scylladb.com/), в рамках которой предпринята попытка переписать СУБД Apache Cassandra (https://www.opennet.ru/opennews/art.shtml?num=42717) с Java на C++. ScyllaDB обеспечивает полную совместимость с NoSQL СУБД Cassandra, но позволяет добиться существенного увеличения производительности, демонстрируя скорость обработки запросов и отзывчивость на уровне СУБД Redis (https://www.opennet.ru/opennews/art.shtml?num=41958). Новую СУБД представили Ави Кивити (Avi Kiviti) и Дор Лаор (Dor Laor), в своё время создавшие такие известные открытые проекты как гипервизор KVM и операционную систему OSv (https://www.opennet.ru/opennews/art.shtml?num=37936) с воплощением идеи запуска приложений поверх гиперевизора. Код проекта распространяется (https://github.com/scylladb/scylla) под лицензией AGPL.

По заявлению разработчиков ScyllaDB обеспечивает (http://www.scylladb.com/technology/cassandra-vs-scylla-bench.../) десятикратное увеличение пропускной способности обработки запросов на каждом узле по сравнению с оригинальной Apache Cassandra, в 99% случаев успевая обработать запрос менее чем за миллисекунду. Например, на типовом узле ScyllaDB способен (http://www.scylladb.com/2015/09/22/watching_scylla_serve_1m/) обрабатывать около одного миллиона транзакций в секунду. Возможность обработать больше запросов на одном узле, позволяет существенно снизить затраты на кластер, в котором для достижения заданных характеристик потребуется на порядок меньше узлов, чем при создании кластера на основе классической СУБД Cassandra. ScyllaDB также упрощает создание запаса производительности, необходимой при обработке нетипичных пиков нагрузки.
<center><a href="http://www.scylladb.com/technology/cassandra-vs-scylla-bench... src="https://www.opennet.ru/opennews/pics_base/0_1443007184.png&q... style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>

Одним из факторов, позволившим добиться подобных показателей производительности, является использование разработанного теми же авторами C++ фреймворка Seastar (http://www.seastar-project.org/), нацеленного на создание сложных серверных приложений, обрабатывающих запросы в асинхронном режиме с учётом особенностей современного оборудования (распараллеливание на многоядерных системах, учёт попадания данных в процессорный кэш, оптимизация для накопителей SSD и полная утилизация пропускной способности 10/40-гигабитных сетевых карт).

<center><a href="http://www.scylladb.com/technology/cassandra-vs-scylla-laten... src="https://www.opennet.ru/opennews/pics_base/0_1443007225.png&q... style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>


ScyllaDB также обладает такими свойствами, как избавление от задержек при проведении упаковки и восстановления целостности БД, отсутствие сборщика мусора, возможность переконфигурации кластера (удаление/добавление узлов) без остановки работы, линейная масштабируемость при которой производительность находится в прямой зависимости от числа процессорных ядер, наличие средств для пакетной загрузки и выгрузки больших объёмов данных из хранилищ Hadoop и Spark.
ScyllaDB поддерживает  модель хранения данных на базе семейства столбцов (ColumnFamily, хэши с несколькими уровнями вложенности) и позволяет использовать SQL-подобный язык структурированных запросов CQL (Cassandra Query Language).

URL: http://developers.slashdot.org/story/15/09/22/2145258/cassan...
Новость: https://www.opennet.ru/opennews/art.shtml?num=43017


Содержание

Сообщения в этом обсуждении
"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 14:25 
Эпично

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 19:13 
> Эпично

А где же изен? С его рассказами про Java Не Тормозит!!!111


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Музыкант , 23-Сен-15 20:47 
Изен? Это по-хакасски "здравствуйте".

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено iZEN , 23-Сен-15 21:28 
> А где же изен? С его рассказами про Java Не Тормозит!!!111

Тормозят KAV и Яндекс-бар, а Java просто работает там, где необходимо.

Cassandra написана для использования Java 7 ( http://wiki.apache.org/cassandra/HowToBuild ) и не использует новых возможностей по работе с потоками из Java 8. (JVM, кстати, написана на C++. Может в этом причина тормозов, а?)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 23:01 
> Тормозят KAV и Яндекс-бар,

Ты о чем, изя? О том что у тебя тырят файлы и "кашпировский", и яндекс, и майкрософт, и на всех вместе ресурсов уже не хватает? :)

> а Java просто работает там, где необходимо.

Попроси кашпировского переписать его безобразие на яве. Узнаешь как сделать винду однозадачной :)

> Cassandra написана для использования Java 7

Изя, помаши яве ручкой :P.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено iZEN , 24-Сен-15 11:47 
Поколение Z. Ты снова не подходишь. Ищи другую работу.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 23:32 
> Поколение Z. Ты снова не подходишь. Ищи другую работу.

Да, изя, ВАМ я точно не подхожу. Работать с такими как ты и под виндой - это надо себя очень сильно не уважать.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:29 
> Ты о чем, изя?

изя тормозит.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено irinat , 24-Сен-15 16:09 
> JVM, кстати, написана на C++. Может в этом причина тормозов, а?

Точно! Надо переписать JVM на Java!


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено iZEN , 24-Сен-15 17:15 
>> JVM, кстати, написана на C++. Может в этом причина тормозов, а?
> Точно! Надо переписать JVM на Java!

Внезапно это уже сделали. Но, к сожалению, не успели внедрить - JVM.go оказалась перспективнее. ;)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 23:33 
> Внезапно это уже сделали. Но, к сожалению, не успели внедрить - JVM.go
> оказалась перспективнее. ;)

Тогда go.go будет еще интереснее. А уж go.go.go... :)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено iZEN , 24-Сен-15 23:34 
>> Внезапно это уже сделали. Но, к сожалению, не успели внедрить - JVM.go
>> оказалась перспективнее. ;)
> Тогда go.go будет еще интереснее. А уж go.go.go... :)

Отписался от этого бреда.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 25-Сен-15 22:05 
Так вроде была новость, что Go вроде уе на Go написан или я что-то путаю?
Меня только один вопрос интересует, а именно можно ли этот их GC выключить и самому когда надо удалять обьекты.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Illya , 02-Окт-15 18:45 
можешь выключить, но что бы удалить объекты надо будет вручную вызывать весь GC

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Illya , 02-Окт-15 18:50 
> можешь выключить, но что бы удалить объекты надо будет вручную вызывать весь
> GC

Хотя можешь переменные на стеке хранить. этот подход моден в Go


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено imprtat , 24-Сен-15 11:03 
Обычно проблема не в языке, а в том как его использовать.

>> Программа среднестатистического студента на C++ работает медленнее чем тоже самое, написаное им же, на Java (c)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 26-Сен-15 12:41 
Часто слышу такое высказывание. Пруф будет?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:31 
> Часто слышу такое высказывание. Пруф будет?

просто такие студенты не умеют ещё и в бенчмарки. сначала запускают цпп‐вариант на жирном файле, а сразу за ним жабу. прогретые файловые кэши? не, этому не учили.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено imprtat , 02-Ноя-15 01:42 
> Часто слышу такое высказывание. Пруф будет?

Пруф на что? На то как плохо можно написать программу на любом языке?


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено th3m3 , 23-Сен-15 14:30 
Зачем надо было вообще писать базу данных на тормозной Java?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 14:35 
Чтобы потом переписать на быстром С++

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 15:45 
а потом на ещё быстром C? ))

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 15:53 
А почему думаете, что C перестанет быть быстрым?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 15:58 

я как раз и написал что после C++ возможно следующим щагом будет переписать на C (который быстрее), а потом уже конечно на асемблере! ;)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Анонимоус , 23-Сен-15 16:55 
Вас и спрашивают, почему вы думаете что на С или ассемблере будет работать ощутимо быстрее, чем на С++?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено pavlinux , 23-Сен-15 21:07 
Потому, что лишнего не делает, когда не просят.
---

#include <iostream>
using namespace std;

int main()
{
    cout << "Hello, world!" << endl;
    return 0;
}


$ strace ./cpp.out 2>&1 | tee | wc -l
63


int main()
{
    write(1, "Hello, world!\n",14);
    return 0;
}

$ strace ./c.out 2>&1 | tee | wc -l
50

Мало? Ну лови дальше.

$ gcc test.c -s
$ cat test.s


        .file   "test.c"
        .section        .rodata
.LC0:
        .string "Hello, world!\n"
        .text
        .globl  main
        .type   main, @function
main:
.LFB0:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        movl    $14, %edx
        movl    $.LC0, %esi
        movl    $1, %edi
        movl    $0, %eax
        call    write
        movl    $0, %eax
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE0:
        .size   main, .-main
        .ident  "GCC: (Debian 4.9.2-10) 4.9.2"
        .section        .note.GNU-stack,"",@progbits

А теперь куча говна на С++

$ g++ test.cpp -S
$ cat test.s


        .file   "test.cpp"
        .local  _ZStL8__ioinit
        .comm   _ZStL8__ioinit,1,1
        .section        .rodata
.LC0:
        .string "Hello, world!"
        .text
        .globl  main
        .type   main, @function
main:
.LFB1020:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        movl    $.LC0, %esi
        movl    $_ZSt4cout, %edi
        call    _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
        movl    $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, %esi
        movq    %rax, %rdi
        call    _ZNSolsEPFRSoS_E
        movl    $0, %eax
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE1020:
        .size   main, .-main
        .type   _Z41__static_initialization_and_destruction_0ii, @function
_Z41__static_initialization_and_destruction_0ii:
.LFB1029:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        subq    $16, %rsp
        movl    %edi, -4(%rbp)
        movl    %esi, -8(%rbp)
        cmpl    $1, -4(%rbp)
        jne     .L3
        cmpl    $65535, -8(%rbp)
        jne     .L3
        movl    $_ZStL8__ioinit, %edi
        call    _ZNSt8ios_base4InitC1Ev
        movl    $__dso_handle, %edx
        movl    $_ZStL8__ioinit, %esi
        movl    $_ZNSt8ios_base4InitD1Ev, %edi
        call    __cxa_atexit
.L3:
        leave
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE1029:
        .size   _Z41__static_initialization_and_destruction_0ii, .-_Z41__static_initialization_and_destruction_0ii
        .type   _GLOBAL__sub_I_main, @function
_GLOBAL__sub_I_main:
.LFB1030:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        movl    $65535, %esi
        movl    $1, %edi
        call    _Z41__static_initialization_and_destruction_0ii
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE1030:
        .size   _GLOBAL__sub_I_main, .-_GLOBAL__sub_I_main
        .section        .init_array,"aw"
        .align 8
        .quad   _GLOBAL__sub_I_main
        .hidden __dso_handle
        .ident  "GCC: (Debian 4.9.2-10) 4.9.2"
        .section        .note.GNU-stack,"",@progbits


Фкурил?


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Классический анонимус , 24-Сен-15 05:05 
Какая глупость мерять oneliner-ом. А на проекте из 500килострочек си может оказаться быстрее (а джава ещё быстрее).

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено pavlinux , 26-Сен-15 23:25 
> Какая глупость мерять oneliner-ом. А на проекте из 500килострочек си может оказаться
> быстрее (а джава ещё быстрее).

Жаба по определению не может быть быстрее.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено guest , 24-Сен-15 12:19 
> Потому, что лишнего не делает, когда не просят.

в с++ для корректной работы main() необходимо сделать предварительные танцы с бубном, вроде настройки переменных std::cout. так что это необходимое зло. вы бы еще включили полный rtti что бы браузер не вынес ноши :))))))

з.ы. есть такая удобная штука http::/pastebin.org


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено pavlinux , 26-Сен-15 23:16 
> вы бы еще

А если я С начну оптимизировать?


void main() { char A[] =
"\xeb\x2a\x5e\x89\x76\x08\xc6\x46\x07\x00\x0b\x00"
"\xc7\x46\x0c\x00\x00\x00\x00\xb8\x0b\x00\x0b\x00"
"\x00\x00\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80";
int *ret;ret = (int *)&ret+2; (*ret) = (int)A;}


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Anonim , 23-Сен-15 17:39 
Не быстрее

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено guest , 24-Сен-15 12:14 
> а потом уже конечно на асемблере! ;)

конечно на ассемблере!!! как neon на армах и прочие simd + публикация исходников микрокода на vhdl всех железных оптимизаций!!!:)

похожий пример. я разрабатываю протокол, после отладки прототипа python + protobuf + kivy и запуска минимального функционала - будет нативный клиент на с++.
Высокоуровневые средства разработки и отладки, в частности пайтон с киви идеально подходят для прототипирования. nb protobuf - позволяет сохранять совместимость между языками программирования на сетевом уровне.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:34 
вместо чтобы сразу взять нормальный язык — D, например, — и не писать мусорных прототипов. впрочем, чего хорошего можно ожидать от гвидобейсиковцев…

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено _KUL , 23-Сен-15 14:42 
Если учесть что понять яву ни сколько не проще, чем понять пюсы, вообще странно ...

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено vitalif , 23-Сен-15 14:55 
ну это скорее вопрос упоротости разрабов, а не языка ))

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 23-Сен-15 16:11 
Проще её понять. Она громоздкая как чёрт знает что для практических применений (потому что по факту она нужна только вместе со знанием J2EE), но сам язык прост. Плюсы - сами сложны, но это избавляет от громоздких фреймворков вокруг - если хотеть, конечно.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Вареник , 24-Сен-15 06:53 
> Проще её понять. Она громоздкая как чёрт знает что для практических применений
> (потому что по факту она нужна только вместе со знанием J2EE),
> но сам язык прост. Плюсы - сами сложны, но это избавляет
> от громоздких фреймворков вокруг - если хотеть, конечно.

Если Java-библиотеки (т.н. Jar-hell) переписать на С++, что-то в них станет проще?

Будет еще больший hell из-за разных соглашений, стилей и использования подмножеств языка.
У одних будет все через смартпоинтеры STD, у других через смартпоинтеры Boost, у третьих черех Qt, а у четвертых все через &. В документации каждой либы будет дисклеймер, что нужно глобально использовать аллокатор именно этой либы, иначе все рухнет.

И интегрируй потом это все в один конечный продукт за разумное время...


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 24-Сен-15 09:49 
Я что-то писал про "проще"? Менее громоздко - станет. За счёт возможности выкинуть половину объектных иерархий в пользу статического полиморфизма и иcпользования duck typing. Не D, конечно, в котором код, парсящий JSON  в статические структуры, занимает пару экранов, но тоже весьма неплохо. А компактный код лучше помещется в голову иЮ соответствено, алгоритмически оптимизируется.

А что до соглашений - берите целый стек и будет счастье. std - занчит, std (что самое правильное, кстати). boost отлично подружится и смарт поинтеры будет использовать std, кстати, если версия плюсов свежая (а она везде сейчас свежая есть). Зависли на Qt - сидите на его стеке либ, делов-то. нужен вам ручной мемори менеджмент - вперёд. И да, если либы пишутся не идиотами (а другие зачем брать?) то авторы о совместимости подумали. насчёт аллокаторов - это в сях любят свои аллокаторы, в плюсах как раз такого нет, если у вас не закрытые либы, компилированные чёрт знает чем, конечно.

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


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Классический анонимус , 24-Сен-15 09:23 
Да уж, без библиотек и фреймворков на сипипи всё так легко и быстро пишется. 8))))

Погуглим банальнейшее "convert wstring to string" и мозг лопается - кучи нюансов и несовместимостей на уровне "в C++11 одно, в более новом режиме другое, под виндой третье, в linux четвертое". А начнём стек писать самописный, а потом отлаживать - так вообще и протрезветь можно!

Это, кстати, ответ на вопрос: за что жабисты не любят си. А вот за что сишники не любят жабу - мистика. Наверное банальная зависть?


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено ДяДя , 24-Сен-15 09:45 
Конечно зависть.
Один человек на Java EE делают за четыре дня программу лояльности аналогичную "Связной Клуб". Польза для бизнеса огромная. Иные не на Java втроём за полгода делают на 50% меньше функционал. А ЗП хотят такую же. А бизнесу где деньги брать, если ещё не работает то, что должно их приносить ???

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 09:50 
>А вот за что сишники не любят жабу - мистика

Да просто выжгли себе мозг пытаясь понять всю тупость спецификации C++


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 24-Сен-15 10:00 
1) человек в вопросе пытается сделать фигню, так как, похоже, воощбще не понимает. что он делает. Здесь это ему детально объяснили: http://stackoverflow.com/a/4805122
2) Если есть решение для C+11 - им и надо пользоваться. Плюсы до 11 давно можно забыть, а  то, что есть в них - просто и абсолютно осмысленно - преобразование с указанием, в какой кодировке string.

А не любят, потому что на все гвозди - один микроскоп. Со стратегий работы с памятью начиная и заканчивая убогим map.Get.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Классический анонимус , 24-Сен-15 11:14 
Мы прямо щас пишем прожку в VS10, никакого C+11 там нет.

Именно в теме на SO во всех подветках куча воплей:
-это не работает в linux
-некоторые символы стрипаются
-в ICU это надо делать по другому
итд


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 24-Сен-15 13:46 
Ваши проблемы, если вы сидите на каой-то хрени, которая отродясь стандарты не могла толком поддерживать. И напоминаю, на каком сайте вы находитесь. При чём здесь проприетарщина  от MS?

Да, в плюсах до 11 не было вменяемой поддержки кодировок. Теперь она есть.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено безымянный доброжелатель , 24-Сен-15 15:05 
> Мы прямо щас пишем прожку в VS10, никакого C+11 там нет.

Оно даже в С99 не может, куда им до новых плюсов-то.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 16:02 
пишете на RUST

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:37 
> Мы прямо щас пишем прожку в VS10

а на программируемых калькуляторах не пробовали? там ещё больше можно задолбаться — ведь это же и есть цель.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Xenia Joness , 23-Сен-15 16:08 
Я всегда думала, что так же быстра как и C++.
Но при переписывании на C++, как правило, появляется огромное число уязвимостей, т.к. Java гораздо безопаснее C++ (поэтоу софт для банковских сфер и пр. ответвенных направлений пишется на Java). Вообщем жду новости такого типа: "злоумышленники взломали ScyllaDB и получили доступ к 100500 банковским картам, банк срочно откатывается назад на Cassandra"

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 23-Сен-15 16:13 
Если взять "средних" разработчиков на плюсах и яве - так и было бы. Но эту штуку писали отнюдь не "средние", а высококвалифицырованные спецы. У которых нет проблем с архитектурой и пониманием, как что происходит - поэтому не будет там никакого огромного числа уязвимостей.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 23:05 
зуб даешь?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 23-Сен-15 23:44 
Что спецы высококвалифицированные? Разумеется. По тому, что вообще подобное осилили, видно. Что штука годится в продакшн? Нет, конечно. Подождём пару лет, поглядим - если хорошо себя покажет - можно будет пользоваться. Такие вещи длдя мелочей не применяются, так что спешить не надо.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:39 
> зуб даешь?

ты, когда всё‐таки найдёшь правильный сайт стоматологии, ещё и к окулисту запишись — оно пригодится.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено dr Equivalent , 23-Сен-15 16:34 
> Java
> безопасность

http://bit.ly/1G2oo6U


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 16:39 
Возможное появление уязвимостей при переписывании на C++ с лихвой компенсируется уязвимостями в JVM. Разница лишь в том, что для С++ нужно проверять только качество кода программы, а для JVM и программы, и JVM.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Анонимоус , 23-Сен-15 16:58 
> Возможное появление уязвимостей при переписывании на C++ с лихвой компенсируется уязвимостями
> в JVM. Разница лишь в том, что для С++ нужно проверять
> только качество кода программы, а для JVM и программы, и JVM.

А приведите примеры опасного кода на Java
Я большого опыта программирования на нем нет, но хотел бы иметь представление, чтобы пердеть в джавистов заряженными эм... орешками)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено жаба , 23-Сен-15 19:05 
public class MainClass {

  public static void main(String[] args) {
    int inChar;
    System.out.println("Enter a Character:");
    inChar = System.in.read();
    System.out.print("You entered ");
    System.out.println(inChar);
}


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Xenia Joness , 24-Сен-15 09:42 
>А приведите примеры опасного кода на Java
>> public class MainClass {
>>   public static void main(String[] args) {
>>     int inChar;
>>     System.out.println("Enter a Character:");
>>     inChar = System.in.read();
>>     System.out.print("You entered ");
>>     System.out.println(inChar);
>> }

да здравствует говнокод. Если ты даже в такой простой программке умудрился допустить столь грубую ошибку, наверное тебе пора в школу собираться. Хотя бы так написал бы так

import java.io.IOException;
public class MainClass {

   public static void main(String[] args) throws IOException {
   int inChar;
   System.out.println("Enter a Character:");
   inChar = System.in.read();
   System.out.print("You entered ");
   System.out.println(inChar);
}

Но и этот говнокод безопаснее кода на C/C++.

>> Я большого опыта программирования на нем нет, но хотел бы иметь представление,
>> чтобы пердеть в джавистов заряженными эм... орешками)

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


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 19:16 
> Я всегда думала, что так же быстра как и C++.

Вот это - совершенно не факт. У явы рантайм делает много чего лишнего. И на чисто алгоритмическом коде, например сжатии - ява продует сям разика так в три. И вообще, рантайм явы может подложить немало подлян, странно реализуя самые базовые операции. Так что в иных случаях и в 10 раз быстрее - не предел.

> Но при переписывании на C++, как правило, появляется огромное число уязвимостей,

А то что в жабистом рантайме их затыкают по 30 штук в каждой версии - вас не смущает?

> взломали ScyllaDB и получили доступ к 100500 банковским картам, банк срочно
> откатывается назад на Cassandra"

Ну вот когда и если - тогда и приходите. А учитывая квалификацию жабистов - скорее взломают кассандру. Ну а что, вон кучу всего на питонах, пыхе, рубях и прочая - ломают. И вебня давно обставила си в вопросах дырявости.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Классический анонимус , 24-Сен-15 05:10 
> Вот это - совершенно не факт. У явы рантайм делает много чего
> лишнего. И на чисто алгоритмическом коде, например сжатии - ява продует
> сям разика так в три. И вообще, рантайм явы может подложить
> немало подлян, странно реализуя самые базовые операции. Так что в иных
> случаях и в 10 раз быстрее - не предел.

На задаче - обрабатывать файл с недействительными паспортами РФ (качается с сайта ФМС), это 93 миллиона коротких стрингов (номер+серия), джабка оказалась быстрее си. Ну, рамы ела 4ГБ против 1, но это ерунда.

Полностью смысл задачи - взять сегодняшний файл и вчерашний, выделить дельту и засунуть в базу - последний шаг уже не бенчмаркался. Хотя jdbc-драйвер для Оракла на джаве тоже прямее, чем сишная поделка :)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 24-Сен-15 10:05 
Запросто, как раз тот случай, когда в сях у тривиальной реализации с аллокациями тормоза, а в жабе они шустрые, а gc на такой адачке вообще ни разу не запустится, скорее всего. Решаемо при чуть вдумчивом подходе, рзумеется, чуть позже накидаю для примера.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:42 
> Запросто, как раз тот случай, когда в сях у тривиальной реализации с
> аллокациями тормоза

ну дык тело, похоже, даже в более‐менее нормальную реализацию хэш‐таблиц не смогло. максимум смогло скачать, и то профэйлило в использовании.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 24-Сен-15 10:30 
Тьфу, что-то я туплю. Какие джавы? Какие самописные программы? sort (если оригинал не сортирован) + diff решат все ваши проблемы. Сортированный файл хранить до завтра, разумеется, и второй раз не сортировать.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Классический анонимус , 24-Сен-15 12:03 
> Тьфу, что-то я туплю. Какие джавы? Какие самописные программы? sort (если оригинал
> не сортирован) + diff решат все ваши проблемы. Сортированный файл хранить
> до завтра, разумеется, и второй раз не сортировать.

"вчера" хранится в СУБД. Если хранить его ещё и в файле, то возможна неконсистентность.

Просто загрузка в СУБД (Oracle) нового файла - тормоза на полчаса.

Штатный линуксовый diff между 2 файлами по 100млн строк - тормоза на "больше часа".

Проги на джаве и си "выгрузить из СУБД, найти дельту, загрузить в СУБД" примерно одинаково на уровне 4-5 минут. На джаве шаг "найти дельту" около 40 секунд отрабатывает с fastutil.
Программу накидал за полчаса на стандартных и протестированных компонентах. Сишник 2 дня чё-то писал, переписывал, оптимизировал, в итоге скорость чуть ниже и ДРУГИЕ цифры. Т.е. у него ещё и баги надо было искать ;) При том, что сишник как прогер намного сильнее меня.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Классический анонимус , 24-Сен-15 12:04 
> Штатный линуксовый diff между 2 файлами по 100млн строк - тормоза на
> "больше часа".

Кстати, "Штатный линуксовый diff" написанный на си (даже не с++ наверное), кушает 8-9ГБ ОЗУ при сравнении двух файлов с 100млн строк :) Джава 3.5-4.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 24-Сен-15 14:24 
Хм, уже интересно стало, сейчас докачается - пропробую наваять наскидку - тоже в рамках получаса. Завтра ещё обновлённую базу скачаю, чтобы реальные данные были. Но насчёт памяти - точно странно, там же потоковая обработка, как можно приней сожрать больше, чем суммарный объём двух файлов - не понимаю. Впрочем, раз оно в базе - можно голову не морочить.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 11-Ноя-15 12:47 
А в чём проблемы с загрузкой 100 млн. строк в оракл? 1 Гб. данных на час что-то странное.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 11-Ноя-15 12:48 
> А в чём проблемы с загрузкой 100 млн. строк в оракл? 1
> Гб. данных на час что-то странное.

Хотя если на каждую строку один запрос то возможно :)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено fi , 25-Сен-15 01:21 
Убейте архитектора системы - можно об стенку. такие вещи НЕ пишут на java/c и прочей лабуде- это задача (обратный поиск к пересечению) делает сама субд на раз! Подключаешь файл как таблицу и один селект вытягивает новые данные из нее, затем insert.  Даже мускль сделает вашу java как младенца.

зы. И этот ананист учит нас жизни???
  


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Классический анонимус , 25-Сен-15 05:13 
> Убейте архитектора системы - можно об стенку. такие вещи НЕ пишут на
> java/c и прочей лабуде- это задача (обратный поиск к пересечению) делает
> сама субд на раз!

Oracle за полчаса. Читать учись. Или мускуль такой крутой стал что делаем меньше. Чем за 40 сек то, что Оракля за полчаса?


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:41 
> На задаче - обрабатывать файл с недействительными паспортами РФ (качается с сайта
> ФМС), это 93 миллиона коротких стрингов (номер+серия), джабка оказалась быстрее си.
> Ну, рамы ела 4ГБ против 1, но это ерунда.

рукожопие — это врождённое, потому что.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Вареник , 24-Сен-15 06:58 
> Я всегда думала, что так же быстра как и C++.
> Но при переписывании на C++, как правило, появляется огромное число уязвимостей, т.к.
> Java гораздо безопаснее C++ (поэтоу софт для банковских сфер и пр.
> ответвенных направлений пишется на Java). Вообщем жду новости такого типа: "злоумышленники
> взломали ScyllaDB и получили доступ к 100500 банковским картам, банк срочно
> откатывается назад на Cassandra"

Банки любят Oracle и всякие WebSphere с поядерными лицензиями. Возможно откаты, возможно на душе спокойнее: размывание отвественности, типа мы же заплатили за продукт и за ТАКИЕ ДЕНЬГИ нам должны были поставить суперустойчивое ПО, а мы руками трогать не можем и если что - "это не мы". Или только частично мы, а не полностью.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено th3m3 , 24-Сен-15 11:21 
Вот же жесть. Забаньте уже эту блондинку тролля. Молю.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Очередной аноним , 24-Сен-15 08:52 
Вы наверное прочитали только первые два абзаца. Там ниже, под картинками, архитектура описывается. Наверное ЛЬВИНАЯ доля выигрыша именно в ней, а не в C++: убрали разделение данных (и, соответственно, диспетчеризацию доступа) между разными обработчиками, каждый из которых прикреплен к своему ядру процессора, а если взаимодействие/синхронизация какая-то нужна - то только через отправку сообщений, а не через механизмы блокировок/синхронизации операционной системы. А как тебе такой прием - свой оптимизированный TCP/IP стек, напрямую работающий с сетевой картой и стек этот находится в обработчике запросов, работа происходит в юзерспейсе, т.е. переключений контекста выполнения - минимум. Выигрыш тут больше из-за архитектуры, чем из-за C++. Заслуга C++ наверное тут только в том, что он позволяет делать ручные низкоуровневые оптимизации и легче организовывать прямой доступ к железу. Ну и конечно у него нет приостановок выполнения из-за сборки мусора, это бесспорно. Зато теперь появится возможность появления толпы ошибок, которые в яве невозможны. Даже несмотря на авторитет и профессионализм разработчиков (все совершают ошибки).

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено ДяДя , 24-Сен-15 10:15 
Современная беда - это разные уровни развития ЦП и ОЗУ.
>Заслуга C++ наверное тут только в том, что он позволяет делать ручные низкоуровневые оптимизации и легче организовывать прямой доступ к железу.

Теперь на Java это проще. Даже блог есть: http://java-is-the-new-c.blogspot.de/
Например, одно слово final и JIT сохраняет переменную в регистрах. Как на C++ это сделать ? Вы должны дружить с процессором. Только тогда будет производительность. От языка это не зависит ВООБЩЕ.
У современных процессоров беда с кэшем - false sharing. Ребята, которые делали Disruptor, сделали небольшой костыль для выравнивания адреса переменной на 64 байта. Производительность возросла в разы, но это просто дружба с ЦП, а не заслуга языка/платформы. В Java 8 этот приём вошёл.
У современных процессоров есть ещё куча иных квантовых эффектов, кроме кэша. Их можно использовать. http://www.youtube.com/watch?v=RGFJjQKChNQ

http://mechanical-sympathy.blogspot.ru/
http://psy-lob-saw.blogspot.ru/


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено freehck , 23-Сен-15 14:34 
Для Cassandra это, пожалуй, приговор.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 23-Сен-15 14:39 
Через пару-тройку лет, если эта штука покажет свою надёжность - может и да. Сегмент такой, что никто резкие движения совершать не будет, тем более, что это БД, а не хрен собачий.

Ну и не оставляет чувство, что какой-то подвох всё же есть. В прирост раза в полтора-два я бы поверил, но пять-десять... Хотя было бы приятно, конечно.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 15:06 
Возможно прирост производительности по большей части за счет Seastar, чем за счет смены языка.
Возможно у Java просело из-за переключений контекста пользовательский процесс - ядро.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 15:09 
Если графики на Seastar про memcached посмотреть, то там тоже прирост колоссальный.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено max , 23-Сен-15 17:15 
http://www.scylladb.com/technology/status/ говорит, что еще есть спектр задач, которые не выполнены - потом производительность может чуть осядет.

> Scylla currently lack support for TABLE UPDATE, DROP, TRUNCATE and pagination

вот с pagination вообще не понял - если оно не работает, смысла от этой бд не много


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 19:18 
> Возможно у Java просело из-за переключений контекста пользовательский процесс - ядро.

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


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено тоже Аноним , 23-Сен-15 19:30 
Вроде бы как в новости описан и подвох. Там, где про карты интела.
Избавление от лишних абстракций на уровне, близком к железу, легко разгоняет программы, интенсивно его использующие. Но может приготовить вам сюрприз на другом железе.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 23:07 
> Избавление от лишних абстракций на уровне, близком к железу, легко разгоняет программы,

...только если бы там была Ява - это были бы мертвому припарки.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 23-Сен-15 23:46 
Ага, вижу - это позже добавили, кажется. Но это небольшой подвох - там, где нужна Cassandra/Hadoop, подобрать железо/ОС под задачу - не проблема.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено тоже Аноним , 24-Сен-15 11:05 
> подобрать железо/ОС под задачу - не проблема.

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


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 24-Сен-15 14:56 
Это не один год, елси будет хоть какой-то интерес - будут поддерживать. Да и совместимо снизу вверх будет почти наверняка. В общем, риск не особо большой, я бы сказал

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Aleks Revo , 26-Сен-15 11:25 
Более того: там где нужны Cassandra/Hadoop, добавить поддержку нужной железки - тоже не запредельная задача, поэтому поддержкой хорошего железа это хозяйство обрастёт достаточно быстро.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Вареник , 24-Сен-15 07:03 
> Через пару-тройку лет, если эта штука покажет свою надёжность - может и
> да. Сегмент такой, что никто резкие движения совершать не будет, тем
> более, что это БД, а не хрен собачий.
> Ну и не оставляет чувство, что какой-то подвох всё же есть. В
> прирост раза в полтора-два я бы поверил, но пять-десять... Хотя было
> бы приятно, конечно.

Вряд ли разрыв сохранится на годы. Затюнят Java под конкретный case и разрыв станет типичные 30%.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 14:40 
Installing Scylla on Ubuntu or Debian-based systems
Coming Soon

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 23-Сен-15 14:43 
Ну логично - редхаты и производные им всяко важнее, а вылавливать приколы платформ лучше, когда хоть где-то есть уверенность, что всё работает как надо.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 14:42 
Ключ/значения уже мало, а хэши нормальные только в  Cassandra. Давно хотел её попробовать, но Java пугала. ScyllaDB - просто мечта.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Штунц , 23-Сен-15 14:43 
крутые программисты эти Ави Кивити и Дор Лаор (кстати, имена как из научной фантастики, к примеру, жителей Марса)

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Челодой моловек , 23-Сен-15 15:08 
Ага, как в книгах про Джона Картера ))

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 15:11 
Из Ефремова, например.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено kravich , 24-Сен-15 15:15 
Кстати да

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 16:03 
Видимо теперь чтобы писать на сях - надо родиться на марсе. Угрюмое будущее.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено vasa , 26-Сен-15 21:36 
что за чушь? обычные для Израильтян имена

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:48 
> что за чушь? обычные для Израильтян имена

внезапно, «туманность андромеды» заиграла совсем новыми и неожиданными красками…


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено ram_scan , 23-Сен-15 15:08 
Если найдется фрик который фо фан перепишет на pure c то ждем еще двухкратного выигрыша в перфомансе.

Хотя и так неплохо получилось.....


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Sb , 23-Сен-15 15:15 
На правах тролля: зачем нам эти жалкие полумеры, asm!

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Aleks Revo , 26-Сен-15 11:29 
> На правах тролля: зачем нам эти жалкие полумеры, asm!

На правах гипертролля: зачем нам эти жалкие полумеры? Только машинный код, только покатушечная прошивка!


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 23-Сен-15 15:26 
Очень не факт. Низкий уровень там и так, похоже, выжали как могли (и плюсы в этом ни разу не помеха), а более высокий уровень на плюсах куда больше шансов эффективно сделать. Правда, плюсы уметь надо - но эти, похоже, умеют.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 15:53 
Раз не факт, то что на C быстрее Плюсов, то может поправишь плюсовый код для бэнчмарков, где половина тестов показывает 2-ух кратное превосходство C над С++

http://benchmarksgame.alioth.debian.org/u32q/c.php

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 16:06 
k-nucleotide?
Нет тут помощник нужен :)

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 16:10 
Раз С быстрее плюсов (и вообще, всего остального), может поправишь сишный код так, чтобы он не сливал в девять раз плюсовому?
http://benchmarksgame.alioth.debian.org/u64q/performance.php...

Или расту http://benchmarksgame.alioth.debian.org/u64q/performance.php...
Или в полтора раза той же скале (не говоря о плюсах) http://benchmarksgame.alioth.debian.org/u64q/performance.php...
Ну или хоть не продувать тому же хацкелю в 30(!) раз?
http://benchmarksgame.alioth.debian.org/u64q/performance.php...



"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 16:11 
а может лучше подучите плюсы и перестаните злоупотреблять ооп и шаблонами?
школота обычно не очень отличают, например, шаблоны, которые являются скорее препроцессором, чем компилятором, от просто функций/методов, которые суть код.
отсюда большинство проблем с производительностью.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 23-Сен-15 16:21 
Хм, а вот обратный пример: http://benchmarksgame.alioth.debian.org/u32/performance.php?...

Но вообще - чем мельче задача, тем больше плюшек от низкого уровня. Чем сложнее - тем более важна хорошая архитектура, которую на чистых сях задолбаешься делать.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 15:19 
Сравнения производительности с MongoDB еще нигде не засветились?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Анончик , 23-Сен-15 15:35 
А чего там смотреть?
Тут вон приведён график с _миллионом_ транзакций в секунду на запись.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 20:21 
Причём запись у них быстрее чтения

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 00:35 
У кассандры запись всегда была быстрее чтения

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 22:54 
На сферическом сервере в вакууме?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Вареник , 24-Сен-15 07:33 
> На сферическом сервере в вакууме?

На продакшн MongoDB тем более лучше не ставить.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Hmm , 23-Сен-15 15:56 
https://github.com/scylladb/scylla/wiki/Scylla-and-Cassandra...

Если писать из /dev/zero да сохранять в /dev/null, да еще и __только__ под fedora/redhat и только для intel... Верю! (с) !Станиславский.....


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено ДяДя , 23-Сен-15 18:15 
>учёт попадания данных в процессорный кэш

Супер! Отлично продемонстрирован нехороший эффект от false sharing.
Возьмите в Java обычный AtomicLong и выровненный по линии кэша LongAdder.
Результат будет аналогичный. И не нужно C++ использовать :-D !!!


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 19:24 
Ну да, только там еще в рантайме потом какая-нибудь пакость с жуткой неоптимальностью вылезет и прочая. И придется половину рантайма переписать. А запоминать раскартировку грабель в таком монстре - это крындец.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 22:56 
Количество "not supported" настораживает. Бесполезная технодемка какая-то.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 16:47 
оно умеет читать и менять ключ в одной транзакции залочив ключ или хотя бы как memcaced через CAS?


данные там (или в кассандре) резервируются на разных серверах?
не получится ли так что одна и та же запись есть на сервере X и на сервере Y и в какой-то момент сеть упала и какое-то приложение изменило запись на X а другое на Y а потом сеть восстановилась - что будет при этом? записи сольются? по какому правилу? или такой вариант поведения не возможен?


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено max , 23-Сен-15 17:02 
читаем доки по кассандре, не ленимся

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 17:31 
дружище ответь на вопросы. ПОЖАЛУЙСТА. может оно мне вообще не подходит и копать не стоит в эту сторону, а может это именно то что нужно, ты ведь знаешь ответы это ведь не трудно?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:52 
> ты ведь знаешь ответы это ведь не трудно?

вот только ни одной причины, по которой другие должны читать документацию за тебя, ты не привёл. Отцы, значит, не ленились немного своего времени потратить, а современная хипстота уверена, что ей все вокруг обязаны.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 11:30 
Как я понял все зависит от настроек если replication_factor = 1 то всегда храниться одна копия данных (вопрос насколько надежно и насколько легко делать и востанавливать бекапы во всем этом). Если же replication_factor например 2 то храниться уже две копии и главной считается та у которой время обновления больше. Те возможен вариант что клиент покупает товар (X) - он помещается в первую копию (A), а во вторую копию (B) из за проблем сети нет. Соответственно с одного узла у клиента есть товар, с другого нет. Потом клиент покупает еще один товар Y и он попадает в копию (B) где товара еще нет (ожидает синхронизации) и не попадает в копию (A) из за проблем сети. Потом сеть востанавливается, происходит синхронизация и поскольку последнее время изменения в копии (B) выходит что у клиента только товар Y, а товар X потерян. Если я прав (а похоже это так), то не ясно кому вообще может быть нужен такой глюкодром? Может быть все сложнее и для копии храниться не только время последнего изменения но и история времен изменения? Тогда не ясно как все это мержится... Кто нибудь может это прокомментировать?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Dmitry77 , 11-Ноя-15 19:04 
Задачса с товарами - для реляционной БД.
Cassandra менее удобна, менее стандартизирована, не транзакционна, с бедными возможностями.Недостатков много. Если есть возможность использовать реляционную  БД - её нужно использовать.
Если у вас трилионы покупок (или хотябы миллиард), то вам возможно подойдёт кассандра и тут нужен правильный дизайн. высказывание "клиент покупает товар (X) - он помещается в первую копию (A)" не совсем понятно, копию чего?
Если каждая запись о покупке товара - в отдельной строчке - проблем нет.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено andy , 23-Сен-15 18:15 
А что же скажет Изен?

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено GrAndSE , 23-Сен-15 21:37 
А можно я вместо него:

https://github.com/scylladb/scylla/wiki/Scylla-and-Cassandra...

- несколько пунктов полюбому вызовут ощутимое просаживание быстродействия (триггеры, пермишены, опции создания таблицы, влияющие на запись)
- у Java старый и универсальный стек для IO (Linux, Max OS X, Windows), здесь же в основе низкоуровневый фреймворк для сети, заточенный не только под одну ОС (в данный момент только RedHat Linux) да и вообще под конкретного производителя сетевого железа (Intel). И даже более того: последних поколений этого железа.

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


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Crazy Alex , 23-Сен-15 23:48 
Подгонка под железо/ОС - ерунда. Не на неведомых арендованых VDS же кластер гонять. А вот насчёт фич - вопрос более серьёзный.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 18:42 
linux only

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 20:39 
> linux only

Аналитические выводы с высоты дивана?


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 21:33 
Как будто что-то плохое.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено б.б. , 24-Сен-15 02:28 
вендор локин - это всегда "что-то плохое". доказанно виндой/ia32

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 03:12 
Ай-яй-яй, опять буратина пролетел со своей бздой, как фанера над парижем. Кушай-кушай, не обляпайся.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено bOOster , 28-Сен-15 06:34 
Для любителей ПЭКЭДЖЕЙ.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 23-Сен-15 21:31 
> Разница в скорости в 10 раз

Отлично, есть ведь ещё люди...
> собственный оптимизирванный TCP/IP-стек

Ээээ стоп-стоп-стоп... А ну ка поподробнее - они переписали всё на плюсах и прикрутили свой TCP-стек и достигли повышения производительности *только* в 10 раз при сравнимых задержках? ДА ЭТО ЖЕ ЭПИЧНЕЙШИЙ ФЭЙЛ!!!


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 08:48 
> А ну ка поподробнее - они переписали всё на плюсах и прикрутили свой TCP-стек и достигли повышения производительности *только* в 10 раз при сравнимых задержках? ДА ЭТО ЖЕ ЭПИЧНЕЙШИЙ ФЭЙЛ!!!

https://en.wikipedia.org/wiki/Data_Plane_Development_Kit

Реализация ipsec без DPDK - 4 Gbit.
Реализация на userspace - 40GBit.

Когда речь уже идёт о миллионах запросов (или даже пакетов) в секунду, десятикратное увеличение производительности даётся очень тяжело, даже если у нас неограниченное количество ядер и только 1-4 сетевых интерфейса.

Зацени производительность всего стека linux на сороковке и десятке:
https://rhsummit.files.wordpress.com/2012/03/wagner_network_...
https://wiki.chipp.ch/twiki/pub/CmsTier3/NodeTypeFileServerH...

на роутинг 8-9 гигабит с трудом прокачивается


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено bOOster , 28-Сен-15 06:36 
>[оверквотинг удален]
> https://en.wikipedia.org/wiki/Data_Plane_Development_Kit
> Реализация ipsec без DPDK - 4 Gbit.
> Реализация на userspace - 40GBit.
> Когда речь уже идёт о миллионах запросов (или даже пакетов) в секунду,
> десятикратное увеличение производительности даётся очень тяжело, даже если у нас неограниченное
> количество ядер и только 1-4 сетевых интерфейса.
> Зацени производительность всего стека linux на сороковке и десятке:
> https://rhsummit.files.wordpress.com/2012/03/wagner_network_...
> https://wiki.chipp.ch/twiki/pub/CmsTier3/NodeTypeFileServerH...
> на роутинг 8-9 гигабит с трудом прокачивается

Ха, отлично, зато синтетика тесты прямо ураган когда с темиже BSD сравнивают… ))))


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 01:56 
Эти попугаи, которых в десять раз больше - не о чем. Миллион запросов в секунду с машины они могли получить при чтении очень маленьких не меняющихся данных из кэша в ОЗУ в пределах одной стойки. Такой тест не имеет вообще ничего общего с реальной жизнью, т.е. ни о чем не говорит.
Вполне может быть (я бы поставил на это), что на реальных задачах и паттернах использования все эти нано-оптимизации дают прирост производительности в лучшем случае в считанные проценты. Более того, код оптимизированный под один миллион попугаев в секунду может работать хуже на других более полезных в реальной жизни задачах.
Итак, их тесты - фуфло, реальная польза от их работы неизвестна. Так-то, дорогие джавахейтеры.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 08:10 
Подозрительным выглядит демонстрацию тестов одного узла и отсутствие тестов кластера.
Но архитектура там сохранена и авторы "стрелянные воробьи", прирост всё равно должен быть ощутимым.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 09:02 
> Эти попугаи, которых в десять раз больше - не о чем. Миллион
> запросов в секунду с машины они могли получить при чтении очень
> маленьких не меняющихся данных из кэша в ОЗУ в пределах одной
> стойки.

Очнись, современные SSD выдают 2.5 Гбайта в секунду и 300-800 тысяч IOPS с одной железки. 40Gbit на серваках уже не экзотика.

Текущий стек ядра что для блочных устройств, что для сети не может прокачать железо и его меняют/пробивают более короткие пути от приложения к железу. Процессоры быстрее не становятся, задержка прохождения данных через стек стала очень важна, чтобы была возможность обрабатывать данные на разных ядрах а не висеть на блокировках. NUMA уже много лет в каждом сервере. А ты толкуешь про чудесную java для таких нагрузок, которая с железом общается через тяжёлые обёртки над posix.

Java хороший, правильный инструмент, но не для системного софта. На java надо приложения писать а не хранилища для кластера/мейнфрейма


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 13:38 
> На java надо приложения писать а не хранилища для кластера/мейнфрейма

Видели мы те приложения, угу. Майнкрафт запускать - ещё не всякий дектоп потянет, а кулерами начинает выть так, как будто полёт на альфу центавра считает. Или тот же vuze - торренты покачать - 3х гигов памяти как не бывало. Spark запустишь - ещё гиг-полтора долой.

KDE столько ресурсов не жрёт, сколько одно жабье приложение.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено iZEN , 24-Сен-15 22:15 
> Очнись, современные SSD выдают 2.5 Гбайта в секунду и 300-800 тысяч IOPS
> с одной железки.

Это где такие скорости? В лабораторных условиях, разве что.
У современных SSD 80000 IOPS - максимум.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Аноним , 24-Сен-15 23:40 
> У современных SSD 80000 IOPS - максимум.

А ты ынтырпрайзные SSD видал когда-нибудь? В PCI-E например втыкаемые. Они быстрые как ракета. Но правда и стоят они тоже как ракета.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Aleks Revo , 26-Сен-15 11:54 
>> У современных SSD 80000 IOPS - максимум.
> А ты ынтырпрайзные SSD видал когда-нибудь? В PCI-E например втыкаемые. Они быстрые
> как ракета. Но правда и стоят они тоже как ракета.

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


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Вареник , 24-Сен-15 10:12 
> Итак, их тесты - фуфло, реальная польза от их работы неизвестна. Так-то,
> дорогие джавахейтеры.

В тесте натянуто все. Упираются в сетевой IO, о влиянии дискового IO информации нет. Процент попаданий кэша и реалистичность запросов - информации нет.

Фактически тест прямого доступа к сетевой карте и нового эффективного фреймворка ручного распеределения тредов и аллокаторов по ядрам.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено DD , 25-Сен-15 00:25 
На счет Java vs C++

Я думаю спорить незачем. С++ дефакто к сформирован коммьюнити разработчиков.
И за хрен знает сколько лет они так и не смогли договориться между собой буквально ни об одном стандарте до С11.

Стандартизация есть обязательное условие для разработки проекта большим количеством людей. Стандартизация всего включая форматтинг кода.

Это печальный факт но потребовалось чтобы одна комания (Sun) сказала будет только так как мы сказали все кому не нравится - пшли вон. И их язык стал самым популярным. При том что он сначала задумывался как язык для всего включая кофеварку (абсолютно дебильная идея) что не стало мейнстримом языка.

К сожалению то что я прочитал в очередной раз продемонстрировало неприятие С++ программистами потребности в стандартах. Вы уже пользуетесь С11 но желание стандартизировать и унифиаировать совместную разработку это не порождает.

Но рынок софта показал что за стандартизацией всего и вся будущее.
Спорить об этом смысла нет.


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено anonymous , 25-Сен-15 16:08 
> рассуждает о Java vs C++
> путает стандарт C++11 и C11

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено DD , 26-Сен-15 16:54 
Это никак не меняет все мои доводы.

"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено bOOster , 28-Сен-15 06:49 
>> рассуждает о Java vs C++
>> путает стандарт C++11 и C11

Чем больше циферка после С++XX и CXX - тем больше языки становятся похожи друг на друга. В конце концов придут к общему знаменателю(названию).

Вангую - щас "знатоки" вылезут будут за синтаксис языка демагогию разводить… (facepalm)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra,..."
Отправлено arisu , 30-Сен-15 22:55 
> Но рынок софта показал


> Спорить об этом смысла нет.

а вот тут согласен: о чём можно «спорить» с дешёвой глупой проституткой?


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено Классический анонимус , 25-Сен-15 08:27 
Кстати,

Java Concurrency in 2015

New, asynchronous "shared-nothing" platforms and APIs like Vert.x and Play / Akka and Qbit have emerged. These platforms use a different concurrency model than the standard Java / JEE concurrency model of threading, shared memory and locking. New non-blocking concurrency algorithms have been published, and new non-blocking tools like the LMax Disrupter have been added to our toolkits. New functional programming parallelism has been introduced with the Fork and Join framework in Java 7, and the collection streams API in Java 8.

в общем, Кассандре можно тоже придать волшебного ускорительного пенделя при желании :)


"Новая СУБД ScyllaDB, полностью совместимая с Cassandra, но в..."
Отправлено ДяДя , 25-Сен-15 10:36 
А некоторые даже почти без генерации мусора обходятся, если цель есть такая : http://vanillajava.blogspot.ru/2015/09/low-latency-fix-engin...