Самая эффективная многоуровневая система комментирования - PullRequest
0 голосов
/ 26 июня 2011

Я строю многоуровневую систему комментирования и мне нужно решение для быстрого чтения и записи.

Я изучил список смежности и вложенный набор, и мне кажется, что для моего конкретного сценария ни один из подходящих методов не подходит, поэтому я также ищу решения, не относящиеся к СУБД.

Чего бы я хотел достичь:

  • Отношения между родителями и детьми уровня Multy
  • Много чтений и много записей
  • Добавление / редактирование любого ребенка на любом уровне
  • Сортировка всего дерева по дате (старая / новая), счет для голосования

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

Знаете ли вы какие-либо другие техники, которые я мог бы использовать здесь? Может быть, другие типы баз данных?

1 Ответ

1 голос
/ 26 июня 2011

Большинство потоков комментариев очень малы по размеру ... меньше нескольких К. Поэтому вместо того, чтобы хранить каждый комментарий как отдельную запись в базе данных, вы можете сохранить весь граф комментариев как один объект. Это позволит очень быстро читать и писать дерево комментариев.

Этот метод очень хорошо подходит для общего кэша ala redis или memcached.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...