Производительность neo4j по сравнению с mysql (как ее можно улучшить?)
Это продолжение доне может воспроизвести / проверить заявления о производительности в графических базах данных и neo4j в книгах действий, Я обновил настройки и тесты и не хочу слишком сильно менять исходный вопрос.
Вся история (включая сценарии и т. Д.)https://baach.de/Members/jhb/neo4j-performance-compared-to-mysql
Короткая версия: пытаясь проверить заявления о производительности, сделанные в книге «База данных графиков», я пришел к следующим результатам (запрос случайного набора данных, содержащего n человек, по 50 друзей в каждом):
My results for 100k people
depth neo4j mysql python
1 0.010 0.000 0.000
2 0.018 0.001 0.000
3 0.538 0.072 0.009
4 22.544 3.600 0.330
5 1269.942 180.143 0.758
"*": только одиночный прогон
My results for 1 million people
depth neo4j mysql python
1 0.010 0.000 0.000
2 0.018 0.002 0.000
3 0.689 0.082 0.012
4 30.057 5.598 1.079
5 1441.397* 300.000 9.791
"*" :, только один запуск
Используя 1.9.2 на 64-битной Ubuntu, я настроил neo4j.properties со следующими значениями:
neostore.nodestore.db.mapped_memory=250M
neostore.relationshipstore.db.mapped_memory=2048M
и neo4j-wrapper.conf с:
wrapper.java.initmemory=1024
wrapper.java.maxmemory=8192
Мой запрос к neo4j выглядит следующим образом (с использованием REST API):
start person=node:node_auto_index(noscenda_name="person123") match (person)-[:friend]->()-[:friend]->(friend) return count(distinct friend);
Node_auto_index, очевидно, на месте
Что я могу сделать, чтобы ускорить neo4j (чтобы быть быстрее, чем MySQL)?
А также естьеще один тест в Stackoverflow с той же проблемой.