| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > neo4j vs postgresql |
| Автор: gelo86 23.11.2011, 19:51 |
| Если откинуть аспект того, что чтото новое, что надо его изучять, что бы для нового проекта ви использовали бы neo4j или postgresql ? Проект например електронный магазин. Что лутще по быстродействию ? |
| Автор: Nofate 23.11.2011, 20:07 |
| Исходить нужно из проекта, т.к. вы сравниваете 2 очень разные СУБД. PostgreSQL - традиционная реляционная СУБД с таблицами, SQL-запросами, хранимыми процедурами и т.п., в то время как Neo4j - NoSQL, ориентированная к тому же на хранение графов. Поэтому для магазина, наверное, стоит ограничиться постгресом ) |
| Автор: gelo86 23.11.2011, 20:19 |
| Но ведь в магазине тоже графы. - Каталоги -> Продукты -> Параметры - Пользователи -> Любимые Продукты - Продукты -> Одновременно купленные продукты и т.д. Можно думаю найти и другие графы, но конечно же в RelationalDB ето все можно сделать. Но вот вопрос, если например Параметров около милиона, продуктов около 100.000, то в neo4j получение данных небудет быстрее чем традиционными join'ами ? |
| Автор: Ares4322 23.11.2011, 21:40 |
| Я так понимаю, что в neo4j графы не из разных сущностей, а из одинаковых. Такие БД активно используются в соцсетях. Например, в виде графа пользователей. А отношение, про которое написали Вы, хорошо ложится на внешние ключи из РСУБД. Чтобы принимать решение, какую технологию взять, Вы сначала определитесь с основными требованиями к ней. Если это необходимо для электронного магазина, то самым первым в списке важных вещей идет поддержка транзакций. Вы же все-таки с деньгами работать будете. Далее идет производительность. Вряд ли у вас будет супер нагрузка сразу. Поэтому проще начать с РСУБД. Ну и т.д. NoSQL базы - это хорошо. Но РСУБД стары как мир и потому стабильны. По ним куча доков, куча обвязок. Ну короче, Вы поняли) |
| Автор: Nofate 24.11.2011, 10:58 | ||
Что-то у меня скепсис имеется относительно миллиона параметров в интернет-магазине ) А для сравнения производительности в конкретной ситуации всегда же можно синтетический тест организовать. |
| Автор: Skynin 24.11.2011, 15:35 |
| Непонятно почему в качестве NoSQL базы рассматривается neo4j Может что-то изменилось, но если не путаю (есть еще похожая, графо-ориентированная) Как-то я его смотрел, он для специфических задач хорош. Но и расплата - внутри используется tuProlog, реализация Пролога. Хотите с Прологом пободаться ради "магазина"? Зачем? Есть: db4o, ObjectDB, java версия BerkleyDB. А на 99% уверен они быстрее будут чем neo4j Но и, магазинов на реляционных БД понаписано немеряно. Задача - типичнейшая. Смысл использовать нетипичные БД? Быстродействие? Да бросьте, вариантов тюнинга полно, но главное - у вас уже такие нагрузки? Или - "ожидаются в будущем"? Если в будущем - то советую все же вначале выдать первую рабочую версию, а не пытаться сразу стать амазоном. |
| Автор: gazdovsky 14.3.2012, 01:13 | ||
tuProlog не используется внутри нео, это отдельный проект, который использует нео как хранилище онтологий. Добавлено через 1 минуту и 45 секунд Мы используем нео в своем проекте, если интересно, велкам https://docs.google.com/document/d/1DrlUT30L1qeRcyjTxGi3Zu5IPUpI4ia3Uu7YHoDYMGE/edit# |