Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXIII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 17 января 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Шафигуллина А.Р. СИСТЕМЫ ОБРАБОТКИ ДАННЫХ В ОПЕРАТИВНОЙ ПАМЯТИ: ОТ ТЕОРИИ К ПРИМЕРАМ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXXIII междунар. студ. науч.-практ. конф. № 1(72). URL: https://sibac.info/archive/technic/1(72).pdf (дата обращения: 22.11.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

СИСТЕМЫ ОБРАБОТКИ ДАННЫХ В ОПЕРАТИВНОЙ ПАМЯТИ: ОТ ТЕОРИИ К ПРИМЕРАМ

Шафигуллина Алия Рашидовна

студент 3 курса, кафедра автоматизированных систем управления УГАТУ,

РФ, Уфа

Аннотация. Системы баз данных в памяти (In-Memory Data Systems) относятся к числу самых последних и перспективных технологий обработки больших данных (Big Data), разрабатываемых и выпускаемых либо в качестве совершенно новых распределенных систем, либо в качестве расширений старых монолитных (централизованных) систем баз данных. Как следует из названия, системы в памяти кэшируют все данные в специальные структуры памяти. Многие из них являются частью новой цепочки SQL и предназначены для преодоления разрыва между OLTP и OLAP в так называемых гибридных транзакционных аналитических системах (HTAP). Целью данной работы является рассмотрение двух систем данных в памяти: SQL Server и MemSQL.

Ключевые слова: OLAP, аналитическая нагрузка, In-Memory системы

 

1 Введение

С точки зрения сохранения и обработки данных, системы Big Data [1, c. 7] охватывают широкий спектр технологий, таких как хранилища данных NoSQL, экосистема Hadoop и NewSQL. In-memory системы [2, c. 7] являются одной из последних разработок технологий Big Data. Они призваны сократить разрыв между рабочими нагрузками OLTP (оперативная транзакционная обработка) [3, c. 7] и OLAP (оперативная аналитическая обработка) [4, c. 7] в единой системе, предлагая распределенную обработку и аналитику в реальном времени. Некоторые из них являются частью стандарта NewSQL [5, c. 7]. Они полагаются на систему распределенного кэша для ускорения обработки данных за счет ограничения узкого места на диске ввода-вывода. Поскольку цена памяти со временем постоянно снижалась, на рынке появился ряд технологий баз данных, позволяющих использовать преимущества структур в памяти. Технологии в оперативной памяти представляют собой либо новые фирменные распределенные системы (например, Spark, MemSQL, Apache Ignite, Geode, VoltDB), либо набор функций, добавляемый в классическую реляционную базу данных системы (Microsoft SQL Server и MySQL реализуют функции в памяти в своих корпоративных выпусках). Основное преимущество систем обработки данных в памяти касается скорости поиска и обработки данных. В настоящее время ограничения данной технологии связаны с отсутствием или плохой реализацией основных функций, таких как высокая доступность, хранение и транзакции. Системы данных в памяти имеют широкий спектр вариантов использования, от OLTP до OLAP, и даже смесь из этих двух - HTAP. В данной статье рассматриваются две популярные In-memory системы – MemSQL и Microsoft SQL Server.

2 Текущие продукты и исследования

Перемещение вычислений из ЦП в память в последние годы приобрело значительный интерес как решение для преодоления узкого места в пропускной способности и задержках за счет освобождения ЦП от некоторых его задач. В этой новой парадигме микросхемы памяти имеют возможности хранения и вычисления. Большие преимущества могут быть достигнуты благодаря параллелизму в виде кластеров в памяти, использующих мощность GPU (графического процессора) (например, Kinetica или SQream).

Сен и соавт. [6, c. 7] описывают методы оптимизации MemSQL для сложных аналитических запросов (требующих ответа в реальном времени) на основе эвристики, которая генерирует планы выполнения. Оптимизатор на основе затрат может использовать либо левое глубокое дерево, где результат объединения используется как внешний вход для следующего соединения, либо правое глубокое дерево, где результат объединения используется как внутренний вход для следующего присоединения. Последние называются кустарными планами и генерируются с помощью перезаписи запросов. Эффективность этих методов анализируется по запросам TPC-H и TPC-DS. Чен и Чанг [7, c. 7] считают, что встроенные функции памяти необходимы для платформ BI (Business intelligence) и аналитики Big Data. В документе указывается на ограничение реляционных СУБД при обработке полу структурированных данных. Среда распределенной обработки (например, Hadoop) кажется более подходящей для произвольного извлечения, анализа, индексации и анализа.

Основными проблемами управления корпоративными данными являются:

а. Необходимость поддержки системами данных OLTP, чтобы изменения данных в реальном времени автоматически распространялись в запросах,

б. Необходимость систем данных масштабироваться для обработки огромного количества данных и для поддержки рабочих нагрузок OLAP.

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

Платтнер [8, c. 7] анализирует возможность использования баз данных в памяти с использованием индекса columnstore для систем OLTP. Автор утверждает, что система OLAP извлекла бы наибольшую выгоду из столбчатого хранилища (путем доступа к меньшему количеству данных по сравнению с хранилищем строк). Кроме того, столбчатое хранилище может оказаться подходящим для приложений с интенсивным обновлением.

3. Системы In-memory

Базы данных NewSQL аналогичны реляционным базам данных, гарантируют свойство ACID (атомарность, согласованность, изолированность и надежность) транзакции и предлагают более высокую производительность для операций чтения и записи. Они также похожи на систему NoSQL, поскольку часто утверждается о повышенной производительности и интеграции для OLAP и OTLP. Системы NewSQL часто являются базами данных в памяти (IMDB).

Системы данных IMDB в основном предназначены для:

  • Ускорения хранения, извлечения и сортировки информации путем хранения всех записей в основной памяти,
  • Использования структуры данных, специально предназначенной для оперативной памяти, чтобы не было необходимости поддерживать и синхронизировать кэшированные копии данных,
  • Обеспечения достаточной скорости для преодоления разрыва OLAP-OLTP и избавления от необходимости предварительной агрегации данных,
  • Выполнения аналитики в реальном времени и понимания ситуации для оперативных транзакционных данных,
  • Поддержки ACID транзакций, многопользовательского доступа, запуска событий, уведомлений при реализации отраслевого стандарта SQL,
  • Упрощения внутренних алгоритмов оптимизации и выполнения меньшего количества инструкций процессором (относительно оптимизированных для диска систем данных),
  • Создания лучших планов выполнения с помощью структур данных памяти (в отличие от кэширования блоков данных, специфичных для СУБД).

В In-memory системах для хранения данных используется либо хранилище строк, либо столбцовое хранилище. Например, MemSQL использует формат строки, Oracle использует столбцовое хранилище, а SAP Hana хранит в памяти двойной формат. В хранилище строк можно легко добавлять новые данные. Однако, как недостаток, загрузка данных приводит к чтению не относящихся к делу блоков (поскольку блок данных хранит все столбцы записи). В столбчатом хранилище считываются только необходимые данные. Для хранения столбцов требуется меньше оперативной памяти, поскольку она может быть сжата. Хорошо подходит для аналитических запросов (GROUP BY). В то же время распаковка данных увеличит нагрузку на процессор, так как чтение большего количества столбцов потребует большего количества запросов.

В данном исследовании рассматриваются две системы: SQL Server и MemSQL. В то время как SQL Server является СУБД с функциями памяти, MemSQL является полноценной IMDB. Как говорится в официальной документации, MemSQL является распределенной реляционной базой данных как для одновременных транзакций, так и для крупной аналитики. Он использует SQL в качестве языка запросов без существенных отличий от популярных реализаций RDMBS.

MemSQL имеет простую и понятную архитектуру, состоящую из двух типов узлов: (1) узлы-агрегаторы: хранят метаданные распределенной системы, запросы маршрутов и сводные результаты, (2) конечные узлы: хранят данные и выполняют SQL-запросы, выданные агрегатором.

Лист - это экземпляр сервера MemSQL, состоящий из нескольких разделов. Каждый раздел является базой данных на этом сервере. Связь между листьями и агрегаторами осуществляется через SQL.

Microsoft SQL Server 2014 Enterprise Edition выпустила функцию в памяти, оптимизированную для OLTP. Она интегрирована в ядро базы данных. Есть две концепции, связанные с этой функцией: (1) оптимизированные для памяти таблицы (таблицы, которые полностью хранятся в памяти) и (2) встроенные хранимые процедуры, используемые для доступа к ним.

Решение Microsoft доступно только для корпоративной версии серверов баз данных. Следовательно, компании должны сравнить затраты на лицензирование с улучшениями производительности для определения возможности перехода на архитектуру в памяти.

4. Microsoft SQL Server vs MemSQL

SQL Server показывает наилучшие результаты по времени загрузки данных. MemSQL также показывает хорошие результаты, если данные помещаются в память. Если говорить о масштабируемости, это достигается обеими платформами, причем продолжительность загрузки данных коррелирует с масштабным коэффициентом. Размер требуемой памяти для данных показал, что MemSQL потребляет в три раза больше оперативной памяти, чем SQL Server, что является результатом проектирования структур данных в памяти.

Решение о переходе на корпоративные версии должно учитывать стоимость. В таблице 1 сравнивается стоимость стандартной и корпоративной версиями. Они не включают лицензию на обновление программного обеспечения и поддержку, которые связаны с дополнительными расходами.

Таблица 1.

Стоимость полной (корпоративной) vs стандартной версий продуктов в 2019 г

 

SQL Server

MemSQL

Standard Edition

$3,717

Бесплатно (не для использования в производстве)

Enterprise Edition

$14,256

$0.665 for r3.2xlarge

 

5. Заключение

Учитывая стоимость Enterprise Edition для обеих технологий (SQL Server и MemSQL), выигрыш в производительности может оказаться невозможным. В настоящее время функция оперативной памяти кажется довольно незрелой технологией и скорее маркетинговым шагом. Тем не менее, в долгосрочной перспективе она выглядит многообещающе и уже находится под пристальным вниманием. В последнее время появилось много продуктов, как коммерческих, так и с открытым исходным кодом: Apache Ignite, Apache Spark, Geode, Greenplum, Exasol, Sap Hana. Они предназначены не только для аналитических рабочих нагрузок, но и для устранения разрыва между OLTP и OLAP в новой концепции HTAP.

 

Список литературы:

  1. Introduction to Data Mining, Pang-Ning Tan, Michigan State University, Michael Steinbach, ISBN-13: 978-0321321367, 2006 – 792 c.
  2. Материал из Википедии — свободной энциклопедии, In-memory database, URL: https://en.wikipedia.org/wiki/In-memory_database (дата обращения: 16.01.2019)
  3. Материал из Википедии — свободной энциклопедии, OLTP, URL: https://ru.wikipedia.org/wiki/OLTP (дата обращения: 16.01.2019)
  4. Материал из Википедии — свободной энциклопедии, OLAP, URL: https://ru.wikipedia.org/wiki/OLAP (дата обращения: 16.01.2019)
  5. Understanding the New SQL: A Complete Guide, Jim Melton, Alan R. Simon, ISBN-13: 978-1558602458, 1993 – 536 c.
  6. The MemSQL query optimizer, J Chen, Journal Proceedings of the VLDB Endowment VLDB, Volume 9 Issue 13, September 2016, Pages 1401-1412
  7. Business intelligence and analytics: From big data to big impact, J Chen, Journal, Volume 36 Issue 4, 2012, 1165-1188
  8. The Impact of Columnar In-Memory Databases on Enterprise Systems, Hasso Plattner, URL: http://www.vldb.org/pvldb/vol7/p1722-plattner.pdf (дата обращения: 16.01.2019)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.