США: Microsoft обещает феноменальный рост производительности в SQL Server 2014

0

Следующая версия системы управления реляционными базами данных производства Microsoft обещает значительно ускорить работу с данными в системах обработки онлайновых транзакций (OLTP). Как рассказали в Microsoft, SQL Server 2014 получит новый OLTP-движок, который будет работать в режиме in-memory. В его основе находится технология Heckaton, разработанная в Microsoft Research.


“Мы создаем систему процессинга транзакций как часть баз данных, это больше не отдельный продукт, но отдельная программа, взимодействующая с СУД”, – говорит Квентин Кларк, корпоративный вице-президент Microsoft SQL Server. По его словам, интеграция OLTP в основную структуру СУБД обеспечит беспрецедентно низкие задержки при работе с данными, а также очень высокую масштабируемость.

Microsoft разработала технологию Heckaton как технологию in-memory, но в отличие от других похожих технологий, например от Oracle TimesTen, она не размещает в оперативной памяти сервера всю базу данных для ускорения работы, а выборочно размещает наиболее востребованные элементы. В Microsoft говорят, что лабораторные тесты показали почти 50-кратное ускорение транзакций, а клиенты, которые тестировали технологию в своих БД говорят о 16-кратном ускорении производительности. В дополнение к ускорению системной производительности, SQL Server 2014 также сможет снизить расходы на оборудование, так как здесь реализованы технологии, позволяющие снизить нагрузку на процессоры и избавить клиентов от покупки дополнительного оборудования.

Традиционно, каждый раз когда OLTP-система проводит транзакцию, ее результаты пишутся или считываются из соответствующего ряда в базе, записанной на жестком диске. Однако если базу разместить в ОЗУ, то производительность значительно возрастет. Однако на практике, это требует очень дорогого оборудования с огромным объемом оперативной памяти. Hekaton имеет интеллектуальную систему выборочного размещения данных в ОЗУ, что экономит память. Здесь система передвигает в ОЗУ наиболее “горячие” данные, которые получают большинство запросов на чтение/запись.

Чтобы определить “горячие” данные у алгоритма есть специальное диагностическое приложение, которое постоянно изучает запросы и рекомендует, какие именно данные нужно сдвинуть в ОЗУ. При этом, СУБД по-прежнему гарантирует целостность запросов и гарантирует, что каждая транзакция будет завершена, даже если сервер теряет питание, так как данные о транзакциях предварительно пишутся в бинарные журналы.

Hekaton постоянно анализирует журналы, изучает процедуры и операторы в них, чтобы подобрать наиболее оптимальный режим. Кроме того, наиболее “тяжелые” и частные запросы алгоритм кодирует в двоичный код, чтобы не выполнять их снова и снова. Еще одной сильной стороной Hekaton является то, что сервер определяют механизм блокировки для записи данных. Традиционно СУБД блокируют таблицу, когда нужно обновить один из ее столбцов, что создает задержки при работе других запросов к этой же таблице. Тогда как в Hekaton блокировка идет на уровне страниц данных в ОЗУ, что не снижает скорости работы таблицы. Здесь даже не происходит блокировки ни одного ряда данных, но конфликты полностью исключены, говорят в Microsoft.

По словам представителей корпорации, в реальности, новшества, реализованные в SQL Server 2014, позволяют СУБД на современном сервере делать не 15000 транзакций в секунду, а около 250000. Ранее стало известно о том, что превью версия SQL Server 2014 выйдет в конце июня, а релизная версия продукта в будущем году. (Microsoft/NovostIT)