Разработка языка запросов к графовому хранилищу биллинговой информации - page 7

Разработка языка запросов к графовому хранилищу билллинговой информации
7
Тестирование языка запросов.
Корректность и производитель-
ность выполнения запросов были протестированы путем запуска
сценария, в который входили операции создания экземпляра графо-
вой базы данных, добавления в нее графа и применения к этому гра-
фу различных последовательностей аналитических операций. Сцена-
рий включал следующие запросы в приведенном порядке:
1.
CREATE DATABASE database1 IN "c:\database1\"
2.
IMPORT FILE "c:\test.txt" INTO database1
3.
FROM database1 SELECT *
4.
FROM database1 SELECT ("4", "5").intersection(1)
5.
INSERT EDGE INTO database1 VALUE "4", "6"
6
. INSERT EDGE INTO database1 VALUE "5", "7"
7
. FROM database1 SELECT *
8
. FROM database1 SELECT ("4", "5").intersection(1).neighbors(2)
9
. DELETE NODE FROM database1 VALUE "2"
10
. DELETE EDGE FROM database1 VALUE "4", "6"
11.
TRUNCATE database1
12.
DROP DATABASE database1
Время выполнения запросов было измерено для двух исходных
графов — малого и большого. Первый (7 вершин, 10 ребер) исполь-
зовался прежде всего для проверки корректного выполнения опера-
ций, а второй (10 млн вершин, 200 млн ребер) — для тестирования
времени работы со значительными объемами данных.
Стенд, на котором проводилось тестирование, имеет следующую
конфигурацию: Intel Core i5 3,1 ГГц, 8 Гбайт DDR3, жесткий диск
1 Тбайт, 7200 об/мин, Windows Server 2008
64. Результаты тестиро-
вания времени выполнения запросов представлены на рис. 1 и 2. Ра-
нее было отмечено, что используемое графовое хранилище биллин-
говой информации (на основе B-дерева) берет на себя основную роль
в обработке данных, поэтому результаты второго теста также отра-
жают производительность самого хранилища при выполнении соот-
ветствующих операций. Создание, очистка и удаление хранилища
данных являются крайне редкими операциями, поэтому время их вы-
полнения не очень важно. Продолжительность операции импорта
относительно велика, но время ее выполнения остается приемлемым,
поскольку импорт — одноразовая операция, позволяющая загрузить
в хранилище достаточно много данных. Остальные операции созда-
ния, удаления и анализа занимают приблизительно такое же время,
кроме операции выборки всех данных, которая является крайне
быстрой благодаря внутренней оптимизации хранилища.
1,2,3,4,5,6 8,9,10
Powered by FlippingBook