По словам Дуга Лиланда, Hekaton — уже не первая попытка Microsoft интегрировать в свои продукты технологию обработки данных в оперативной памяти. Источник: Microsoft |
В следующей версии SQL Server появится возможность держать в оперативной памяти сервера отдельные таблицы или даже всю базу данных. «Любое приложение, вынужденное постоянно считывать данные с жесткого диска и записывать их туда снова, заметно выиграет, если данные разместить в оперативной памяти», – подчеркнул генеральный менеджер Microsoft Дуг Лиланд. В настоящее время корпорация и ряд ее клиентов занимаются тестированием технологии управления данными в памяти, разрабатываемой под кодовым наименованием Hekaton.
Держа таблицу базы данных в памяти, сервер может выполнять транзакции гораздо быстрее, потому что ему не приходится ни считывать данные с диска, ни записывать их обратно. По оценкам Microsoft, размещение данных в оперативной памяти позволит выполнять транзакции в 50 раз быстрее по сравнению со стандартным механизмом SQL Server.
«Технология Hekaton предназначена для ускорения оперативной обработки транзакций, которая широко используется в электронных банковских системах, системах ERP и других решениях, предусматривающих интенсивный обмен данными с диском, – указал Лиланд. – Hekaton функционирует только на одном сервере, но на объем оперативной памяти при этом никаких жестких ограничений не накладывается, и система может использовать столько памяти, сколько способен вместить в себя этот сервер».
Hekaton в полной мере отвечает требованиям ACID (atomicity, consistency, isolation, durability – «атомарность, непротиворечивость, изолированность, устойчивость»), предъявляемым к системам управления базами данных реляционного типа. Журналы последовательно выполняемых транзакций сохраняются в оперативной памяти и периодически записываются на диск. Программное обеспечение использует ряд алгоритмов сжатия, позволяющих уместить в памяти больше данных. Например, информация может записываться в колоночное хранилище, объединяющее данные одного типа.
Чтобы упростить администраторам баз данных задачу обработки данных в памяти, разработчики новой версии SQL Server включили в состав своего программного продукта инструментрий, позволяющий выбирать размещаемые в оперативной памяти базы данных или отдельные их таблицы. Никаких изменений в приложения, обращающиеся к этим базам данных, вносить не придется. Кроме того, Hekaton сможет компилировать хранимые процедуры, которые тоже будут размещаться в памяти. «Появится возможность скомпилировать хранимые процедуры и держать их в памяти в виде машинного кода», – пояснил Лиланд.
Технологии обработки данных в памяти завоевывают все большую популярность у организаций, которым нужна высокая скорость операций с данными. К таким решениям относятся, в частности, системы Oracle Exadata и SAP HANA. Интеграция технологии обработки данных в оперативной памяти в SQL Server упростит ИТ-архитектуру клиентов, избавив их от необходимости искать и поддерживать автономные продукты такого рода.
По словам Лиланда, это уже не первая попытка Microsoft интегрировать в свои продукты технологию обработки данных в оперативной памяти. Она используется, в частности, в компонентах PowerPivot и Power View, позволяющих быстро оперировать большими объемами данных в Excel.
Представители Microsoft анонсировали новую технологию на конференции Professional Association for SQL Server (PASS) Summit, проходившей в Сиэтле. Здесь же был представлен и ряд других новых продуктов.
Было объявлено о скором появлении очередной версии программно-аппаратного комплекса SQL Server 2012 Parallel Data Warehouse (PDW). Новый механизм обработки данных PolyBase позволит выполнять запросы как к реляционным, так и к нереляционным базам данных, управляемым Apache Hadoop. Запросы Hadoop будут передаваться через программное обеспечение поддержки хранилищ данных Apache Hive.
Кроме того, корпорация выпустит пакет обновлений SQL Server 2012 SP1 (Service Pack 1), в который помимо других возможностей войдет функция, позволяющая пользователям Excel 2013 работать с данными SQL Server напрямую.
О конкретных сроках выпуска следующей версии SQL Server пока не сообщается.