НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Как обойти ограничения Microsoft SQL Server 2012

Лицензионно корректно, конечно. И что нового ждать от Microsoft в сфере обработки баз данных.

[spoiler]Glenn Berry, специалист по MS SQL-серверу и активный приверженец этой СУБД, выразил в своем блоге недовольство ограничениями стандартной редакции.

Он отмечает, что идеальнее сразу покупать Enterprise Edition, которая содержит множество нужных фич, однако далеко не всем корпоративная редакция по карману. А одно из важных ограничений Standard Edition таково: можно использовать не более 64 Гб ОЗУ. Но двухпроцессорный сервер вполне можно оборудовать сотнями Гб ОЗУ, а потенциально SQL 2012 SE может использовать до 4 Тб (!) оперативки. И второе ограничение: SQL-сервер может работать на максимум 4 процессорах/16 ядрах.

Michael Campbell предлагает два пути обхода главного ограничения на ОЗУ.

1. Именованные инстансы. Ограничение на максимально доступную (64 Гб) память просто напрямую прошито в самом коде сервера, в чем признается сама Microsoft:

These limits apply to a single instance of SQL Server. They represent the maximum compute capacity that a single instance will use. They do not constrain the server upon which the instance may be deployed. In fact deploying multiple instances of SQL Server on the same physical server is an efficient way to use the compute capacity of a physical server with more sockets and/or cores than the capacity limits below.

То есть возможно запустить на одном физическом сервере множество именованных инстансов, дабы "покрыть" всю доступную оперативку. Понятно, что общая архитектура прикладной системы усложнится, но с другой стороны, этот подход даже более корректный -- фактически, создается так называемый "виртуальный шард", отлично масштабирующийся и скрывающий внутри себя реальные копии СУБД.

2. Фактически об этом и второй вариант - консолидация БД в контексте виртуализации. Лучше всего для этого конечно подходит все же Enterprise Edition -- и в критически важных процессах конечно лучше использовать корпоративную функциональность на всю катушку (прозрачное шифрование, автоматическая перестройка индексов, контроль измененных данных итд), но в то же время для множества второстепенных задач тратить дополнительные десятки тысяч долларов весьма накладно.
На помощь приходит виртуализация -- запускаете стандартную редакцию SQL Server в виртуальной машине, а таких ВМ можно стартовать на физическом сервере нужное число. Автор отмечает, что таким образом ему удалось выстроить систему на базе SE общей стоимостью 3 тыс. долл., а по лицензии Enterprise Edition она обошлась бы в 18 тыс. долл.

В дополнение, интересное интервью с Дэвидом Кэмпбеллом, главой направления SQL Server в Microsoft, по поводу СУБД этой корпорации.

Он выделяет два фундаментальных тренда в Больших данных: стоимость получения данных -- стремится к нулю (всевозможные датчики генерируют сегодня безумные объемы подробной, но сырой информации), и стоимость хранения этих сырых данных, которая также стремится к нулю. В этой связи Microsoft делает крайне серьезную ставку на технологию Hadoop, при этом конечно в своем стиле выпуская собственную версию (которая будет ли совместима с Hadoop от Apache на 100%, пока непонятно) -- HDInsight.

Тем более, что речь идет об облаках, которые с точки зрения разработчиков и переносимости наработанного друг с другом сегодня слабо совместимы. Готовятся же в этом контексте PolyBase (стыковка HDInsight с SQL Server), SQL Server Parallel Data Warehouse и транзакционная СУБД в памяти Hekaton.