Шаблоны проектирования данных / базы данных? - PullRequest
10 голосов
/ 20 октября 2010

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

Насколько мне известно, у нас есть RBMS и NoSQL вкусы баз данных категорий.Тем не менее, многие другие технологии (за исключением постоянного хранения данных) критически важны для реального использования данных, такие как memcached .Тем не менее, я не могу найти много общих шаблонов проектирования, которые должны использоваться, чтобы максимально использовать все архитектуры.

Есть ли у кого-нибудь ссылки на статьи о целых пакетах шаблонов проектирования, которые могут быть выполнены с использованием различных комбинаций компонентов системы базы данных?

Это не вопрос для лучших рекомендаций БД, таких как нормализация базы данных .Речь также не идет о том, как лучше всего использовать определенную технологию .

Какие шаблоны проектирования можно использовать для правильного сочетания странных технологий, чтобы использовать преимущества каждой из них для создания завершенного и эффективногосистемы?От кэширования, до CRUD, до масштабирования, до целостности данных.

Например, на небольших общих хостах я могу запускать такие вещи, как блоги, из SQLite, так как практически все они читают и не пишут.С другой стороны, некоторые проекты используют низкоуровневые VPS, и я могу использовать кэш MySQL + APC (в конце концов, это всего лишь один сервер) для потрясающей производительности при высокой скорости чтения / записи.С более чем одним VPS memcached является чемпионом!

Я также фанат MongoDB и PostgreSQL.Однако MongoDB не использует никаких ограничений ОЗУ, поэтому у вас должен быть отдельный сервер.Тем не менее, хранение больших объектов в MongoDB и оставление остальных важных данных в PostgreSQL - это беспроигрышный вариант.

Тем не менее, это все очень простые варианты проектирования.Крупномасштабные приложения разработаны с гораздо большей абстракцией для обеспечения масштабирования и уменьшения количества точек отказа.

1 Ответ

1 голос
/ 20 октября 2010

Я бы посоветовал прочитать о базах данных в целом, чтобы понять различные типы структур хранения , которые использовались.

Как только выИмея этот фон, становится проще сопоставить текущую технологию ( NoSQL ) со структурой хранения (без схемы, масштабируемой по горизонтали).

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