Zobacz graphdb-benchmarks
projektu graphdb-odniesienia jest punktem odniesienia między popularnych dataases wykresu. Obecnie framework obsługuje Titan, OrientDB, Neo4j i Sparksee. Celem tego testu porównawczego jest zbadanie wydajności każdej bazy danych wykresów pod względem czasu realizacji. Benchmark składa się z czterech obciążeń: klastrowania, masowego wstawiania, pojedynczego wstawiania i obciążenia zadaniami. Każde obciążenie zostało zaprojektowane w celu symulacji typowych operacji w graficznych systemach baz danych.
Clustering Obciążenie pracą (CW): CW składa się ze znanego algorytmu wykrywania społeczności dla optymalizacji modularności, metody Louvaina. Dostosowujemy algorytm do baz danych z analizami porównawczymi i stosujemy techniki pamięci podręcznej, aby wykorzystać możliwości zarówno graficznej bazy danych, jak i prędkości wykonywania w pamięci. Mierzymy czas potrzebny do zejścia algorytmu.
Obciążenie pracą z nakładaniem (MIW): Utwórz bazę danych wykresów i skonfiguruj ją pod kątem dużego obciążenia, a następnie zapełnimy ją konkretnym zestawem danych. Mierzymy czas utworzenia całego wykresu.
Obciążenie pojedynczego wkładania (SIW): Utwórz bazę danych wykresów i załaduj ją przy użyciu określonego zestawu danych. Każde wstawienie obiektu (węzeł lub krawędź) jest zatwierdzane bezpośrednio, a wykres jest tworzony przyrostowo. Mierzymy czas wstawiania na blok, który składa się z tysiąca krawędzi i węzłów pojawiających się podczas wstawiania tych krawędzi.
Query Workload (QW): Wykonaj trzy wspólne zapytania: FindNeighbours (FN): wyszukuje sąsiadów wszystkich węzłach. FindAdjacentNodes (FA): znajduje sąsiednie węzły wszystkich krawędzi. FindShortestPath (FS): znajduje najkrótszą ścieżkę między pierwszym węzłem a 100 losowo wybranymi węzłami.
nieznacznie OT, ale przypominam sobie kilka artykułów na temat benchmarkingu grafów w ogóle, być może pomogłoby to: https://code.google.com/p/orient/wiki/GraphDBComparison i http: //ups.savba. sk/~ marek/gbench.html – ulkas