Comments 22
Всего 50 млн строк за секунду? Вроде как ClickHouse должен примерно на 8 ядрах успевать сканировать 1 миллиард. Вы, вероятно, вставляли строки с именами месяцев «как есть» вместо использования dict(...), например, или просто номеров месяца. Попробуйте с uint8, должно стать намного быстрее. Ну и что такое 50 млн записей, кто на таком малом объеме тестирует :)? И еще можно попробовать использовать семплирование данных при выборке, это должно серьезно ускорить выборки без особой потери в точности.
+5
В монге не было ни одного индекса? И в clickhouse тоже (если они там вообще есть)? И запросы на выборки довольно узкие. надо бы добавить для наглядности
+3
Попробовали insert — MongoDB быстрее, нет не подходит.
Попробовали select — MongoDB быстрее, нет не подходит.
Попробовали aggregate без индексов — MongoDB медленнее, вот это и будем сравнивать!
В чем смысл статьи?
Попробовали select — MongoDB быстрее, нет не подходит.
Попробовали aggregate без индексов — MongoDB медленнее, вот это и будем сравнивать!
В чем смысл статьи?
+8
Тащем-то нет:
Попробовали insert — MongoDB быстрее
Попробовали select — MongoDB медленнее
Заключение: «ClickHouse отлично подходит для проектов с BigData. Скорость выборки впечатляет. Данная СУБД хороший выбор для хранения данных связанных аналитической информацией.»
В заключении явно указано, что вставка – не сильная сторона ClickHouse'a в отличие от выборки. Значит он отлично подходит там, где надо много и часто выбирать.
Попробовали insert — MongoDB быстрее
Попробовали select — MongoDB медленнее
Заключение: «ClickHouse отлично подходит для проектов с BigData. Скорость выборки впечатляет. Данная СУБД хороший выбор для хранения данных связанных аналитической информацией.»
В заключении явно указано, что вставка – не сильная сторона ClickHouse'a в отличие от выборки. Значит он отлично подходит там, где надо много и часто выбирать.
0
В заключении явно указано, что вставка – не сильная сторона ClickHouse'a в отличие от выборки. Значит он отлично подходит там, где надо много и часто выбирать.
В документации четко прописано как рекомендуется его использовать, в частности, большие но не частые вставки (пара вставок в секунду норм). Выборки тоже не частые, но на больших срезах. Тот же пример select с limit, где limit никак не влияет на время исполнения по факту, т.к. данные вычитываются полностью.
0
У нас ClickHouse на достаточно средненьким сервере с лёгкостью вставляет данные со скоростью 200 000 записей в секунду.
0
aggregate без индексов медленнее до первого изменения проекции, т.е. если будет aggregate и первым пайпом будет $match, то выборка будет осуществляться с использованием индексов.
0
причем стоит добавить, что aggregate с последующим «count: {$sum: 1}» работает на порядки медленнее, чем делать find(...).count() из-за особенностей реализации, разница в некоторых случаях у меня была миллисекунды-секунды vs минуты.
index используется в обоих случаях, но по разному
count может пробежаться по индексу и просто посчитать количество входов
агрегаты всегда производят материализацию объектов найденых, а уже потом только прибавляют 1, в итоге получаем fetch и disk io.
поэтому сравнения вообще ни о чём =)
index используется в обоих случаях, но по разному
count может пробежаться по индексу и просто посчитать количество входов
агрегаты всегда производят материализацию объектов найденых, а уже потом только прибавляют 1, в итоге получаем fetch и disk io.
поэтому сравнения вообще ни о чём =)
+1
Не указано как именно осуществлялась вставка. В документации CH указано, что оптимальным считается вставка батчами по 100к записей.
+4
статья хорошо показывает два простых момента
1. тексты нужно уметь делать.
2. результат нужно уметь удобно представить.
1. тексты нужно уметь делать.
2. результат нужно уметь удобно представить.
+4
Укажите, пожалуйста версии и того и другого.
+1
Ждем сравнения производительности кислого со сладким.
+4
Требую тестов с проиндексированным коллекциями в MongoDB.
+3
Код создания таблицы есть, а кода вставки в обоих системах — нет.
Если есть конкретный запрос на поиск, то создайте подходящие индексы в MongoDB. Потом тестируйте и вставку (bulk insert), и поиск (можно с планом выполнения, чтобы увидеть что сколько отъело времени).
Если есть конкретный запрос на поиск, то создайте подходящие индексы в MongoDB. Потом тестируйте и вставку (bulk insert), и поиск (можно с планом выполнения, чтобы увидеть что сколько отъело времени).
0
Коллеги! Это просто прекрасно: статья живая, а ссылки на изображения нет. Можно с этим что-то сделать? Был бы просто счастлив, если бы исправили.
0
Sign up to leave a comment.
Небольшое сравнение производительности СУБД «MongoDB vs ClickHouse»