Какую производительность мы можем ожидать от kdb+ 32bit?

Kx объявил о своем бесплатная база данных временных рядов kdb+ (32 бит).

Какую производительность с точки зрения операций чтения/записи в секунду мы обычно можем ожидать от этой базы данных?

Я понимаю, что это сложный вопрос, так как ответ зависит от настройки, количества узлов и т. д. Я надеюсь, что кто-то сможет предоставить нам некоторые цифры, а также варианты использования.


person Datageek    schedule 03.04.2014    source источник
comment
Вы смотрели здесь: kx.com/benchmarks.php   -  person sous2817    schedule 03.04.2014
comment
Спасибо, я не уверен, какие из этих тестов применимы к 32-битной версии kdb+ с открытым исходным кодом.   -  person Datageek    schedule 03.04.2014
comment
@Datageek бесплатно =/= с открытым исходным кодом   -  person behzad.nouri    schedule 04.04.2014
comment
@behzad.nouri Конечно, спасибо, что указали на это.   -  person Datageek    schedule 04.04.2014
comment
Интересно было бы узнать, как производительность бесплатной 32-битной версии сравнивается с платной 64-битной версией.   -  person mollmerx    schedule 05.04.2014


Ответы (3)


После дополнительных исследований я нашел примеры тестов производительности на веб-сайте kx.com:

На коробке AMD Opteron с 4 ГБ оперативной памяти мы получаем

0.672 million inserts per second (single insert)
6.944 million inserts per second (bulk insert 10)
20.408 million inserts per second (bulk insert 100)
24.39 million inserts per second (bulk insert 1000)
25 million inserts per second (bulk insert 10000)

На ноутбуке AMD Turion64 с 0,5 ГБ ОЗУ,

0.928 million inserts per second (single insert)
8.065 million inserts per second (bulk insert 10)
16.129 million inserts per second (bulk insert 100)
16.129 million inserts per second (bulk insert 1000)
16.129 million inserts per second (bulk insert 10000)

Выполнение тех же тестов на моей машине (32 ГБ ОЗУ, Xeon E5 3,2 ГГц, SSD):

1.972 million inserts per second (single insert)
30.303 million inserts per second (bulk insert 10)
142.857 million inserts per second (bulk insert 100)
250 million inserts per second (bulk insert 1000)
200 million inserts per second (bulk insert 10000)
person Datageek    schedule 04.04.2014
comment
Обратите внимание, что это скорость операций в памяти. - person Datageek; 03.08.2015

32-битные ограничивают адресуемую память. Таким образом, размер базы данных в памяти ограничен. Обычной практикой является сохранение текущего дня (RDB) в памяти.

person David Hall    schedule 07.04.2014
comment
Таким образом, в память можно загрузить до 4 ГБ данных в 32-битном формате kdb. Вероятно, меньше, поскольку для выполнения операций с этими данными требуется некоторая память. - person Datageek; 07.04.2014
comment
@Datageek На днях я прочитал на веб-сайте kx рекомендацию выделить в 4 раза больше памяти, чем максимальный ожидаемый размер данных. - person mollmerx; 07.04.2014

В тестах STAC M3 это тоже хорошо отражено. Кроме того, я бы не ожидал больших различий в 32-битных и 64-битных двоичных файлах. Я считаю, что стратегия распределения памяти одинакова в обоих случаях.

Как уже показал Datageek в своем посте, производительность для kx не имеет себе равных. Конечно, этот язык будет новым для большинства разработчиков, привыкших к ООП+SQL, но это огромный шаг вперед для kx IMO.

person Manish Patel    schedule 04.04.2014