Масштабирование базы данных для миллионов записей - PullRequest
0 голосов
/ 28 января 2012

Мы разрабатываем приложение, которое обрабатывает некоторые коды и выводит большое количество строк каждый раз (миллионы!).Мы хотим сохранить эти строки в базе данных, потому что сама обработка занимает пару часов.

1.Каков наилучший способ сохранить эти записи?

2.здесь можно использовать решение NoSql?

Предположим, что мы сохраняем пять миллионов записей в день и можем извлекать данные из него время от времени.

Ответы [ 2 ]

2 голосов
/ 28 января 2012

Это очень сильно зависит от того, как вы собираетесь использовать данные после их генерации. Если вы будете искать его только по первичному ключу, то NoSQL, вероятно, будет в порядке, но если вы когда-нибудь захотите найти или отсортировать данные (или объединить строки), то база данных SQL, вероятно, будет работать лучше.

По сути, NoSQL действительно хорош для помещения непрозрачных данных в хранилище и очень быстрого извлечения любого отдельного элемента. Реляционные базы данных действительно хороши для индексации данных, которые можно объединять или искать.

Любая современная база данных SQL будет легко обрабатывать 5 миллионов строк в день - дисковое пространство, скорее всего, станет вашим узким местом, в зависимости от размера ваших строк. Я не так много сделал с NoSQL, но я был бы удивлен, если бы 5 миллионов элементов в день вызывали проблемы.

1 голос
/ 28 января 2012

Это зависит от того, какие именно данные вы хотите хранить - не могли бы вы уточнить это? Если данные аккуратно структурированы в таблицы, то вам не обязательно нужен подход NoSQL. Однако, если ваши данные имеют граф или сетевую структуру, вам следует рассмотреть решение NoSQL. Если последнее верно для вас, то, возможно, вам поможет следующий обзор некоторых баз данных NoSQL: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

...