Классика баз данных - статьи

       

Что заботит пользователей?


По существу, требования пользователей не изменяются: они хотят всего сразу. И определение этого "всего" тоже не слишком изменяется: они хотят нулевых расходов, мгновенных ответов, бесконечной пропускной способности, бесконечной масштабируемости по отношению к числу поддерживаемых пользователей, линейной масштабируемости при добавлении машин, стопроцентной предсказуемости затрат и производительности, транзакций в стиле ACID, 100-процентной пригодности для чтения и написания запросов и возможности настройки системы к индивидуальным потребностям в любой момент времени с минимальными усилиями. В условиях, когда пользователи не могут иметь все сразу, изменяются приоритеты и ограничения. Коротко говоря, традиционную проблему оптимизации баз данных можно определить следующим образом:

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

Новую проблему оптимизиции баз данных можно определить следующим образом:

При заданных требованиях к производительности приложений (пиковая пропускная способность, предельно допустимое время ответа) требуется минимизировать требуемые аппаратные ресурсы и максимизировать согласованность данных.

Эти две проблемы не конфликтуют, и, очевидно, в новом мире применимы многие методы оптимизации традиционных систем баз данных. Однако, как показано в разд. 3 и 4, имеющиеся тонкие различия могут существенно повлиять на архитектуру системы. В табл.1 приведена сводка этих различий в формулировке проблемы. Эти различия немного более подробно описываются далее в этом разделе.

Характеристика Традиционные базы данных Новые базы данных
Затраты [$] фиксированные минимизируются
Производительность [секунды, число транзаций в секунду] оптимизируется фиксированная
Масштабируемость [число машин] максимизируется фиксированная
Предсказуемость [$ и секунды] - фиксированная
Согласованность [%] фиксированная максимизируется
Гибкость [число вариантов] - максимизируется
<

Содержание  Назад  Вперед