В информатике обработка в памяти является новой технологией для обработка данных, хранящихся в базе данных в памяти. Старые системы основывались на дисковом хранилище и реляционных базах данных с использованием языка запросов SQL, но они все чаще рассматриваются как неадекватные для соответствия бизнес-аналитике (БИ) нужды. Поскольку доступ к сохраненным данным осуществляется намного быстрее, когда они помещаются в оперативную память (RAM) или флэш-память, обработка в памяти позволяет анализировать данные в реальном время, что позволяет быстрее создавать отчеты и принимать решения в бизнесе.
При использовании дисковой технологии данные загружаются на жесткий диск компьютера в виде нескольких таблиц и многомерных структур, по которым выполняются запросы. Дисковые технологии - это системы управления реляционными базами данных (RDMS), часто основанные на языке структурированных запросов (SQL ), например SQL Server, MySQL, Oracle и многие другие. RDMS разработаны для требований обработки транзакций. При использовании базы данных, которая поддерживает вставки и обновления, а также выполнение агрегирования, объединения (типично для решений бизнес-аналитики) обычно очень медленные. Еще один недостаток заключается в том, что SQL предназначен для эффективной выборки строк данных, тогда как запросы BI обычно включают выборку частичных строк данных с тяжелыми вычислениями.
Для повышения производительности запросов создаются многомерные базы данных или кубы OLAP - также называемые многомерной оперативной аналитической обработкой (MOLAP). Создание куба - сложный и длительный процесс, и изменение структуры куба для адаптации к динамически меняющимся потребностям бизнеса может быть обременительным. Кубы предварительно заполнены данными для ответа на конкретные запросы, и, хотя они повышают производительность, они по-прежнему не подходят для ответов на специальные запросы.
Персонал информационных технологий (ИТ) тратит значительное время на разработку на оптимизацию баз данных, построение индексы и агрегаты, проектирование кубов и звездообразных схем, моделирование данных и анализ запросов.
Чтение данных с жесткого диска происходит намного медленнее (возможно, в сотни раз) по сравнению с чтением тех же данных из ОЗУ. Производительность сильно снижается, особенно при анализе больших объемов данных. Хотя SQL - очень мощный инструмент, выполнение сложных запросов занимает относительно много времени и часто приводит к снижению производительности обработки транзакций. Чтобы получить результаты за приемлемое время отклика, многие хранилища данных были разработаны для предварительного расчета сводок и ответов только на определенные запросы. Оптимизированные алгоритмы агрегирования необходимы для повышения производительности.
Обработка памяти может выполняться с помощью традиционных баз данных, таких как Oracle, DB2 или Microsoft SQL Server или через предложения NoSQL, такие как в памяти сетка данных, например, Hazelcast, Infinispan, Oracle Coherence или программное обеспечение ScaleOut. При использовании как базы данных в памяти, так и сетки данных вся информация изначально загружается в оперативную память или флэш-память вместо жестких дисков. С сеткой данных обработка происходит на три порядка быстрее, чем реляционные базы данных, которые имеют расширенные функциональные возможности, такие как ACID, которые снижают производительность в качестве компенсации за дополнительную функциональность. Появление баз данных, ориентированных на столбцы, которые хранят вместе схожую информацию, позволяет хранить данные более эффективно и с более высокими коэффициентами сжатия. Это позволяет хранить огромные объемы данных в одном и том же физическом пространстве, уменьшая объем памяти, необходимый для выполнения запроса, и увеличивая скорость обработки. Многие пользователи и поставщики программного обеспечения интегрировали флэш-память в свои системы, чтобы позволить системам более экономично масштабироваться до больших наборов данных. Oracle интегрирует флеш-память в продукты Oracle Exadata для повышения производительности. Microsoft SQL Server 2012 Программное обеспечение BI / Data Warehousing было объединено с массивами флэш-памяти Violin Memory, чтобы обеспечить обработку в памяти наборов данных размером более 20 ТБ.
Пользователи запрашивать данные, загруженные в память системы, тем самым избегая медленного доступа к базе данных и узких мест в производительности. Это отличается от кэширования, очень широко используемого метода повышения производительности запросов, тем, что кеши представляют собой подмножества очень конкретных заранее определенных организованных данных. С помощью инструментов, хранящихся в памяти, данные, доступные для анализа, могут иметь размер витрина данных или небольшое хранилище данных, которое полностью находится в памяти. К нему могут быстро получить доступ несколько одновременных пользователей или приложений на подробном уровне, и он предлагает потенциал для расширенной аналитики, а также для масштабирования и увеличения скорости приложения. Теоретически скорость доступа к данным увеличивается от 10 000 до 1 000 000 раз по сравнению с диском. Это также сводит к минимуму необходимость настройки производительности ИТ-персоналом и обеспечивает более быстрое обслуживание конечных пользователей.
Определенные разработки в компьютерных технологиях и бизнес-потребности имеют тенденцию увеличивать относительные преимущества технологии обработки в памяти.
Ряд продуктов в памяти обеспечивает возможность подключения к существующим источникам данных и визуальный доступ к ним. богатые интерактивные информационные панели. Это позволяет бизнес-аналитикам и конечным пользователям создавать настраиваемые отчеты и запросы без особой подготовки или опыта. Простая навигация и возможность изменять запросы на лету приносит пользу многим пользователям. Поскольку эти информационные панели могут быть заполнены свежими данными, пользователи имеют доступ к данным в реальном времени и могут создавать отчеты за считанные минуты. Обработка в памяти может быть особенно полезной в центрах обработки вызовов и управлении складом.
При обработке в памяти исходная база данных запрашивается только один раз вместо того, чтобы обращаться к базе данных каждый раз при запросе выполняется, что устраняет повторяющуюся обработку и снижает нагрузку на серверы баз данных. Планируя заполнение базы данных в оперативной памяти на ночь, серверы баз данных могут использоваться для рабочих целей в часы пик.
При большом количестве пользователей требуется большой объем оперативной памяти для конфигурации в памяти, что, в свою очередь, влияет на стоимость оборудования. Эти инвестиции, скорее всего, будут подходящими в ситуациях, когда скорость ответа на запрос является высоким приоритетом, и где наблюдается значительный рост объема данных и возрастает потребность в средствах отчетности; он все еще может быть нерентабельным, если информация не подвержена быстрым изменениям. Безопасность - еще одно соображение, поскольку инструменты в памяти предоставляют конечным пользователям огромные объемы данных. Производители советуют обеспечить доступ к данным только авторизованным пользователям.