Обработка в базе данных - In-database processing - Wikipedia

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

История

Традиционные подходы к анализу данных требуют, чтобы данные были перемещены из базы данных в отдельную аналитическую среду для обработки, а затем обратно в базу данных. (SPSS из IBM являются примерами инструментов, которые все еще делают это сегодня). Выполнение анализа в базе данных, где хранятся данные, устраняет проблемы, связанные с затратами, временем и безопасностью, связанные со старым подходом, за счет выполнения обработки в самом хранилище данных.[2]

Хотя возможности внутри базы данных были впервые коммерчески предложены в середине 1990-х годов в виде объектно-ориентированных систем баз данных от поставщиков, включая IBM, Illustra /Informix (теперь IBM) и Oracle, технология стала популярной только в середине 2000-х годов.[3] Концепция переноса аналитики с аналитической рабочей станции в корпоративное хранилище данных впервые была представлена ​​Томасом Тилестоном в его презентации под названием «Съешьте свой торт и съешьте его! Ускорьте интеллектуальный анализ данных с помощью SAS и Teradata »на Терадата Партнеры 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]

Продавцы

Обработка в базе данных выполняется и продвигается как функция многими крупными поставщиками хранилищ данных, включая ТерадатаСистемы данных Aster, которую она приобрела), IBM (с ее Netezza, PureData Systems и Db2 склад продукты), IEMC Greenplum, Sybase, ParAccel, SAS и EXASOL. Некоторые из продуктов, предлагаемых этими поставщиками, например CWI's MonetDB или IBM Db2 Warehouse, предлагают пользователям средства для написания своих собственных функций (UDF) или расширений (UDX) для расширения возможностей продуктов.[10] Нечеткая логика предлагает библиотеки моделей в базе данных, используемых для математического, статистического, интеллектуального анализа данных, моделирования и классификации, а также финансовых моделей для оптимизации капитала, фиксированного дохода, процентной ставки и портфеля. Пионеры In-DataBase сотрудничает с отделами маркетинга и ИТ для институционализации процессов сбора и анализа данных в хранилище данных для быстрой, надежной и настраиваемой поведенческой и прогнозной аналитики.

Связанные технологии

Обработка в базе данных - одна из нескольких технологий, направленных на повышение производительности хранилищ данных. Другие включают параллельные вычисления, общие архитектуры, общие архитектуры и массивная параллельная обработка. Это важный шаг к улучшению прогнозная аналитика возможности.[11]

внешняя ссылка

Рекомендации

  1. ^ Что такое обработка в базе данных?, Мудрый Компьютерщик, получено 14 мая, 2012
  2. ^ а б Дас, Джойдип (10 мая 2010 г.), Добавление конкурентоспособных мышц с помощью аналитики в базе данных, Тенденции баз данных и приложения
  3. ^ Граймс, Сет (15 декабря 2008 г.), Аналитика в базе данных: проход для комплексного анализа, Интеллектуальное предприятие
  4. ^ http://www.itworldcanada.com/article/business-intelligence-taking-the-sting-out-of-forecasting/7193
  5. ^ http://www2.sas.com/proceedings/forum2007/371-2007.pdf
  6. ^ http://de.saswiki.org/wiki/SAS_Global_Forum_2007
  7. ^ «Архивная копия». Архивировано из оригинал на 2014-08-22. Получено 2014-08-21.CS1 maint: заархивированная копия как заголовок (связь)
  8. ^ http://www.teradata.kr/teradatauniverse/PDF/Track_2/2_2_Warner_Home_Thomas_Tileston.pdf
  9. ^ Кобелиус, Джеймс (22 июня 2011 г.), Сила прогнозов: примеры использования CRM Next Best Action, Форрестер
  10. ^ «Встроенный R в MonetDB». 22 декабря 2014 г.
  11. ^ [1] «Разве старые новости еще не обрабатываются в базе данных?», «Блог Тима Маннса (блог Data Mining)», 8 января 2009 г.