Встроенная реализация Tinkerpop для продакшена

У меня есть вариант использования, когда мне не нужны полноценные функции графической базы данных. Я уже получил бы сеть (подключенные узлы и ребра) из источника данных, и все, что мне нужно было бы сделать, это применить к ней несколько операций с графом (например: Кратчайший путь между двумя узлами, обнаружение отношений и т. Д.). Размер сети невелик (максимум 200 узлов). Мне было интересно, могу ли я использовать для этого встроенный Tinkerpop? Чего я должен остерегаться? Это производственное приложение, которое будет использоваться в многопоточном контексте и т. Д.


person user1189332    schedule 09.11.2018    source источник


Ответы (1)


Когда вы говорите «emebedded TinkerPop», я предполагаю, что вы имеете в виду базу данных графов в памяти, которую он предоставляет, под названием «TinkerGraph». Если это верно, то я бы сказал, что его можно использовать для того типа использования, который вы описываете. Если у вас есть небольшой график, который умещается в памяти, и вам не нужны навороты, он должен быть подходящим и, вероятно, лучшим выбором из любого графа с поддержкой TinkerPop.

Единственное, о чем вам следует знать, это то, что TinkerGraph не является потокобезопасным для мутаций. Вы не хотите, чтобы несколько потоков одновременно изменяли график. Для описываемого вами размера графа это звучит так, как будто клонирование копий графа для совместного использования между потоками при необходимости должно быть дешевым.

person stephen mallette    schedule 12.11.2018