Задать вопрос

Какую СУБД посоветуете при работе с древовидными структурами данных?

Проект на стадии проектирования. Выбираю СУБД. Веб-сервер nginx с FastCGI (PHP), на борту Ubuntu server 12.10 x64. Это веб морда, которая позволяет пользователям редактировать некую информацию в базе данных. Основные данные в БД, похожи на большое дерево, где есть один корневой элемент с приличным количеством дочерних, а у дочерних свои дочерние и т.д…


Хотелось бы услышать совет, что выбирать.Так же, не хотелось бы, что-то совсем экзотическом, ведь мне нужно хранить небольшое количество не древовидных данных. Пользователи, тексты некоторых страниц и прочее.


Возможно это глупо, поскольку я мало компетентен в данном вопросе. Но я выбирал между MySQL и PostgreSQL.


Кроме того, очень важна сохранность БД. Хочу делать бекапы / репликации автоматически, и желательно на другой сервер. Хоститься буду наверно на каком нибудь VPS + куплю второй от другого хостинг провайдера, что бы туда бекапы сливать.
  • Вопрос задан
  • 4006 просмотров
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
@1nd1go
Neo4j — это правильный выбор для графов.

Касательно реализации в RDBMS, есть книга Joe Celko — Tree and Hierarchies in sql for smarties. Последнее слово должно намекать на противоречие с фразой из предыдущего ответа: «с помощью «традиционных» решений такую функциональность можно реализовать довольно легко.» :)
Ответ написан
Комментировать
@usetester
Postgresql кроме вышеперечисленых плюшек специально для работы с деревьями еще имеет расширение ltree. Postgres посложнее mysql, но по уровню функциональности сравнивать их сложно…
Ответ написан
Комментировать
@egorinsk
Не проще ли освоить алгоритмы вроде Nested Sets и подобных?
Ответ написан
Комментировать
shai_hulud
@shai_hulud
Очень советую MongoDB, хранит деревья(называются документами), умеет строить запросы по документам. Но есть 2 нюанса:
— Нет транзакций (есть атомарные операции обновления)
— Нет знакомого языка запросов (SQL)

Основные идеи монгодб:
www.mongodb.org/display/DOCS/Philosophy

По перфомансу — на выборки будет быстрее Postgre с рекурсивными запросами. На запись будет всегда быстрее Postgre. Это согласно тестам которые мы проводили.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Synapse AI Москва
от 120 000 ₽
ITK academy Нижний Новгород
от 75 000 до 120 000 ₽
от 180 000 до 250 000 ₽