В чем превосходят базы данных? - PullRequest
2 голосов
/ 25 октября 2009

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

  • Присоединяйтесь, используя индексы
  • Фильтр по индексам
  • Заказ на минимальное количество столбцов

Есть еще что-нибудь, о чем вы можете подумать?

РЕДАКТИРОВАТЬ: Не стесняйтесь добавлять анти-паттерны базы данных, такие как:

  • Хранение и управление бинарными файлами
  • Обработка иерархических данных (большинство баз данных)

Примечание для разборчивых: я знаю разницу между базой данных и СУБД , но большинство людей не знают (или не удосуживаются) ее распознать, поэтому я ' м намеренно меняя понятия.

Ответы [ 3 ]

5 голосов
/ 25 октября 2009

Одна важная вещь, которую вы пропустили, была агрегатные функции : сумма, среднее, минимальное, максимальное, количество и т. Д. (По крайней мере, база данных должна действительно хорошо выполнять мин. , максимум, рассчитывать на индексированные столбцы).

4 голосов
/ 25 октября 2009

ну, есть самый очевидный:

хранить **** информацию в удобной, организованной и оперативной форме.

1 голос
/ 25 октября 2009

Чтобы добавить ответ Марка Рушакова, он может манипулировать данными, используя несколько агрегаций и группировок, для форматирования и подготовки необходимых данных.

Например, в MySQL у меня был запрос, который выбрал бы всех пользователей, которые вошли в систему, и число, которые вошли в систему для каждого времени суток (24-часовой формат), за период времени, чтобы увидеть, когда самый высокий нагрузка была.

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

Форматирование результатов важно. У меня нет причин превращать дату и время в строку, когда она может вернуться в виде строки, отформатированной по мере необходимости.

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