
В последние годы резкий рост объемов оперативной памяти (RAM) в серверных системах стал реальностью.
Объем 512 ГБ оперативной памяти на сервере начального уровня и терайбайты оперативной памяти на промышленных серверах уже не вызывают удивления.
И теперь, с одной стороны, можно увеличить объем данных для кэширования и уменьшить количество операций ввода-вывода с медленным диском, но с другой — не так все просто. Вы ставите больше памяти, увеличиваете объем кэша, а система работает медленнее: ведь чем больше кэш, тем выше накладные расходы на его сопровождение, включая процессорное время!
Технология In-Memory появилась в версии Oracle Database 12c и открыла по сути новую эру в ускорении приложений, причем не только Oracle, но и других поставщиков и собственных разработок клиентов. Она стала ответом на появление новых задач и нового операционного окружения и позволяет ускорить работу приложений в десятки, сотни и даже тысячи раз. Порядок зависит от того, как приложение работает с базой данных.
Как свидетельствуют факты, сегодня технология Oracle Database In-Memory достигла зрелости и готова для массового применения в промышленной среде. Например, компания SAP сертифицировала технологию Oracle Database In-Memory для использования со своими решениями, а недавние результаты подтвердили, почему.
Как же это работает?
Смысл Oracle Database In-Memory в том, что рядом с привычным буферным кэшем, который хранит строки таблиц и блоки индексов, находится новый кэш, точнее новая разделяемая область для данных в оперативной памяти, в которой данные из таблиц хранятся в колоночном формате! Причем данные одновременно активны и транзакционно согласованы. Все изменения, как обычно, сначала производятся в обычном буферном кэше, после чего отражаются в колоночном, или, как его называют зарубежные специалисты, «колумнарном» кэше.
Представление в колоночном формате в памяти автоматически используется СУБД Oracle Database 12c для выполнения аналитических запросов, ускоряя их выполнение в десятки и сотни раз.
Дополнительный продукт — Oracle Database In-Memory Advisor – помогает оценить применимость технологии Oracle Database In-Memory к конкретной базе данных. Он анализирует статистику работы базы данных и выдает рекомендации по размеру памяти, список таблиц, которые необходимо кэшировать в In-Memory Columnar Store.
Важно понимать, что Oracle Database In-Memory не требует переписывания приложений, в отличие от конкурирующих решений. Нет ограничений на SQL, не нужна миграция данных, технология готова для облака.
Бизнес-приложения Oracle, включая E-Business Suite, Siebel CRM, JD Edwards, полностью поддерживают Database In-Memory, причем для различных модулей достигается невиданное ранее ускорение от 100 до более чем 1000 раз!
А совсем недавно стандартный тест SAP BW-EML на одинаковом количестве процессорных ядер на программно-аппаратном комплексе Oracle Exadata с включенной технологией Oracle Database In-Memory и на SAP/R3 HANA показал, что Oracle Database оказалась вдвое быстрее. Кроме того, использовать функциональность in-memory в HANA можно только после серьезной модификации приложений, которые с ней работают, и база данных должна полностью умещаться в оперативную память. Теперь у клиентов есть факты для обоснованного выбора лучшей платформы базы данных для своих приложений SAP.
В России и СНГ у целого ряда заказчиков идет тестирование и апробация технологии Oracle Database In-Memory под разные решения. В крупной российской компании, которая занимается грузовыми перевозками, использование Oracle Database In-Memory ускорило выполнение некоторых запросов в 22 раза. Тестирование было проведено для приложений собственной разработки компании, причем размер базы данных составлял всего несколько сот гигабайт и под область колоночного хранения было выделено всего 30 Гб памяти. При этом не потребовалось никаких изменений приложения и аппаратных характеристик сервера! В другой крупной телекоммуникационной компании проведенное тестирование показало, что производительность приложения, работающего с базой данных с Oracle Database In-Memory увеличилась в четыре раза, скорость выполнения некоторых запросов выросла в 30 и более раз.
Технология Oracle Database In-Memory реализует уникальную «двухформатную» архитектуру, обеспечивающую быстрый анализ и высокопроизводительную OLTP-обработку. Эта опция позволяет обрабатывать не миллионы, а миллиарды строк в секунду и выполнять анализ непосредственно в базах данных OLTP, сокращая задержки и повышая точность. Oracle Database In-Memory легко развернуть с любым существующем бизнес-приложением, совместимым с Oracle Database 12c.