#datastore #nosql
#хранилище данных #nosql
Вопрос:
Нашей системе требуется 10 миллионов вставок в день (структурные данные), хранение до 3 месяцев (что добавляет до 300 миллионов записей, после чего мы можем удалять старые записи), обновления не требуются, и она должна поддерживать простые запросы (например, запросы к некоторым конкретным столбцам, отсортированным по дате). Какое решение для хранения данных эффективно в этом случае?. Мы думаем, что СУБД будет работать медленно для миллиардов записей.
Ответ №1:
MySQL может работать, если вы можете оптимизировать способ вставки. http://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-bulk-data-loading.html
Конечно, это зависит от того, равномерно ли распределены ваши вставки размером 1 м или у вас есть выбор.
Если у вас есть выбор TPS очень высокой высоты, я бы рекомендовал aerospike.
MongoDB также может работать, однако вам нужно будет использовать сегментирование.
Комментарии:
1. Через 3 месяца данные превысят отметку в миллиард, будет ли mysql хорошо выполнять запросы на данный момент времени?, также зачем нам нужна транзакционная база данных, если нам не нужны обновления?
2. Сильный сервер справится с этим, если ваши вставки распределены равномерно. Я не знаю, какие транзакции ваших потребностей могут быть важны и для вставок. С очень большими таблицами Mongodb дает большое преимущество в производительности, только если вы используете сегментирование.