В базе данных, обработки , иногда упоминаются как в базе данных-аналитике , относится к интеграции данных аналитических в хранилищах данных функциональности. Сегодня многие большие базы данных, например, используемые для обнаружения мошенничества с кредитными картами и управления рисками инвестиционных банков , используют эту технологию, поскольку она обеспечивает значительное повышение производительности по сравнению с традиционными методами. [1]
История
Традиционные подходы к анализу данных требуют, чтобы данные были перемещены из базы данных в отдельную аналитическую среду для обработки, а затем обратно в базу данных. ( SPSS от IBM являются примерами инструментов, которые все еще делают это сегодня). Выполнение анализа в базе данных, где хранятся данные, устраняет затраты, время и проблемы безопасности, связанные со старым подходом, за счет выполнения обработки в самом хранилище данных. [2]
Хотя возможности внутри базы данных были впервые коммерчески предложены в середине 1990-х годов как объектно-ориентированные системы баз данных от таких поставщиков, как IBM, Illustra / Informix (теперь IBM) и Oracle , эта технология не стала популярной до середины 2000-х годов. [3] Концепция переноса аналитики с аналитической рабочей станции в корпоративное хранилище данных была впервые представлена Томасом Тилестоном в его презентации под названием «Съешьте и съешьте! Ускорьте интеллектуальный анализ данных, объединяя SAS и Teradata »на конференции Teradata Partners 2005« Испытайте возможности »в Орландо, Флорида, 18–22 сентября 2005 г. Позднее г-н Тилестон представил этот метод во всем мире в 2006 г. [4] 2007 г. [5] [ 6] [7] и 2008 г. [8]
На тот момент потребность в обработке в базе данных стала более насущной, поскольку объем данных, доступных для сбора и анализа, продолжает экспоненциально расти (в основном из-за роста Интернета), от мегабайт до гигабайт, терабайт и петабайт. Эти « большие данные » - одна из основных причин, по которой стало важным собирать, обрабатывать и анализировать данные эффективно и точно.
Кроме того, скорость бизнеса увеличилась до такой степени, что увеличение производительности на наносекунды может иметь значение в некоторых отраслях. [2] Кроме того, поскольку все больше людей и отраслей используют данные для ответа на важные вопросы, вопросы, которые они задают, становятся более сложными, требуя более сложных инструментов и более точных результатов.
Сочетание всех этих факторов привело к необходимости обработки в базе данных. Внедрение базы данных с ориентацией на столбцы , специально разработанной для аналитики, хранилищ данных и отчетности, сделало эту технологию возможной.
Типы
Существует три основных типа обработки в базе данных: преобразование модели в код SQL, загрузка библиотек C или C ++ в пространство процесса базы данных в виде встроенной пользовательской функции (UDF) и обычно написанные внепроцессные библиотеки. в C, C ++ или Java и зарегистрировать их в базе данных как встроенные UDF в операторе SQL.
Перевод моделей в код SQL
В этом типе обработки в базе данных прогнозная модель преобразуется из исходного языка в SQL, который может выполняться в базе данных, как правило, в хранимой процедуре . Многие инструменты построения аналитических моделей имеют возможность экспортировать свои модели в SQL или PMML (язык разметки прогнозирующего моделирования). После того, как SQL загружен в хранимую процедуру, значения могут быть переданы через параметры, и модель будет выполняться изначально в базе данных. Инструменты, которые могут использовать этот подход, включают SAS, SPSS, R и KXEN.
Загрузка библиотек C или C ++ в пространство процесса базы данных
В библиотеках UDF C или C ++, которые выполняются в процессе, функции обычно регистрируются как встроенные функции на сервере базы данных и вызываются, как любая другая встроенная функция в операторе SQL. Запуск в процессе позволяет функции иметь полный доступ к памяти сервера базы данных, параллелизму и возможностям управления обработкой. Из-за этого функции должны работать правильно, чтобы не оказывать негативного воздействия на базу данных или движок. Этот тип UDF обеспечивает наивысшую производительность среди всех методов OLAP, математических, статистических, одномерных распределений и алгоритмов интеллектуального анализа данных.
Вне процесса
Внепроцессные UDF обычно пишутся на C, C ++ или Java. Выполняя процесс, они не подвергаются такому же риску для базы данных или движка, как они работают в собственном пространстве процессов со своими собственными ресурсами. Здесь не ожидается, что они будут иметь такую же производительность, как внутрипроцессный UDF. Они по-прежнему обычно регистрируются в ядре базы данных и вызываются через стандартный SQL, обычно в хранимой процедуре. Внепроцессные UDF - это безопасный способ расширить возможности сервера базы данных и идеальный способ добавления пользовательских библиотек интеллектуального анализа данных.
Использует
Обработка в базе данных делает анализ данных более доступным и актуальным для высокопроизводительных приложений реального времени, включая обнаружение мошенничества, кредитный рейтинг, управление рисками, обработку транзакций, анализ цен и маржи, микросегментацию на основе использования, таргетинг на поведенческую рекламу и рекомендации механизмы, такие как те, которые используются организациями по обслуживанию клиентов для определения следующих лучших действий. [9]
Продавцы
Обработка в базе данных выполняется и продвигается как функция многими крупными поставщиками хранилищ данных, включая Teradata (и Aster Data Systems , которую она приобрела), IBM (с ее продуктами Netezza , PureData Systems и Db2 Warehouse ), IEMC Greenplum , Sybase , ParAccel , SAS и EXASOL . Некоторые продукты, предлагаемые этими поставщиками, например MonetDB от CWI или Db2 Warehouse от IBM, предлагают пользователям средства для написания собственных функций (UDF) или расширений (UDX) для расширения возможностей продуктов. [10] Fuzzy Logix предлагает библиотеки моделей в базе данных, используемых для математического, статистического, интеллектуального анализа данных, моделирования и классификации, а также финансовые модели для оптимизации собственного капитала, фиксированного дохода, процентной ставки и портфеля. In-DataBase Pioneers сотрудничает с отделами маркетинга и ИТ для институционализации процессов интеллектуального анализа данных и аналитики в хранилище данных для быстрого, надежного и настраиваемого поведения потребителей и прогнозной аналитики.
Связанные технологии
Обработка в базе данных - одна из нескольких технологий, направленных на повышение производительности хранилищ данных. Другие включают параллельные вычисления , архитектуры с общим доступом, архитектуры без общего доступа и массивную параллельную обработку . Это важный шаг к улучшению возможностей прогнозной аналитики . [11]
Внешние ссылки
Рекомендации
- ^ Что такое обработка в базе данных? , Мудрый Гик , получено 14 мая 2012 г. CS1 maint: обескураженный параметр ( ссылка )
- ^ а б Дас, Джойдип (10 мая 2010 г.), « Повышение конкурентоспособности с помощью аналитики в базе данных, тенденций в базах данных и приложений»
- ^ Граймс, Сет (15 декабря 2008 г.), Аналитика в базе данных: переходный путь для комплексного анализа , Intelligent Enterprise
- ^ http://www.itworldcanada.com/article/business-intelligence-taking-the-sting-out-of-forecasting/7193
- ^ http://www2.sas.com/proceedings/forum2007/371-2007.pdf
- ^ http://de.saswiki.org/wiki/SAS_Global_Forum_2007
- ^ «Архивная копия» . Архивировано из оригинала на 2014-08-22 . Проверено 21 августа 2014 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ http://www.teradata.kr/teradatauniverse/PDF/Track_2/2_2_Warner_Home_Thomas_Tileston.pdf
- ^ Кобелиус, Джеймс (22 июня 2011 г.), Сила прогнозов: примеры использования CRM Next Best Action , Forrester
- ^ «Встроенный R в MonetDB» . 22 декабря 2014 г.
- ^ [1] «Разве старые новости еще не обрабатываются в базе данных?», «Блог Тима Маннса (блог интеллектуального анализа данных)», 8 января 2009 г.