Oracle Database 10g: интеграция и способность информации к соединению Краткий обзор По мере изменения бизнес-приоритетов компаний, им часто приходится сталкиваться с проблемой приведения ресурсов компании в соответствие с изменяющимися бизнеспотребностями. Oracle Database 10g предлагает устойчивое и полное решение для сетевых (grid) вычислений, которое дает компаниям возможность легко перестраивать свои ресурсы. Критичным компонентом этих решений является интеграция информации, поскольку она дает возможность компаниям обращаться к информации в распределенной среде, когда и где это необходимо. Сюда входит взаимодействие между приложениями (или пользователями) базы данных Oracle с использованием очередей, репликация данных и доступ к распределенным данным и в гомогенных (однородных), и в гетерогенных (разнородных) средах. Способность к совместному использованию информации также является критичным компонентом интеграции информации. Новые технологии высокоскоростных внутренних соединений, типа InfiniBand, могут значительно повысить производительность сети. Введение С течением времени бизнес-приоритеты изменяются. Предприятия реорганизуются, приобретают другие предприятия, “наращивают мускулы” некоторых приложений и сокращают использование других. При всех этих изменениях компании сталкиваются с проблемой эффективного и экономного предоставления своих ресурсов для приведения их в соответствие с бизнес-приоритетами. Чтобы получить данные там, где вы этого хотите, и когда вы испытываете в них необходимость, требуются сложные технологии интеграции информации. Oracle Database 10g предлагает устойчивые и полные решения для разрешения всех ваших требований к интеграции информации. Эти решения обеспечивают доступ к информации тогда и в том месте, где в ней возникает необходимость, оптимизируя доступ к этой информации независимо от ее физического местоположения. Они интегрируют информацию во всей распределенной среде, будь то в пределах grid, или для нескольких автономных систем, или для некоторой их комбинации. Эта статья затрагивает вопросы интеграции информации с использованием распределенного SQL, Oracle Streams, Oracle Transparent Gateways и других возможностей переноса данных. Oracle Streams предлагает единую унифицированную среду для совместного использования данных, включая организацию очереди обмена сообщениями и репликацию. Oracle Transparent Gateways делает возможным прозрачный доступ из среды Oracle к системам других производителей. InfiniBand – решение для высокоскоростного внутреннего соединения – предлагает сетевую технологию нового поколения для обеспечения соединений. Далее в этой статье описывается, как эти характеристики делают возможным не только эффективную интеграцию информации и возможность взаимодействия, но и эффективное предоставление данных для grid-вычислений. Требования к интеграции информации Имеется несколько причин, по которым компания могла бы заинтересоваться решением для интеграции информации. Возможно, компания недавно подверглась слиянию с другой компанией или была приобретена другой компанией, или же, возможно, у руководства возникло желание обмениваться данными со своим бизнес-партнером. Решения для интеграции информации позволяют таким компаниям самым эффективным образом использовать свои вычислительные ресурсы путем: Обмена данными между гомогенными и гетерогенными базами данных Разрешения взаимодействия между приложениями 1 Обмена информацией с заказчиками, партнерами и поставщиками Репликации данных между базами данных Решение для интеграции информации улучшает принятие решений, обеспечивая интегрированное представление данных, независимо от того, где эти данные фактически расположены. Такое решение обеспечивает повышенную эффективность эксплуатации, позволяя нескольким приложения работать совместно. В конечном счете, это может привести к повышению эффективности деятельности отдела ИТ, а также к сокращению количества источников данных и улучшению взаимодействия и сотрудничества среди оставшихся источников. Решения для интеграции информации Для разрешения этих изменяющихся требований Oracle Database 10g предлагает множество решений интеграции информации. Консолидация – Все данные перемещаются в единую базу данных и управляются из единого центра. Объединение – Пользователям кажется, что данные интегрированы в единую виртуальную базу данных, в то время как фактически сохраняется их текущее местоположение. Совместное использование – В нескольких базах данных и хранилищах данных приложения поддерживается несколько копий информации. Консолидация Oracle Database 10g позволяет консолидировать гетерогенную информацию в единую базу данных с хорошей масштабируемостью. Oracle поддерживает все типы данных, включая аудио, видео, XML, электронную почту, сообщения и прочие типы, и выполняется почти на любой платформе – от Windows и Linux до Tru64. Хотя консолидация предлагает самую простую форму интеграции информации, достигнуть ее весьма часто оказывается самым трудным делом. Некоторые отделы могут не желать (или в случае некоторых унаследованных систем оказываются неспособны) консолидировать свои данные. Вместо этого большинство компаний предпочитает консолидировать данные в несколько (обычно, небольшое число) баз данных. Сокращение общего числа баз данных позволяет таким компаниям понизить административные затраты за счет сокращения полного числа серверов и баз данных, которыми следует управлять. Кроме того, за счет однократного развертывания (ну, может быть, эту процедуру придется повторить несколько раз) приложений, компании могут достигнуть более быстрого развертывания приложений. И, наконец, так как запросы к централизованным данным выполняются быстрее, эти компании будут иметь ускоренный доступ к глобальным данным, что делает консолидацию идеальной стратегией для приложений систем анализа бизнес-информации и хранилищ информации. Oracle Database 10g предлагает заказчикам, желающим консолидировать свою информацию, целый ряд возможностей, в том числе, Oracle Real Application Clusters (RAC), поддержку больших баз данных, базы данных XML, виртуальные частные базы данных (VPD), секционирование, LOB и BFILE, инструментальные средства загрузки и миграции и многие другие. Real Application Clusters (RAC) – RAC дает возможность одной базе данных выполняться на нескольких сгруппированных узлах, позволяя совокупности недорогих компьютеров или серверов-лезвий достигать производительности дорогой машины с SMP. Используя для обеспечения распределения рабочей нагрузки между узлами и общедоступные диски, и общедоступный кэш, RAC обращается к дискам намного реже, 2 чем другие кластерные базы данных. Более того, по мере добавления узлов к базе данных производительность RAC масштабируется почти линейно. Поддержка больших баз данных – Oracle Database 10g теперь поддерживает единую базу данных объемом до 8 миллионов терабайтов данных. Это фактически снимает любые ограничения на максимальный размер вашей консолидированной базы данных. Можно также записывать данные в значительно большие по размеру файлы, уменьшая тем самым количество файлов в больших базах данных. Дополнительно, табличное пространство Bigfile (для больших файлов) упрощает управление файлами данных в больших базах данных, минимизирует связанные с наличием большого числа файлов данных проблемы с масштабируемостью и упрощает управление хранением за счет использования таких опций как автоматическое управление памятью (Automatic Storage Management – AUM) и управляемые Oracle файлы (Oracle Managed Files – OMF). База данных XML – База данных XML успешно справляется с высокопроизводительной записью и выборкой данных XML. Для хранения и управления данными XML Oracle XML DB обеспечивает независимую от среды хранения инфраструктуру, не зависящую от контента и языка программирования. Среди многих возможностей базы данных XML можно отметить "родной" тип данных XML, навигационный доступ и поиск XML, стандартный доступ через API и управление WebDAV для XML. Инструментальные средства миграции – Oracle предлагает широкий спектр механизмов для миграции вашей информации в консолидированную базу данных, включая переносимые табличные пространства и утилиту Data Pump. Переносимые табличные пространства позволяют вам быстро переносить или копировать подмножество одной базы данных Oracle в другую базу данных Oracle, даже если они находятся на различных платформах. Когда вам требуется более тонкая степень детализации, используйте Data Pump, которая позволяет выбирать объекты для перемещения и по желанию планировать состав и размещение схем, файлов данных и табличных пространств. Виртуальная частная база данных – VPD делает возможной консолидацию между доменами защиты, предлагая детальный доступ к строкам внутри базы данных. Секционирование – Возможности секционирования производительность, доступность и управляемость больших переписывания приложения. Oracle таблиц, повышают не требуя Объединение При объединении (federation) информация остается в ее первоначальном местоположении, где она поддерживается и модифицируется, как обычно. Множество источников данных кажутся интегрированными в единую виртуальную базу данных, маскируя количество и различия видов баз данных, стоящих за кулисами объединенного представления. Объединенное решение для баз данных Oracle позволяет получить доступ как к данным Oracle, так и к данным других производителей, равно как и к структурированным и неструктурированным данным, скрывая фактическое физическое местоположение данных от приложения. Поскольку нет необходимости переносить какую-либо информацию, объединение обеспечивает самый быстрый путь к интеграции информации; незначительные изменения приводят к немедленным результатам. Объединение обеспечивает также поддержку такой информации, которая хранится в унаследованных приложениях или приложениях, требующих наличия локального владельца, и просто не может быть консолидирована. Вы должны использовать объединение, чтобы поддержать создаваемую на заказ интеграцию нечасто используемой информации, обращения к которой достаточно редки. 3 Oracle Database 10g поддерживает множество источников данных и множество методов обращения к этим источникам данных. Доступ к данным с помощью Oracle Distributed SQL Распределенный Oracle SQL (Oracle Distributed SQL) создает распределенную систему баз данных, содержащую как базы данных Oracle, так и базы данных других производителей, которая кажется единой базой данных Oracle, маскируя от конечных пользователей физическое местоположение любого объекта. Компания может использовать эту возможность, чтобы заставить все свои базы данных выглядеть похожими друг на друга, и таким образом частично уменьшить сложность распределенной системы. Чтобы дать возможность пользователям одной из баз данных обращаться к объектам в удаленной базе данных, Oracle использует связи базы данных. Локальный пользователь может получить связь с удаленной базой данных, причем, для этого ему нет необходимости быть пользователем этой удаленной базы данных. Oracle Distributed SQL обеспечивает следующие преимущества: Прозрачность местоположения – Oracle позволяет разработчикам и администраторам приложений скрывать физическое местоположение объектов базы данных от приложений и пользователей, используя для этого синонимы, представления или хранимые процедуры. Пользователям не требуется знать физическое местоположение объектов базы данных, и администраторы могут переносить объекты, не оказывая воздействия на конечных пользователей или существующие приложения. Прозрачность SQL и COMMIT – Стандартные операторы SQL работают в архитектуре объединенной базы данных точно так же, как и в автономной среде. Используя двухфазное завершение транзакции, Oracle автоматически гарантирует, что полная транзакция будет или зафиксирована (commit), или откачена (rollback) назад во всех узлах. Этот механизм полностью прозрачен и не требует никакого сложного программирования или других специальных действий для обеспечения контроля над распределенными транзакциями. Оптимизация распределенных запросов – Oracle использует технологию оптимизатора для уменьшения количества необходимых передач данных между сайтами, когда транзакция отыскивает данные в удаленных таблицах, на которые ссылаются распределенные операторы SQL. Доступ к данным с помощью XQuery Корпорация Oracle является активным участником рабочей группы по XML Query консорциума W3C, которая занимается разработкой XQuery – стандарта выполнения запросов к XML. XQuery обеспечивает стандартный способ нахождения данных XML и управления ими. Данные XML имеют характеристики, которые не могут быть представлены с помощью реляционных таблиц, например, порядок элементов. Средство XQuery было разработано для обращения к данным XML, и, следовательно, имеет некоторые возможности, не присущие SQL. Если приходится иметь дело с данными XML, XQuery может уменьшить сложность приложения. В дополнение к запросам к данным XML, XQuery может также обращаться к реляционным данным. В сети технологий Oracle (Oracle Technology Network) предлагается реализация XQuery, базирующаяся на сложившихся стандартах. Заказчики могут бесплатно загрузить эту реализацию и использовать ее для обращения к данным внутри и вне Oracle Database 10g. Доступ к гетерогенным данным 4 Доступ к гетерогенным данным является проблемой, затрагивающей многие компании. Многие из них эксплуатируют несколько различных систем баз данных. В каждой из этих систем хранятся данные и имеется набор приложений, которые выполняются с этими данными. Консолидация этих данных в одной системе баз данных часто оказывается тяжелой задачей – в значительной степени потому, что многие из приложений, которые выполняются для одной базы данных, могут не иметь эквивалента, который выполнялся бы для другой базе данных. До тех пор, пока не станет возможной миграция к одной консолидированной системе баз данных, необходимо обеспечивать взаимодействие для различных гетерогенных систем баз данных. Проблема состоит в том, чтобы через единственное приложение быстро, эффективно и экономно развернуть данные, которые могут существовать на многих несопоставимых системах, обеспечивая исчерпывающее представление данных, вне зависимости от базы данных или операционной системы. Корпорация Oracle предлагает спектр решений, обеспечивающих возможность связи, которые позволяют компании прозрачно интегрировать различные системы и обеспечивать консолидированное представление компании в целом. Generic Connectivity Решение Generic Connectivity является опцией базы данных, использующей драйвер ODBC или OLEDB для прозрачного обращения к любой системе, разработанной другими производителями и соответствующей техническим требованиям ODBC или OLEDB. Она решает потребности доступа к данным во многих хранилищах данных, для которых у Oracle отсутствуют решения межсетевого шлюза (gateway solutions), например, к MySQL, Foxpro, Access, dBase и нереляционным целевым объектам типа Excel. Oracle Transparent Gateways В отличие от решения Generic Connectivity, которое является универсальным решением, Oracle Transparent Gateways – это семейство специализированных решений, специально запрограммированных для систем других производителей. Они обеспечивают оптимизированное решение с большим количеством функциональных возможностей и лучшей производительностью, чем Generic Connectivity. Решение Generic Connectivity основано на отраслевых стандартах, тогда как Oracle Transparent Gateways обращается к системам других производителей, используя их "родные" интерфейсы. К тому же Transparent Gateways является от начала до конца сертифицированным решением. В корпорации Oracle созданы Transparent Gateways ко многим источникам, среди которых можно назвать Sybase, DB2, Informix, Microsoft SQL Server, Ingres и Teradata. Гетерогенная прозрачность И Generic Connectivity, и Oracle Transparent Gateways предлагают возможность прозрачно обратиться из среды Oracle к данным в системах от других производителей (не-Oracle). Прозрачность местоположения может быть также распространена на объекты, постоянно находящиеся в не-Oracle системах. Пользователи могут создать синонимы для объектов в хранилищах данных других производителей и обращаться к ним, не имея необходимости определить их физическое местоположение. Такая прозрачность устраняет необходимость прибегать к услугам разработчиков приложений для такой настройки приложения, чтобы оно могло обратиться к данным из различных систем других производителей, тем самым, уменьшая усилия по разработке и увеличивая мобильность приложений. Приложения могут быть построены поверх согласованного интерфейса Oracle и для систем Oracle и систем других производителей. Для гладкой способности к взаимодействию между несопоставимыми системами требуются преобразования SQL, преобразования словаря данных и преобразования типа данных, даже если не-Oracle системы базируются на стандартах SQL. И Generic 5 Connectivity, и Oracle Transparent Gateways имеют возможность преобразовать диалект одной системы к диалекту другой. Доступ к внешним файлам Вы можете сделать запрос к "родным" файлам XML, используя XQuery, или, если они могут быть отображены на строки и столбцы, используя SQL. Дополнительно, Oracle предлагает запросу возможность обратиться более чем к 100 различным типам файлов с помощью фильтров, которые преобразовывают эти файлы, чтобы они выглядели как XML. Опция внешних таблиц позволяет работать с плоскими файлами, которые постоянно находятся вне базы данных, обращаясь к ним точно так же, как и к реляционным таблицам, входящим в базу данных: к данным плоского файла можно делать запросы, их можно присоединять к другим таблицам, используя стандартный SQL. Для обеспечения максимальной масштабируемости может быть выбран последовательный или параллельный доступ к данным. С точки зрения пользователя, главное различие между внешней таблицей и обычной таблицами состоит в том, что внешняя таблица может быть использована только для чтения. Доступ к Web-сервисам как к источнику данных SQL В последнее время важной возможностью обмена данными между системами стали Web-сервисы. Web-сервис может быть приложением почти любого типа, которое может не только показать другим приложениям, что оно может делать, но и выполнить это действие для авторизованных приложений или сторон. База данных Oracle Database 10g может быть потребителем Web-сервисов; это значит, что она может вызывать внешний Web-сервис из классов Java, процедур PL/SQL и триггеров. Кроме того, Oracle может сделать так, что Web-сервис будет похож на источник строк SQL. Если сделать Web-сервис похожим на источник строк SQL, это позволит вам делать запросы к нему, используя SQL. В таком случае вы можете использовать много агрегатных функций SQL, чтобы с легкостью анализировать данные, предложенные Web-сервисом. Oracle Database 10g может также быть провайдером Web-сервисов. Oracle показывает многие операции базы данных, как Web-сервисы. Например, через Web-сервис можно сделать запрос к базе данных. Используя Web-сервис, можно также исполнить операцию обмена сообщениями, например, поставить или удалить сообщение в очередь Streams. Есть Web-сервисы, которые исполняют операторы языка DML -- обновления, вставки и удаления. Есть также Web-сервисы, которые могут вызывать процедуры и функции PL/SQL, возвращая их результаты в вызывающее Web-сервис приложение. Определение местонахождения информации с помощью UltraSearch Oracle UltraSearch предлагает единообразные возможности поиска и определения местонахождения для множества репозиториев – баз данных Oracle и других производителей, почтовых серверов IMAP, документов HTML, предоставляемых Webсервером, файлов на диске, и многих других. Поиск можно вести по метаданным документа, так же, как и по его содержимому. UltraSearch индексирует документы, перемещаясь, подобно червяку, по тем источникам, которые вы хотите проиндексировать. Вам доступны базы данных Oracle и другие любые источники, поддерживающие стандарт ODBC. UltraSearch делает возможным поиск в портале по контентным активам организации, пуская в ход основные возможности масштабируемости и надежности платформы Oracle. Например, представьте, что у вас имеется приложение, которое предлагает положение на бирже, цены, новости и информацию. Положение на бирже может основываться на традиционных источниках баз данных, последняя цена может быть получена из Web-сервиса, а новости и информация могут основываться на множестве структурированных и неструктурированных источников. UltraSearch может построить 6 для этих источников индекс, по которому возможен поиск. Это позволяет вам строить запрос, представляющий информацию, куда включено положение на бирже и цены, и связываться с релевантными новостями и информацией о каждой акции. Совместное использование По мере того, как компания растет и расширяется, все более и более важной для нее становится способность совместно использовать информацию из нескольких баз данных и приложений. Традиционно складывалось так, что компания выбирала из большого числа технологий совместного использования информации те, которые были нацелены на решение определенных бизнес-проблем. Хотя первоначально эти целевые решения, возможно, казались более легкими для использования и внедрения, как только потребности компании перерастали возможности простого целевого решения, они оказывались не в состоянии справляться со своими функциями. Внезапно оказывалось, что для построения решения разработчики должны внедрить несколько инструментальных средств, и сложность начинала расти экспоненциально. Как правило, компании должны интегрировать данные из широкого разнообразия источников. Они должны совместно использовать обновления OLTP, события базы данных и сообщения приложений, поскольку заказчики могут помещать заказы интерактивно, через сотрудников отделов продаж или даже через партнеров. Эту информацию, вообще говоря, следует направить широкому спектру адресатов, например, в гетерогенные реплицируемые базы данных, системы организации очередей сообщений, рабочую область хранилища данных, хранилища операционных данных, другие приложения и в резервную базу данных. Oracle обеспечивает разнообразные опции совместного использования информации, включая Oracle Streams, материализованные представления, переносимые табличные пространства и накачку данных (data pump). Эти опции позволяют разместить данные там, где к ним чаще всего обращаются, сокращая за счет этого время ответа и избавляясь от зависимости от удаленных хранилищ данных. Oracle Streams В основе любой интеграции лежит совместное использование данных в различных приложениях предприятия. Oracle Streams делает возможным распределение данных, транзакций и событий и управление ими в потоке данных или в пределах базы данных, или при передаче из одной базы данных в другую. Поток направляет опубликованную информацию по адресам подписки на нее. В результате получается опция, которая обеспечивает большие функциональные возможности и гибкость, чем традиционные решения для перехвата и управления событиями и совместного с другими базами данных и приложениями использования событий. В случае, если у пользователей изменяются потребности, они могут просто реализовать новую возможность Oracle Streams, не жертвуя имеющимися возможностями. Как показано на следующей иллюстрации, Oracle Streams предлагает набор элементов, которые позволяют пользователям управлять тем, какая информация будет помещена в поток, как течет этот поток, или как он направлен от узла к узлу, что случается с событиями в потоке, пока они текут в каждый узел, и как заканчивается поток. Определяя конфигурацию элементов, действующих в потоке, пользователь может разрешить конкретные требования. 7 Oracle Streams поддерживает захват событий (изменения базы данных и сгенерированные приложением сообщения) в рабочую область. Эти события захватываются двумя способами. При неявном захвате сервер перехватывает события DML и DDL в исходной базе данных. Явный захват позволяет приложениям явно генерировать события и размещать их в рабочей области. После захвата события помещаются в рабочую область. Рабочая область – это очередь, которая предлагает сервисы для записи захваченных событий и управления ими. В ней обеспечивается защищенная область хранения, а также аудит и отслеживание захваченных данных. События, по обстановке, могут быть переданы в другие рабочие области: в пределах той же самой базы данных или в удаленной базе данных. Чтобы упростить сетевую маршрутизацию и уменьшить трафик WAN, события не следует посылать всем базам данных и всем приложениям. Скорее, они могут быть направлены через рабочие области для одной или более систем, пока не достигнут подписавшейся системы. Например, событие может распространяться через базу данных-концентратор, которая фактически не использует это событие. В одной рабочей области могут “складироваться” события из нескольких баз данных, что упрощает установку и конфигурирование. События из рабочей области используются механизмом применения (apply engine), где изменения, которые они представляют, применяются к базе данных, или же они используются приложением. В Oracle Streams включен гибкий механизм применения, который позволяет использовать стандартные или изготовленные на заказ функции применения. Это позволяет в случае необходимости выполнять преобразования данных. Поддержка явного исключения из очереди позволяет разработчикам приложений использовать Oracle Streams, чтобы уведомить приложения об изменениях в данных, продолжая усиливать возможности захвата и распространения изменений Oracle Streams. Oracle Streams является открытым решением для совместного использования информации. Каждый элемент поддерживает стандартные языки и отраслевые стандарты. Streams поддерживает захват и применение из систем Oracle в системы других производителей. Изменения могут быть применены к системам других производителей через прозрачные шлюзы (transparent gateway) или универсальную возможность обеспечения связи (generic connectivity). Кроме того, в Streams включен API, позволяющий источникам данных от других производителей легко представлять или получать записи файла изменений, обеспечивая гетерогенное движение данных в обоих направлениях. Определяя конфигурацию действующих в потоке элементов, пользователь может разрешить определенные требования, например, организацию очереди сообщений или репликацию данных. Организация очереди сообщений Oracle Streams Advanced Queuing обеспечивает унифицированную инфраструктуру для обработки событий. Это позволяет пользовательским приложениям ставить сообщения 8 в очередь в рабочей области, передавать их в рабочие области подписки, уведомлять пользовательские приложения, что сообщения готовы к потреблению, и убирать сообщение из очереди после достижения им пункта назначения. Это средство поддерживает все стандартные возможности систем организации очередей сообщений, включая очереди со многими потребителями, публикацию и подписку, маршрутизацию на основе контента, распространение через Интернет и преобразования. В дополнение, функциональные возможности шлюза сообщений Oracle интегрируют приложения базы данных Oracle с другими системами организации очередей сообщений типа Websphere MQ (ранее называлась MQ Series) и Tibco. В отличие от традиционной очереди, в рабочей области Oracle Streams могут храниться сообщения различных типов, так что можно в единственной рабочей области ставить в очередь различные типы сообщений. Кроме того, Streams поддерживает уведомление пользовательских приложений, объединяя преимущества практически реального масштаба времени модели проталкивания (push model) с масштабируемостью и преимуществами управляемости модели выталкивания (pull model). Репликация данных Репликация предлагает решение проблем масштабируемости, доступности и производительности, с которыми сегодня приходится сталкиваться компаниям. Oracle Streams определяет, какая информация является релевантной, и делится этой информацией с теми, кто в ней нуждается. Репликация в Oracle Streams автоматически перехватывает все изменения в исходной базе данных, передает эти изменения в одну или несколько удаленных баз данных, а затем применяет эти изменения в каждой целевой базе данных. Oracle Streams может реплицировать не только изменяется в данных (изменения DML), но и изменения в структуре таблиц (изменения DDL). Администраторы базы данных могут выбирать, какие изменения следует передавать в каждую целевую базу данных, и могут определить, как эти сообщения должны быть направлены. Этот направленный сетевой подход допускает создание сложных конфигураций, включая n-узловые и "разговор через концентратор" (hub-and-spoke), а также сетевых конфигураций, которые за один раз распространяют изменения к одному сайту для последующего разветвления сообщений по другим адресатам. В том случае, когда изменение над одними и теми же данными следует выполнить в нескольких местоположениях, Oracle Streams автоматически обнаружит конфликт и разрешит его по вашему желанию. Материализованные представления Общим требованием для многих компаний является возможность периодически распространять каталог продукции в региональные офисы и обеспечить возможность продавцам размещать заказы с сайтов заказчика. Чтобы разрешить эти потребности, Oracle предлагает тип репликации, который принято называть репликацией с помощью материализованных представлений. Материализованные представления содержат полную или частичную копию таблицы по состоянию на какой-то момент времени, которую можно сопровождать в инкрементном (пошаговом) режиме. Материализованные представления могут создаваться или только для чтения, или обновляемыми с разрешением конфликтов. Так как они поддерживают вычисления в отключенном режиме и их легко развертывать в массовых масштабах, материализованные представления особенно подходят приложениям для мобильных вычислений. Материализованные представления также обычно используются в средах хранилищ данных, чтобы повысить производительность за счет вычисления и записи агрегированных данных типа сумм и средних значений. 9 Гибридные конфигурации Заказчики могут использовать полную мощь Oracle Streams, наряду с Oracle Transparent Gateways и материализованными представлениями Oracle, создавать конфигурации, которые, по-видимому, охватывают несколько рынков, делая возможным появление новых классов приложений. Кроме того, все развертывания и ассоциированные с ними метаданные совместимы. Например, инсталляция репликации может легко быть расширена для загрузки в хранилище данных, для разрешения двунаправленной репликации или даже для посылки в приложения уведомлений об изменениях DML – для этого теперь не требуется полная реконфигурация. Пример совместного использования информации Пример использования интеграции информации Oracle Предположим, что для повышения доступности, масштабируемости и производительности своего корпоративного сайта компания использует Oracle Streams, чтобы с его помощью обслуживать несколько копий этого сайта. Предположим теперь, что они должны также иметь базу данных отчетности, содержащую самую свежую информацию для аналитиков в офисе штаба компании в Нью-Йорке, чтобы выполнять специализированные (нерегламентированные) запросы, а также базу данных для восстановления после чрезвычайных ситуаций, независимо обслуживаемую из их ньюйоркского офиса. Дополнительно предположим, что для поддержки сотрудников отделов продаж “на местах” используются обновляемые материализованные представления. И, наконец, последним требованием могло бы стать разделение данных (совместное пользование данными) с имеющимися приложениями, которые работают в среде базы данных Sybase. В этом примере Oracle Streams используется для репликации данных в N-узловой конфигурации, состоящей из трех региональных сайтов: в Нью-Йорке, Лондоне и в Токио. На каждом из этих сайтов Streams с помощью журналов захватывает любые изменения, которые происходят с подписанными таблицами в каждом регионе, и локально помещает их в очереди. Все изменения, захваченные в каждом регионе, затем отправляются каждой из баз данных других регионов. Это делается для того, чтобы все проведенные на каждом сайте изменения были отражены на каждом другом сайте, обеспечивая полные данные для подписанных объектов во всем мире. Так как после их получения в каждой региональной базе данных обновления должны быть применены автоматически, для применения изменений используется 10 подразумеваемый (то есть, используемый по умолчанию) механизм применения Oracle Streams. После того как обновления применены, Oracle Streams проверяет конфликты и разрешает любые обнаруженные конфликты. Streams может также использоваться для обмена данными с конкретными таблицами из баз данных других производителей. Используя Oracle Transparent Gateway для Sybase, механизм применения потоков применит изменения к базе данных Sybase, используя те же самые механизмы, которые применяются для баз данных Oracle. Управление базами данных отчетности и восстановления в чрезвычайных ситуациях осуществляется с Нью-йоркского сайта базы данных. База данных отчетности является полнофункциональной базой данных Oracle, в которой имеются копии в режиме “только для чтения” всех релевантных (относящихся к делу) таблиц приложения. Сайт отчетности не будет сконфигурирован для перехвата изменений этих таблиц приложения. Streams не накладывает никаких ограничений на конфигурацию или использование этой базы данных отчетности. Лондонский сайт также служит главным сайтом (мастер-сайтом) для нескольких сайтов обновляемых материализованных представлений. Каждый продавец получает обновляемую копию только той части данных, которая ему требуется. Эти сайты обычно подключаются только один раз в день, чтобы выгрузить на мастер-сайт свои заказы и загрузить с него любые изменения, начиная с момента последнего обновления. Совместное использование информации с помощью переносимых табличных пространств Oracle Переносимые табличные пространства предлагают механизм совместного использования больших объемов информации. Вы можете отключить табличное пространство, скопировать или перенести его и затем подключить к другой базе данных. Операции отключения и подключения очень быстры и не зависят от размера табличного пространства. Кроме того, вы можете смонтировать одно табличное пространство в режиме “только для чтения” для нескольких баз данных одновременно, по сути дела, позволяя двум базам данных совместно использовать информацию и обрабатывать эти данные независимо и параллельно. Новинкой в Oracle Database 10g стала поддержка кроссплатформных переносов. База данных может теперь обрабатывать данные в табличном пространстве и делать изменения любого формата, необходимые для того, чтобы аккомодироваться к различным соглашениям для различных платформ – например, к различному упорядочению байтов. В этом выпуске также стало возможно переименовывать табличное пространство – возможность, которая может быть очень важной, если вы транспортируете табличное пространство в базу данных, где уже существует табличное пространство с тем же самым именем. Совместное использование информации с помощью Oracle Data Pump Утилита Oracle Data Pump также поддерживает совместное использование больших объемов информации, предлагая высокоскоростное параллельное перемещение больших объемов данных и метаданных с контентами базы данных Oracle. Утилита Data Pump улучшает операции экспорта и импорта, давая АБД новые возможности контроля параллелизма, включая механизмы увеличения и уменьшения степени параллелизма или остановки и повторного запуска экспорта/импорта. Новый сетевой режим позволяет пользователям передавать данные из одной базы данных в другую непосредственно по сети, без образования промежуточного файла дампа. Data Pump позволяет пользователям переносить или копировать подмножества табличного пространства или базы данных, обеспечивая более высокую степень детализации, чем переносимые табличные пространства. Пользователи могут 11 определить для переноса определенные объекты, могут заново планировать состав схем, файлов данных и табличных пространств. Кроме того, Data Pump может работать в интерактивном режиме, который позволяет пользователям добавлять к файлу дампа дополнительные файлы. Так как Data Pump совместима с Oracle Streams, пользователи могут дополнительно экспортировать объекты в новую базу данных и использовать потоки для сохранения этих объектов синхронизированными с промышленной базой данных. Перемещение больших объемов данных с помощью Oracle Streams Oracle Database 10g Streams может перемещать любые файлы операционной системы, BFILE и базы данных, включая те, из которых складывается табличное пространство. Это позволяет создавать реплику с помощью всего одной команды. Все, что необходимо сделать – это определить табличные пространства для репликации и связь БД, указывающую на базу данных реплики. Streams автоматически создаст копию определенных вами табличных пространств, перенесет эту копию в целевую базу данных и синхронизирует ее с находящимся в промышленной эксплуатации источником. Также у вас имеется возможность определить, что вам необходима двунаправленная репликация, создаваемая как часть операции. Как только реплика будет подвергнута обработке, вы можете легко изменить конфигурацию – например, можете добавить преобразования данных. Соединяемость информации – высокоскоростное межузловое соединение Средство Oracle Net High Speed Interconnect Support значительно повышает производительность сети, за счет использования преимуществ InfiniBand – отраслевого стандарта технологи работы с сетями. InfiniBand обеспечивает широкую полосу пропускания и низкое время ожидания, что позволяет совместно использовать ту же самую физическую связь для взаимодействия между узлами кластера, серверами распределенной базы данных и сетевыми устройствами хранения данных (NAS). Таким образом, объединение технологий сетевой магистрали в центре обработки данных помогает достичь сокращения сложности и стоимости. Oracle Net поддерживает два типа высокоскоростного межузлового соединения: Sockets Direct Protocol (SDP) и асинхронный ввод-вывод. SDP – это стандартный проводной протокол для протокола InfiniBand. Поддержка протокола SDP Oracle дает возможность базам данных, серверам приложений и центральным процессорам работать более эффективно. Базы данных затрачивают меньше времени в ожидании работы, серверы приложений проводят меньше времени в ожидании ответов, а у центральных процессоров остается больше свободных циклов, которые можно использовать для другой работы. В результате, с включением технологии InfiniBand заказчики видят повышение производительности приложений для имеющихся у них серверов (как для серверов базы данных, так и серверов приложений) без расходов на переход к более дорогим аппаратным средствам. Поддержка асинхронного ввода-вывода позволяет Oracle Net посылать и получать буферы, которые будут успешно переданы непосредственно в ядро операционной системы. Это устраняет CPU-емкие операции копирования памяти, тем самым, высвобождая циклы CPU. За счет усовершенствований и от SDP, и от поддержки асинхронного ввода-вывода, приложения с большими количествами сетевого трафика получают самую большую выгоду. Использование технологий интеграции для предоставления данных в среде grid Многие из описанных в этой статье технологий, которые являются полезными для интеграции информации, оказываются полезны и для предоставления данных в среде grid. Вы можете также использовать возможности детального предоставления Oracle 12 Streams для того чтобы предоставлять информацию по одной записи за раз. Вы можете также использовать возможности типа распределенного SQL, чтобы хранить данные на своем месте, пока они не потребуются, а затем по требованию предоставлять их. Инструментальные средства перемещения больших объемов данных типа переносимых табличных пространств и Data Pump являются эффективным способом обеспечить закачку в grid-сеть больших количеств данных. Предположим, что у вас имеется промышленная база данных, и необходимо выполнить некоторый анализ. В среде grid вы можете просто принять решение добавить узлы к промышленной базе данных RAC, чтобы обеспечить дополнительные ресурсы CPU, необходимые для анализа. Тем не менее, иногда это может оказаться невыполнимым. Возможно, есть ведомственные ограничения, которые запрещают проведение анализа по отношению к промышленной базе данных. Возможно, вы не эксплуатируете RAC, или у вас не имеется больше подходящих узлов в собственной сети и устройств SAN для распределения – но у вас действительно имеются узлы в другой сети или SAN. Используя возможности предоставления данных Oracle Database 10g, вы можете транспортировать табличные пространства, содержащие информацию, которую вы планируете анализировать, определить значения реплики Streams этих данных в другой системе и выполнить анализ этой системы. Эта опция также полезна для того, чтобы мигрировать в grid с помощью единственной команды и без всякого простоя системы. Кроссплатформные переносимые табличные пространства позволяют переносить данные между различными платформами и операционными системами. В то время как вы перемещаете ваши данные и создаете новую базу данных в grid-среде, имеющаяся у вас база данных остается онлайновой. Как только перемещение будет выполнено, происходящие с базой данных изменения будут перехватываться и применяться к целевой базе данных. Сразу после запуска реплики, вы можете просто указать приложениям на новую базу данных в grid, и миграция будет завершена. Иногда лучший способ совместного использования и интеграции информации состоит в том, чтобы просто обратиться к ней дистанционно, когда вы испытываете в ней необходимость. Как было описано ранее в этой статье, в Oracle имеется распределенный SQL, удаленные вызовы процедур и встроенные распределенные транзакции. Вы можете делать запросы об информации, в которой вы нуждаетесь, к другим базам данных, обновлять эту информацию, когда вы в этом нуждаетесь, и получать доступ к логике программ на других серверах. Можно обратиться к данным в других системах управления базами данных через универсальные возможности связи Oracle, или используя для этого Transparent Gateways. Можно объединить данные Oracle и данные из других систем, а также использовать Oracle Streams со шлюзами для совместного использования информации с системами от других производителей. В grid-среде с увеличивающимся количеством данных и высоким объемом сетевого трафика, эффективный доступ к информации может стать устрашающей задачей. Производительность и масштабируемость grid зависят от эффективности, надежности и защищенности средств коммуникации. Используя новые опции высокоскоростного межузлового соединения, Oracle Database 10g обеспечивает эффективную и быструю сетевую магистраль для grid-среды, которая также поддерживает большое количество данных, передаваемых по сети. Кроме того, она снимает с серверов тяжелое бремя использования CPU для работы с сетями, и позволяет серверам иметь больше времени для выполнения того, для чего они были первоначально предназначены – выполнения прикладных программ и обслуживания данных. Преобладающий сегодня протокол LAN и Интернета (то есть, TCP/IP) жертвует временем ожидания для достижения надежности, общности и расстояния. В среде центра обработки данных серверы приложений, являющиеся программным обеспечением промежуточного уровня, обрабатывают бизнес-логику и связываются с Web-серверами и с серверами базы данных. Интерфейсные коммуникация на входе 13 обычно выполняются сегодня по подключениям TCP/IP, что становится тяжким бременем при использовании CPU серверов приложений, так же как и для серверов базы данных. Для некоторых конфигураций измерения показали, что на обработку стека TCP/IP расходуется до 80% циклов CPU (прим.), в результате чего не так уж много возможностей CPU остается для первоначального назначения серверов приложений – выполнять приложения, и первоначального назначения серверов базы данных – обслуживать данные. Заключение Сегодняшняя быстро изменяющаяся бизнес-среда часто направляет компании к распределенным средам. При взгляде на потребности в интеграции информации, которые возникают для компаний в таких ситуациях, становится очевидно, что Oracle предлагает полное и устойчивое решение для разрешения каждой из этих потребностей в надежной, эффективной и безопасной среде. Распределенный SQL используется для прозрачного взаимодействия между базами данных Oracle. Generic Connectivity и Transparent Gateways расширяют эту возможность на системы от других производителей. Oracle Streams Advanced Queuing расширяет возможность коммуникаций, добавляя к базам данных приложения. Возможности репликации Oracle Streams могут значительно улучшить доступность и масштабируемость этих приложений. Дополнительно, поддержка высокоскоростного межсоединения, предлагаемая Oracle Net, увеличивает эффективность и производительность интеграции информации. Источник: Oracle Magazine/Русское издание 14