Будет ли какая-то польза от использования redis / nosql по сравнению с postgres для моего приложения для отслеживания ошибок? - PullRequest
0 голосов
/ 25 сентября 2010

Я делаю сайт для документирования ошибок браузера, где пользователи могут отправлять сообщения об ошибках, а пользователи могут предлагать решения / обходные пути для этих ошибок. У меня будут такие вещи, как:

  • скриншоты ошибок
  • браузерные движки рендеринга
  • браузеры
  • тегов для каждой ошибки
  • категории ошибок (CSS, HTML, JS)
  • решений на ошибку, которые включают фрагменты кода
  • обычная дата / время, автор, дата изменения

Так как я только начинаю этот сайт, мне не нужно будет масштабироваться. Мне просто интересно, являются ли данные более идеальными для чего-то вроде redis, или я должен придерживаться rdbms (в моем случае, Postgres)?

Ответы [ 2 ]

2 голосов
/ 26 сентября 2010

Информация об ошибках вращается вокруг продуктов и пользователей, и эти данные выигрывают от реляционной структуры.(Вы можете посмотреть на множество существующих баг-трекеров для примеров).Если вы обнаружите, что вам нужны иерархические структуры данных (например, redis наклоняется к), есть несколько различных реализаций древовидных структур в традиционном sql, и postgres предлагает некоторые дополнительные конструкции, такие как массивы и структуры ltree.Кроме того, в Postgres есть достаточно проверенные методы хранения двоичных данных (например, снимков экрана) и больших текстовых данных, которые в зависимости от вашего движка nosql могут быть не такими стабильными, как вы надеетесь.Я полагаю, что изучение другой системы может принести некоторую пользу (о, другие утверждают, что лучше изучать имеющиеся у вас инструменты), но с технической точки зрения преимущества не существует.

1 голос
/ 23 октября 2011

MySQL, а также команды разработчиков Postgress не рекомендуют хранить изображения и двоичные данные в базе данных.

Вместо этого вы можете хранить изображения в некотором каталоге, а имя файла может быть либо идентификатором из базы данных, либо md5 (ID + секрет), если вы беспокоитесь, что люди могут «взломать» систему и увидеть изображения, которые они не должны видеть.

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

Я большой поклонник Redis, но этот проект для меня больше похож на RDBMS.

...