ORACLE MAGAZINE RE | 11.12.03 |
© Келли Вайсет (Kelli Wiseth)
В Oracle Database 10g, СУБД масштаба предприятия, которая использует кластеры и готова к реализации распределенных (grid) вычислений, вся новая функциональность единым образом реализована на всех платформах, включая серверы с ОС семейства Windows. Развивая серверную часть СУБД, корпорация Oracle уже несколько лет работает над проблемой совместимости с приложениями, использующими средства Microsoft, особенно теми, что работают с .NET. С этой целью Oracle предоставляет Oracle Data Provider for .NET (ODP.NET), который обеспечивает соединение между СУБД Oracle и приложениями .NET. Множество расширений в последней версии ODP.NET еще более наращивают эту поддержку, благодаря значительным улучшениям производительности и интеграции между .NET и СУБД Oracle Database 10g. Эта “ grid-компетентная” ("grid-aware") версия ODP.NET позволяет разработчикам, использующим .NET, применять grid-возможности Oracle Database 10g.
«Для начинающих» - отмечает Алекс Кех (Alex Keh), главный продукт-менеджер группы по технологиям Windows в подразделении Oracle по серверным технологиям – «в ODP.NET отныне расширена поддержка для Oracle XML DB. Это важно» - говорит он – «так как многие .NET-разработчики интенсивно используют XML в своих приложениях. Теперь они смогут работать с данными в формате XML намного легче, благодаря нашей интеграции с XML DB через новые интерфейсы API и новый тип данных XMLType в ODP.NET."
Теперь ODP.NET позволяет легче манипулировать данными в формате XML в среде .NET, используя этот XMLType, который был “родным” (native) для СУБД Oracle, начиная с Oracle Database 9i. Он также позволяет вам получать доступ к реляционным или объектно-реляционным данным как к данным в формате XML, хранимым в базе данных Oracle, из среды Microsoft .NET, используя такие, например, разработки средства приложений Visual Studio .NET, как Visual Basic, Visual C++ или Visual C# и обрабатывать эти данные в формате XML с применением возможностей Microsoft .NET framework, сохраняя при этом любые изменения этих данных в базе данных Oracle именно как данные в формате XML.
ODP.NET включает и многие другие новые возможности, включая поддержку для вложенных (nested cursors) курсоров и ассоциативных массивов (associative arrays) PL/SQL, что позволяет .NET-разработчикам воспользоваться преимуществами работы с собственными программными конструкциями Oracle и при этом не терять возможности использовать функциональность .NET. Например, ассоциативные массивы PL/SQL (ранее известные как PL/SQL Index-By Tables), сравнимые с хэшированными таблицами (hash tables) в некоторых других языках программирования, - это наборы пар значений ключей (sets of key-value pairs), которые могут представлять наборы данных произвольного размера; ассоциативные массивы могут позволить быстрый просмотр индивидуальных элементов в массиве (без знания их позиций в этом массиве и/или без циклического перебора все его элементов).
Другое улучшение в СУБД Oracle Database 10g, доступное разработчикам ODP.NET, –это новые, соответствующие стандартам IEEE, типы данных - FLOAT и DOUBLE. Поддерживаемые в ODP.NET, они требуют меньше внешней памяти для хранения, быстрее обрабатываются, чем другие числовые типы данные в Oracle, и способствуют непосредственному преобразованию типов данных FLOAT и DOUBLE в хост-переменные и хранимые данные.
Наконец, имеют место много улучшений по части производительности, говорит Кех: "в плане производительности и выборки данных, особенно в выборке числовых данных и LOB. Например, в предыдущих релизах у разработчиков были довольно ограниченные возможности при выборке данных LOB. В этом же релизе в ODP.NET появилось новое свойство, InitialLOBfetchSize, которое позволяет оптимизировать выборку LOB, чтобы соответствовать вашим потребностям." Например, ГИС-приложение агентства одного европейского правительства, которое обращается к десяткам тысяч LOB-данных, получило 17-кратное улучшение в скорости своей работы, просто благодаря замене драйвера ODP.NET на последнюю версию.
Источник: журнал Oracle Magazine/RE
INTERFACE Ltd. |
|