Переключиться с MariaDB на MongoDB? 70G 1 Mio Rows - PullRequest
0 голосов
/ 31 октября 2018

у нас есть таблица MariaDB с 70G. 1 миллион строк, по 100 столбцов в каждой строке.

Проблема в том, что запросы занимают до 10 - 15 минут. Будет ли решена эта проблема, если мы перейдем к «большим данным» - базе данных?

Является ли MongoDB хорошими системами для таких данных?

Каждый день в этой таблице появляется около 300 000 новых строк. Кроме того, не будет никаких обновлений / удалений. Просто выберите.

Кто-нибудь уже сталкивался с этой темой? Будет ли MariaDB действительно быстрее?

Заранее спасибо.

1 Ответ

0 голосов
/ 02 ноября 2018

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

Вместо этого давайте посмотрим на детали того, что вы делаете. «Точечный запрос» для таблицы миллиардов строк займет всего несколько миллисекунд, даже с медленным диском. Это потому, что любая база данных (которую стоит использовать) сможет быстро найти строку по индексу * .

Итак, очевидно, у вас либо нет подходящего индекса, либо вы делаете что-то сложное. Давайте посмотрим SELECT и схему (SHOW CREATE TABLE). Это может быть что-то простое, например, добавление «составного» индекса или переформулировка запроса. Смена поставщиков вряд ли будет решением.

Хорошо, вы дали нам подсказку: where date LIKE '201808%'. Я надеюсь, что date это DATETIME или TIMESTAMP. Он не может использовать индекс, потому что ему нужно преобразовать каждый date в строку перед выполнением LIKE; отсюда сканирование таблицы. Вместо этого выполните:

WHERE date >= '2018-08-01`
  AND date  < '2018-08-01` + INTERVAL 1 MONTH

Что может использовать индекс.

Есть ли что-то еще в WHERE? using inex condition звучит так, как будто есть что-то еще. Пожалуйста, покажите нам весь SELECT.

У вас есть LIMIT 10000. может или не может ускорить запрос. Также есть ORDER BY? GROUP BY? Это может потребовать своего рода. Когда происходит сортировка, вся работа выполняется до того, как будет замечен LIMIT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...