В роли выходных анализируемых величин выступают следующие параметры:
- Время импорта/экспорта (в секундах);
- Скорость импорта/экспорта (в тысяча ячеек в секунду);
- Размер файла (Мбайт);
- Размер ячейки данных (байт на ячейку).
Примечание:
- Ячейка- элемент электронной таблицы, хранящий данные определенного формата.
- Скорость- величина, характеризующая количество импортированных/экспортированных ячеек за единицу времени.
Тестирование проводилось на существенном объеме файлов, параметры данных в каждом файле однозначно определяются комбинацией из четырех характеристик:
- Тип файла источника/приемника данных.
- Формат данных.
- Количество полей.
- Количество записей.
В таблицах ниже подробно описано содержание каждой из них.
№ | Расширение | Описание | Технология импрот/экспорт* |
---|---|---|---|
1 | .xlsx | Лист MS Excel 2007 | OleDB/Native |
2 | .xls | Лист MS Excel 2003 | OleDB/Native |
3 | .dbf | Таблица в формате dBase, FoxPro (версия FoxBASE+/dBASE III PLUS) | OleDB/Native |
4 | .txt | Текстовый файл с фиксированными столбцами | Native/Native |
5 | .csv | Файл с разделителями | Native/Native |
6 | .ddf | Deductor Data File | Native/Native |
Примечания:
- OleDB - интерфейс доступа к данным OleDB https://ru.wikipedia.org/wiki/OLE_DB [1];
- Native – код написан непосредственно в программе, на языке программирования.
№ | Данные | Количество полей | |||
---|---|---|---|---|---|
1 | Дробные числа от 0 до 1 c точностью 9 знаков после запятой | 1 | 4 | 8 | 16 |
2 | Целые девятизначные числа | ||||
3 | Даты в формате ДД.ММ.ГГГГ | ||||
4 | Строки: с повторениями, 100 уникальных значений (используется справочник стран) | ||||
5 | Строки: 50 случайных символов (диапазон кодовых десятичных значений ANSI-кодировки: 50-150) |
№ | Этап тестирования | Мин | Макс | Шаг |
---|---|---|---|---|
1 | 10 тыс. – 100 тыс. записей | 10 тыс. | 100 тыс. | 10 тыс. |
2 | 200 тыс. – 1 млн. записей | 200 тыс. | 1 млн . | 200 тыс. |
3 | 2 млн. – 10 млн. записей | 2 млн. | 10 млн | 2 млн. |
Ограничения источников данных
В ходе тестирования для некоторых источников данных были обнаружены следующие ограничения:
- Excel 2003 не поддерживает файлы с количеством строк больше 65535. Дополнительную информацию см. здесь (первая строка в таблице): https://support.office.com/ru-ru/article/Возможности-Office-Excel-2007-не-поддерживаемые-в-более-ранних-версиях-Excel-f953c90e-4c24-410d-9380-6e259f3cc933 [2] .
- Excel 2007 не поддерживает файлы с количеством строк больше 1048575. Дополнительную информацию см. здесь (вторая строка в таблице): https://support.office.com/ru-RU/article/Спецификации-и-ограничения-приложения-Excel-16c69c74-3d6a-4aaf-ba35-e6eb276e8eaa [3] .
- Максимальный размер файла .dbf - 2 ГБ. Дополнительную информацию см. здесь (строка Bytes in .DBF (Table) file): http://www.dbase.com/Knowledgebase/faq/dBASE_Limits_FAQ.html [4].
Этапы тестирования
Учитывая описанные выше ограничения и для получения наиболее корректных результатов, тестирование было разбито на несколько этапов в зависимости от объема тестируемых данных:
- Малые объемы данных (до 100 тыс записей). Тестирование всех файлов размером 10, 20, 30,..100 тысяч строк. 100 прогонов запусков тестирования. Следует учитывать, что максимальное количество строк в файлах .xls – около 65,5 тыс., что говорит о невозможности тестирования этого типа файлов для объемов данных, превышающих это значение.
- Средние объемы данных (до 1 млн. записей). Тестирование почти всех файлов размером 200, 400, 600, 800, 1000 тысяч строк. 10 прогонов запусков тестирования. Файлы xls не вошли в тестирование из-за ограничений максимального количества строк.
- Большие объемы данных (до 10 млн. записей). Тестирование txt, csv и ddf файлов размером 2, 4, 6, 8, 10 миллионов строк. 10 запусков тестирования. Файлы dbf не вошли в данную часть тестирования, так как часть из них уже достигла предельного размера, что делает результаты по ним некорректными. Файлы xls и xlsx не вошли в тестирование из-за ограничений максимального количества строк.
Подготовка данных и проведение тестирования
- Создание данных нужного размера с нужными форматами данных (все форматы данных, кроме создаваемых из справочника, генерируются случайным образом).
- Экспорт/сохранение наборов данных в .ddf-файлы.
- Конвертирование данных в необходимый формат файлов.
- Запуск сценариев импорта/экспорта данных.
- Анализ результатов.
Таким образом мы однозначно уверены, что файлы различаются только форматом хранения данных, но содержат одну и ту же информацию.
Характеристики стенда
- Процессор: CPU Intel Xeon CPU E5-2650 v2 @ 2.60GHz, 2 ядра;
- Оперативная память: RAM 4GB;
- Жесткий диск: HDD 800 ГБ;
- Операционная система: OS Windows Server 2008 R2 Enterprise SP1 64х.