2014-02-01 2 views
-1

Я работаю над сетевым проектом и уже использую mysql в качестве моего бэкэнд. Проект закодирован в C++. Когда мои данные становятся довольно большими, для получения данных из mysql требуется много времени. Поэтому я изучал другие базы данных и наткнулся на neo4j. После прочтения большого количества материала в Интернете о neo4j, и у меня есть несколько запросов. Мое основное требование моего проекта - высокая производительность и доступность, которых я не получаю, когда моя база данных становится огромной.Является neo4j лучше, чем mysql

Мои вопросы:

  1. Я немного колеблющимся в использовании Neo4j, так как я прочитал в Интернете в местах, которые не выполняют лучше, чем MySQL. Это правда?
  2. Нет драйверов C++ neo4j и может быть доступен только через rest apis. Будет ли это сделать мой проект еще медленнее, так как теперь это будет http-запрос и ответ?
  3. мы можем запустить neo4j на solaris, так как мой сервер для проекта будет солнечным?
+0

полностью зависит от вашего набора данных; вы профилировали свою версию MySQL, чтобы определить, почему она «медленная»? это редкий случай для перезаписи всего кода вашей базы данных, чтобы быть проще, чем устранение одной проблемы с производительностью. – BRFennPocock

+0

Этот вопрос (по крайней мере, часть один) на самом деле не подходит для StackOverflow, так как это действительно вопрос, основанный на мнениях. Что касается частей 2 и 3, они кажутся разумными и должны быть опубликованы как отдельные вопросы. –

ответ

2

Отказ от ответственности: Мой ответ может быть предвзятым, так как я работаю для Neo Technology. Тем не менее я останусь как можно более объективным.

Что касается ваших вопросов:

  1. Это полностью зависит от случая использования, если база данных графа реляционная база данных выполняет лучше. База данных графа превосходит при запуске локальных запросов (например, «которые являются друзьями моих друзей»). По локальному запросу я имею в виду случай, когда вы начинаете с одного или нескольких связанных узлов, а затем пересекаетесь через график. (например, «что такое средний возраст людей в db»), база данных графов может работать на одном уровне с реляционным, но не будет значительно быстрее. Однако, если ваши глобальные запросы должны совершать много обходов, преимущество база данных графов также будет значительной.
  2. Нет, использование возможностей вашего языка HTTP не будет медленнее по сравнению с использованием драйвера. Большинство драйверов добавляют некоторые удобные слои для создания запроса и анализа ответа, и, возможно, Некоторое кэширование.
  3. Neo4j как база данных на основе JVM может работать на любой платформе с поддержкой JVM 7. Однако поддержка Neo Technology в g в настоящее время охватывает Linux, Windows и HP-UX. Если вам нужна коммерческая поддержка для Solaris, свяжитесь со мной или моими коллегами напрямую.
Смежные вопросы