У нас 32-ядерный сервер Windows, 96 ГБ ОЗУ с 5 ТБ жесткого диска
Подход 1 (с использованием Oracle SQLLDR)
- Мы получили входные данные из базы данных Oracle.
- Мы обработали и сгенерировали несколько файлов TSV.
- Используя многопоточность, мы импортируем данные в базу данных Oracle с помощью SQL Loader.
Требуется приблизительно 66 часов.
Подход 2 (с использованием MongoImport)
- Мы получили входные данные из базы данных Oracle.
- Мы обработали и сгенерировали несколько файлов TSV.
- Используя многопоточность, мы импортируем данные в базу данных MongoDB с помощью утилиты командной строки mongoimport.
Требуется приблизительно 65 часов.
Нет существенных различий в производительности.
Нам нужно обработать более 700 миллионов записей, пожалуйста, предложите лучший подход для оптимизации производительности.
Мы выбираем из базы данных oracle, обрабатываем в нашем приложении и сохраняем вывод в другой базе данных. Это существующий процесс, который мы выполняем в базе данных Oracle, но он отнимает много времени, поэтому мы решили попробовать MongoDB для повышения производительности.
Мы сделали один POC, где мы не получили никакой значительной разницы. Мы думали, что это может работать на сервере из-за аппаратного обеспечения, поэтому мы сделали POC на сервере, где мы получили вышеупомянутый результат.
Мы считаем, что MongoDB более устойчив, чем база данных Oracle, но не смог получить желаемый результат после сравнения статистики.
Пожалуйста, найдите MongoDB связанные детали производственного сервера:
Команда MongoImport
mongoimport --db abcDB - коллекция abcCollection - тип tsv - файл abc.tsv --headerline --numInsertionWorkers 8 --bypassDocumentValidation
Конфигурация проводного тигра
хранение:
dbPath: C: \ data \ db
журнал:
включено: ложь
wiredTiger:
engineConfig:
cacheSizeGB: 40
Приблизительное время вычислений рассчитывается по данным журнала процесса для выполнения процесса с использованием Oracle и выполнения процесса с использованием MongoDB.
Подчеркнутый POC, выполненный на рабочем сервере, предназначен для сравнения производительности Oracle (SQL Loader) и MongoDB (MongoImport)
Поскольку мы используем автономный экземпляр MongoDB для нашего POC, мы не создали никакого сегмента в производственном сервере.
Если мы получим желаемый результат с помощью MongoDB, тогда мы приходим к выводу о миграции.
Заранее благодарю.