#oracle #azure #csv #azure-sql-database #azure-data-factory-2
#Oracle #azure #csv #azure-sql-database #azure-data-factory-2
Вопрос:
Здравствуйте, я использую Azure Data Factory для ввода данных из Oracle в SQL DB, данные извлекаются в формате csv. Проблема заключается в источнике, который я читаю, как данные 10 Go, но когда они вводятся в Azure SQL DB, размер данных становится 40 Go.
Это нормально? и есть ли способ уменьшить размер данных назначения?
Спасибо
Комментарии:
1. Как вы получаете эти цифры? Данные внутри базы данных обычно имеют служебные данные, которых не существует, когда эти данные находятся в простом файле csv.
2. @EdStevens когда вы используете фабрику данных, вы можете видеть слева объем считываемых данных, а справа — записанные данные.
3. Что вы подразумеваете под 10 Go и 40 Go? Вы имеете в виду ГБ или гигабайт вместо этого? У вас одинаковое количество строк? Это более важно, чем размер данных для миграции.
4. @JeffRamos да, количество строк одинаковое, и да, я имею в виду ГБ.
5. Если вы измеряете размеры базы данных до / после, то, скорее всего, проблема заключается в размере файла журнала транзакций.
Ответ №1:
Попробуйте установить уровень сжатия таблицы. Если в таблице много числовых столбцов, сжатие строк SQL Server аналогично стилю хранения чисел Oracle по умолчанию и должно обеспечить размер хранилища, аналогичный Oracle
Сжатие СТРАНИЦЫ предоставляет дополнительные стратегии сжатия и может дать вам ~ 3-кратное сжатие.
И если в таблице много миллионов строк, используйте кластеризованную таблицу cloumnstore, которая может обеспечить сжатие ~ 10X.
Комментарии:
1. Сжатие страницы работало хорошо, но сжатие строк увеличивало размер данных.