Как импортировать таблицу 100 миллионов строк в базу данных? - PullRequest
5 голосов
/ 01 июня 2011

Может ли кто-нибудь направить меня по поводу моего запроса? Я делаю заявление для банковского сектора с нечеткой логикой.Мне нужно импортировать таблицу с 100 миллионов строк в день.и я использую MySql для этого приложения, которое обрабатывается медленно.так есть ли другой сервер для обработки моей базы данных, который может получить быстрый доступ?

Ответы [ 4 ]

5 голосов
/ 01 июня 2011

Мы примерно загружаем примерно половину такого количества строк в день в нашей RDBMS (Oracle), и мне не пришло бы в голову реализовать такую ​​вещь без доступа к знаниям DBA о моей RDBMS. Мы настраиваем эту систему несколько раз в месяц и все еще сталкиваемся с новыми проблемами. Это такая нетривиальная задача, что единственный правильный ответ:

Не играйте, пусть ваши менеджеры получат администратора, который знает свое дело!

Примечание. Наша система работает уже 10 лет. Он не был построен за один день ...

2 голосов
/ 01 июня 2011

100 миллионов строк в день?

Вы должны быть реалистами. Я сомневаюсь, что любой экземпляр любой базы данных может эффективно обработать этот тип вывода. Вероятно, вам следует рассмотреть варианты кластеризации и другие методы оптимизации, такие как разделение данных в двух разных БД (sharding).

MySQL Enterprise имеет множество встроенных функций, которые могут упростить и контролировать процесс кластеризации, но я думаю, что MySQL Community Edition также поддерживает его.

Хорошо удачи!

0 голосов
/ 01 июня 2011

Что ж, похоже, основная логика вашего бизнеса не зависит от импорта этих 100-миллиметровых строк в базу данных, иначе вы не застряли бы в этом самостоятельно, верно? (поправьте меня, если я ошибаюсь)

Вы уверены, что вам нужно импортировать эти строки в базу данных, когда основной бизнес не нужен? Какие вопросы вы собираетесь задавать на свидание? Разве вы не можете хранить файлы журналов на нескольких серверах и запрашивать их, например, с помощью Hadoop? Или вы можете объединить информацию, содержащуюся в файлах журнала, и хранить только сокращенную версию?

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

0 голосов
/ 01 июня 2011

Как дела?Одна огромная транзакция?

Возможно, попытаться сделать небольшие транзакции кусками по 100 или 1000.

Есть ли индекс для этой таблицы?Удалите индекс перед началом импровизации (если это возможно из-за уникальных ценовых ограничений и т. Д.) И перестройте индекс после импорта.

Возможно, другим вариантом будет база данных в памяти.

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