<Insert Picture Here> Introduction to and What’s New with Oracle Spatial 11g, Oracle Multimedia, and Oracle’s Semantic Database Alexander Ryndin, Oracle CIS Содержание • Управление неструктурированными данными • Пространственные данные • Стратегия • Позиция на рынке • Технологии и продукты • Новое в пространственных данных • Новое в Semantic • Новое в Multimedia • Дискуссия <Insert Picture Here> Управляем неструктурированными данными Oracle SecureFiles High Performance, Secure LOBs • Единое хранилище для данных и метаданных • Масштабируемое • Безопасное • Высокодоступное • Интегрированное • Надежное • Доступное на всех платформах XML DB Integrated Native XML Database Oracle Text Text Indexing and Classification Location & Spatial Location Enabled Databases Multimedia Audio, Image and Video New with 11g: DICOM Medical Imaging Relational Characters, Numbers, Dates Управляем неструктурированными данными Location & Spatial Location Enabled Databases Multimedia Audio, Image and Video New with 11g: DICOM Medical Imaging Основные тенденции в ГИС • «Продвинутые» заказчики • • Любой может купить GPS – Handhelds/ Car Navigation Используют Google Maps, Google Earth • Web интерфейс для заказчиков и граждан • На карте можно увидеть информацию о недвижимости, трафике и т.д. • Геосервисы должны быть надежными • • Доступны и безопасны 01, 02, 112, МЧС, Энергетика, Telcos, Коммунальные службы, Дороги • Отслеживаем все что движется • • Определить местоположение, найти ближайший, посмотреть историю Люди, оборудование, госпитали, самолеты, машины, дороги, вода • Базы данных растут (TB->PB) • • Аэрофотосъемка, спутниковые снимки Архивы с длительным хранением (без срока давности!) Пространственные данные и IT Сосуществование или интеграция? • Специальные серверы для различных типов данных • Изоляция данных • Множество закрытых форматов • Высокие ИТ и управленческие расходы Проблемы масштабируемости Высокие расходы на обучение Трудности поддержка GIS GIS Applications Enterprise IT Database Applications Что предлагает Oracle? Intranet GIS Oracle MapViewer, Oracle Maps, 3rd party GIS Просмотр, анализ и простое редактирование Расширенный анализ и редактирование Desktop GIS Autodesk Map 3D MapInfo ArcGIS Bentley Map CSoft MapDrive etc ORACLE ORACLE SPATIAL Корпоративные ГИС данные GEORASTER Спутниковые снимки и фотограмметрия NETWORK MODEL Сетевые данные TOPOLOGY MODEL Топология SPATIAL WEB SERVICES ГИС данные партнеров Публичные данные Web Portal Oracle MapViewer Oracle Maps 3rd party GIS Запросы данных, обмен данными решения Oracle решения Oracle и партнеров решения партнеров Какие пространственные технологии есть у Oracle? • Oracle Locator+Spatial: компонент Oracle Database XE, SE, EE и платная опция Oracle Database EE • MapViewer: компонент Oracle Application Server, позволяющий отрисовывать карту • GeoMap: JDeveloper ADF компонент • Комплект карт: основные дороги, административное деление (города, регионы) — от Navteq Oracle Locator Oracle Spatial 11g Включено в Oracle Database - ВСЕ Редакции Опция к Oracle Database Enterprise Edition • Поддержка всех геометрических типов • Поддержка 2D данных • Все пространственные операторы • Функции проверки корректности и расстояния • Полная поддержка систем координат • Пакеты утилит & тюнинга • Длинные транзакции • Параллельные пространственные запросы & построение индексов • Секционированные таблицы • Объектная репликация • Все возможности Locator • Дополнительные пространственные функции - вычисление площади/длины - буфер, центроид, объединение и т.д. • Линейная система координат (Linear Referencing Support) • Пространственное агрегирование • Тип данных GeoRaster • Топологическая модель данных • Сетевая модель данных • Механизм геокодирования • Пространственные аналитические функции • Поддержка 3D • OGC Web Services Oracle Spatial использует мощь Oracle Database • Секционирование таблиц • Для масштабируемых решений, управляемости и производительности • Label Security • Политики безопасности до уровня строки • Spatial Analysis через SQL • Используются открытые пространственные типы данных • Пространственные приложения не всегда нуждаются в полноценной ГИС • • • • • Spatial Analysis в хранимых процедурах, триггерах, фукнциях Репликация Встроенная в базу данных поддержка длинных транзакций Архитектура Grid SQL Developer Что такое Oracle Spatial? Непространственные данные НАЗВАНИЕ ШТАТА Пространственные данные: столбец типа SDO_GEOMETRY СТОЛИЦА CALIFORNIA Sacramento TEXAS Austin GEOM • Oracle Spatial это интегрированный набор функций и процедур базы данных Oracle, который позволяет быстро и эффективно хранить, получать доступ и анализировать пространственные данные. • Oracle Spatial поддерживает широкий спектр программного обеспечения — от ГИС (геоинформационных систем) до беспроводных пространственных сервисов и пространственноориентированного электронного бизнеса. Типы геометрических примитивов Point Oriented point Line string Compound line string Polygon Polygon with one or more holes Compound polygon Optimized polygons Self-crossing line strings valid Arc line string Arc polygon Self-crossing polygons not valid Загрузка данных • MapBuilder и Shapeloader • Инструментарий третьих фирм (Safe Software FME) Инструменты от вендоров программного обеспечения ГИС • Язык SQL для создания и заполнения данных. Загрузка данных: Shapefile Converter • Oracle’s Java-based инструмент: • Доступен в Oracle Database 11g и в Oracle Database 10gR2, в других версиях скачивается с OTN: • http://www.oracle.com/technology/software/products/spatial/fil es/shape2sdojava.zip http://www.oracle.com/technology/software/products/spatial/files/shape2sdoj ava.zip • Обрабатывает один ESRI shapefile за раз • Обрабатывает атрибутный (.DBF) и геометрические (.SHP and .SHX) файлы • Автоматически загружает таблицу с атрибутами и данными • Может создавать новую таблицу или загружать в существующую • Автоматически добавляет метаданные в USER_SDO_GEOM_METADATA представление Загрузка данных: Shapefile Converter • Входной файл: states • Processes STATES.SHP, STATES.SHX, and STATES.DBF • Результат: • Table: geod_states • Column: geom • SRID: 8307 Set clpath=.;%ORACLE_HOME%\jdbc\lib\ojdbc5.jar; %ORACLE_HOME%\md\jlib\sdoutl.jar; %ORACLE_HOME%\md\jlib\sdoapi.jar java -cp %clpath% oracle.spatial.util.SampleShapefileToJGeomFeature -h localhost -p 1521 -s orcl -u student -d student -t geod_states -f states -r 8307 -g geom Пространственный анализ данных Boundary • Простейшие операции • Area, Length, Envelope, Boundary и т.д. Within Intersect Touch • Операции для определения отношения между объектами • Equal, Disjoint, Intersect, Touch, Within и т.д. Buffer SymDiff • Пространственный анализ • Distance, Buffer, Union, Intersection, ConvexHull, SymDiff и т.д. Пространственный анализ: SDO_ANYINTERACT • Найти все парки в штате Wyoming SELECT p.id, p.name FROM us_parks p, us_states s WHERE s.state = 'Wyoming' AND SDO_ANYINTERACT ( p.geom, s.geom ) = 'TRUE'; Пространственный анализ: SDO_WITHIN_DISTANCE Найти все индийские рестораны в радиусе 5 км от отеля Bengali Curry House Главная улица SELECT r.restaurant_name FROM restaurants r, hotels h 5 км WHERE r.restaurant_type = ‘INDIAN’ AND h.hotel_name = ‘HILTON’ AND SDO_WITHIN_DISTANCE( r.location, h.location, Le Madras ‘distance=5 unit=km’) = ‘TRUE’; Отель Hilton Oracle Spatial 11g Enables Scrollable, Interactive Maps Spatial Web Services 3D, Point Clouds, and LIDAR Open Location Service Geocoding & Routing Oracle BI Dashboards Raster Imagery Растровые данные Векторные • Источники растровых данных: Растровые • Дистанционное зондирование (спутниковые данные, аэрофотосъемка) • Сканирование карт • Геология, геофизика, геохимия и т.д. • Накопление «сырых» данных • Оцифровка GeoRaster • Новый тип данных для хранения растровых данных • Спутниковые снимки, данные дистанционного зондирования • Многополосные • Информация о привязке • Функционал • Хранение и индексация растровых данных • Нет ограничений на размер объектов • Генерация пирамид разрешение • Предоставление доступа • TIFF, GeoTIFF, JPEG, GIFF формат Resolution Pyramid Pyramid Level 2 Pyramid Level 1 Pyramid Level 0 (Raw Data) Pyramid Level Геокодирование: • Позволяет сгенерировать долготу/широту по адресу и обратно • Поддержка стандартов различных стран • Форматированные и неформатированные адреса • Параметры поиска «нечеткого» соответствия • 100% Java, открытый и масштабируемый • По записям или батчами • Данные для геокодирования предоставляются специальными вендорами One Oracle Drive, Nashua NH, 03062 SELECT SDO_GCDR.GEOCODE ('ODF_EU_q108', SDO_KEYWORDARRAY('Пионерский проспект‘, 'Анапа 20'), 'RU', 'DEFAULT') GEO_ADDR FROM DUAL Example: House Level Match SELECT SDO_GCDR.GEOCODE('SPATIAL', SDO_KEYWORDARRAY('1350 Clay', 'San Francisco, CA'), 'US', 'DEFAULT') GEO_ADDR FROM DUAL; SDO_GEO_ADDR(0, SDO_KEYWORDARRAY(NULL), NULL, 'CLAY ST', NULL, NULL, 'SAN FRANCISCO', NULL, 'CA', 'US', '94109', NULL, '94109', NULL, '1350', 'CLAY', 'ST', 'F', 'F', NULL, NULL, 'L', .49, 23600696, '????#ENU??B281CP?', 2, 'DEFAULT', -122.41522, 37.7930729, '????0101410??004?') MATCHCODE 2 = тип улицы не совпал Точное совпадение по номеру дома на улице Clay St Почтовый индекс и название улицы заполнено Линейная привязка (LRS) Часто используется во многих GIS приложениях: • транспортные задачи (сеть дорог) КМ 60 • коммуникации (нефте- и газопроводы) Километровый столб 0 Километровый столб 27 (50,15,53.8) (30,10,27) (5,10,0) (45,10,44) (15,5,11.2) (40,5,38) (55,20,60) Сетевая модель данных • Сетевая модель данных • Модель данных хранить сетевую (графовую) структуру в базе данных • Сохраняет и поддерживает связи в сети • Хранить атрибуты связей и узлов • Трассировка & Маршрутизация • Транспортные решения • Логистика • Сервисы на основе местоположения, телематика • Bio-Info (Life Sciences) • Иерархические сети • Scale-free Networks Новые возможности Oracle Spatial 11g Сетевая модель с загрузкой «по требованию» • Используется та же самая сетевая модель в базе данных • Поддержка сетевых ограничений и пользовательских данных (new in 11g) • Сетевые разделы (partitions) загружаются во время анализа «на лету» по мере надобности • Не требуется загружать всю сеть в оперативную память • Учитывает динамические изменения • Предоставляются утилиты для управления разделами • Java и XML API Маршрутизация Routing Client Routing Engine (running in Oracle Application Server or OC4J) • Позволяет запустить XML-based Web services, которые • По запросу на муршрутизацию (начало, конец маршрута в виде адреса или координат) выдают маршрутную информацию (направление, расстояния, приблизительное время на маршрут и геометрию, представляющую маршрут) • То же самое, но с батчем маршрутов • Поддерживается международная маршрутизация • Интегрирован с Geocoder Oracle Application Server MapViewer • MapViewer: компонент Oracle Application Server, позволяющий отрисовывать карту • GeoMap: JDeveloper ADF компонент • Простая публикация карт в web • Javascript, Java, XML и PL/SQL APIs • Разработано для Java программистов Комплект карт MapViewer архитектура Browser/Apps Клиент Middle-tier: Oracle Application Server XML/HTTP, Java, JSP tag library, OGC WMS APIs MapViewer JDBC База данных Oracle Mapping Spatial/Lo metadata cator Map Builder (metadata admin tool) Пространственный анализ и карты в инструментах Oracle, Applications и BI Oracle JDeveloper Oracle Applications Oracle BI EE MapBuilder Что нового в MapViewer? • Сертифицирован для WebLogic Server версий 10 и 10.3 • Мощный открытый JavaScript/AJAX картографический API для интерактивной работы с картой на стороне клиента • Поддержка Safari • Поддержка ESRI Shape файлов • Поддержка разделения доступа к объектами • Поддержка OGC Web Feature Server тем и тектов аннотаций • Улучшены возможности подписей, текстовых стилей и отрисовки объектов • Поддержка вывода в PDF • Улучшена поддержка непространственных провайдеров и API для внешних пространственных провайдеров Управляем неструктурированными данными Location & Spatial Location Enabled Databases Multimedia Audio, Image and Video New with 11g: DICOM Medical Imaging Семантическая паутина (Semantic Web) • Семантическая паутина - часть глобальной концепции развития Интернет, целью которой является реализация возможности машинной обработки информации, доступной в Internet. • Основной акцент - работа с метаданными, однозначно характеризующими свойства и содержание ресурсов Всемирной паутины, вместо используемого в настоящее время текстового анализа документов. • Документы предназначены для восприятия человеком, метаданные используются машинами (поисковыми роботами и другими интеллектуальными агентами) для проведения однозначных логических заключений Языки описания Онтология (в информатике) — это попытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы. RDF - простой способ описания данных в формате субъектотношение-объект (в качестве любого элемента тройки используются URI) Standar ds based RDF Schema описывает набор атрибутов, таких, как rdfs:Class и rdfs:subClassOf. OWL - семейство языков для описания онтологий (расширяет возможности по описанию новых типов, позволяет описывать новые типы данных RDF Schema в терминах уже существующих) 36 Пример: семья А B C • :Павел - :Мужчина, :Антон – :Петр : Маша :Мужчина А • :Вера – :Женщина. • У :Кати и :Павла:Женя есть дети: :Александр : Миша :Миша и :Лена :Лена А А B :родитель • :Лена сестра :Александра :Антон :Вера :Павел :Катя • У :Антон и :Веры есть дети: :Александр и :Женя А :Женщина • У :Александра и :Лены есть дети :Мужчина :Петр и :Маша отец мать C :бабушка B C D E свойство C :кузен E B Использование 11gR1 RDF/OWL: шаг 1 • Создать таблицу для приложения • create table app_table (triple sdo_rdf_triple_s); • Создать семантическую модель • exec sem_apis.create_sem_model (‘family’,’app_table’,’triple’); • Загрузить данные, используя DML, Bulk или Batch loader • insert into app_table (triple) values(1, sdo_rdf_triple_s(‘family',‘Антон’,‘Отец’,‘Александр’ )); • insert into app_table (triple) values(2, sdo_rdf_triple_s(‘family',‘Антон’,‘Отец’,‘Петр’)); • Создать набор правил • INSERT INTO mdsys.semr_user_rulebase VALUES (‘Правило_брат','(?x <Отец> ?y)(?x <Отец> ?z)', NULL, '(?y <Брат> ?z)', null); 38 Использование 11gR1 RDF/OWL: шаг 2 • Собрать статистику • Запустить процедуру построения выводов • exec sem_apis.create_entailment (‘family_idx’,sem_models(‘family’), sem_rulebases(‘famowl’)); • Выполнить запрос к исходной и выведенной модели • select p, o from table(sem_match(‘Александр’ ?p ?o)', sem_models(‘family'), sem_rulebases(‘famowl’), null, null)); Semantic Data Management Workflow Транзакционные системы Неструктурир. данные RSS, email Редактирование & Преобразование • Вычленение & преобразование сущностей • Построение онтологии • Категоризация Другие данные • Скриптование Загрузка, выборка & построение выводов Partners Анализ • Управление данными RDF/OWL • Визуализация графов • SQL & SPARQL запросы • Анализ связей • Построение выводов • Семантические правила • Масштабируемость & Безопасность Data Sources Приложения & • Статистический анализ • Поиск полезных знаний • Выявление закономерностей • Text Mining Partners Партнеры в Semantic технологиях Управление RDF/OWL графовыми данными в Oracle 11g Key Capabilities: • Oracle 11g – лидирующая коммерческая база данных со встроенной поддержкой RDF/OWL данных • Масштабируемая & безопасная платформа для широкого круга семантических приложений • Масштабируется до громадных репозитариев (более 1 млрд.) • SQL или SPARQL запросы • Может использовать Oracle Partitioning, Advanced Compression, RAC • Растущее количество 3rd party инструментов Load / Storage Query • Встроенное хранилище RDF •Управление млрд. «троек» • Fast batch, bulk и incremental загрузки • SQL: SEM_Match • SPARQL: через Jena plug-in • Ontology assisted query of RDBMS data • Forward chaining model Reasoning • RDFS++ OWL, OWL Prime • Пользовательская база правил Управляем неструктурированными данными Location & Spatial Location Enabled Databases Multimedia Audio, Image and Video New with 11g: DICOM Medical Imaging Oracle Multimedia … • Поставляется уже 11 лет и предлагает возможности • По хранению, управлению и работе с мультимедийными объектами • Встроенная поддержка изображений, аудио и видео • Предоставляет возможности для • Извлечения метаданных • Преобразования и обработки изображений • Поддержка работы с потоками • Пользователи могут разрабатывать Oracle Multimedia приложения с использование таких инструментов как Application Express, Oracle JDeveloper, Oracle Portal • Полная поддержка SecureFiles (2-7 раз быстрее) • Поддержка объектов до 128 TB Oracle Multimedia и поддержка DICOM Новое в Oracle Database 11g Multimedia • DICOM (англ. Digital Imaging and Communications in Medicine) — основной стандарт для обработки, хранения и пересылки изображений в медицине. • DICOM - не только отдельные изображения, но и кинопетли, звук, информация о пациенте, исследовании, оборудовании, учреждении, о медиках, производящих, заказывающих исследования и т. д. • DICOM позволяет производить интеграцию сканеров, серверов, АРМов, принтеров и другого медицинского оборудования от разных продавцов в единую систему передачи и архивирования медицинской информации. • В Oracle Database 11g встроена поддержка DICOM Anatomical part SNOMED Code Alias Translation Skull T-11100 Maxilla and 头骨 Maxilla Mandible T11170 T-D1217 Mandible 上颌骨 Jaw T-11180 上下颌骨 下颌骨 DICOM в Oracle Database 11g • Полная поддержка DICOM стандарта для хранения • Механизм валидации проверяет заданные пользователем правила на метаданные DICOM • Механизм анонимизации • Извлечение/маппинг DICOM метаданных в XML – стандартных для DICOM и вендорных атрибутов для индексации и поиска • Функциональное APIs • Создание DICOM объектов из не-DICOM изображений • Масштабирование/сжатие/обрезка DICOM изображений • Поддержка преобразования форматов для мультифреймовых DICOM изображений Интеграция Medical Imaging с DBMS Client / Web Health Care Application Database Application Logic Application Server Logic PL/SQL, Java, C ... APIs DICOM Operations Native DICOM Storage XML DB, Java Virtual Machine, Query, Index SecureFile LOBs ASM Storage Device Case Studies BioGrid Australia • Это платформа и инфраструктура, которая предоставляет исследователям доступ к данным • По множеству болезней • Из различных разрозненных баз данных, из различных институтов • Соблюдая тайну частной жизни и интеллектуальную собственности • Собирается в виртуальный репозиторий • Связана с публичными репозиториями • Предоставляем гибкий и безопасный метод доступа к источникам медицинских данных для авторизованных исследователей Почему Oracle? • Изображения можно получать по требованию • Есть индексация и партицирование для ускорения запросов • Есть DICOM тип данных с богатым набором возможностей • SQL*Loader умеет быстро загружать изображения • Широкие возможности по обеспечению безопасности • Компрессия в LOB, в резервных копиях, DataPump • Application Express для быстрой разработки • Oracle Multimedia (включая DICOM) – бесплатная возможность Oracle Database Enterprise Edition Работа с DICOM: создание таблицы • CREATE TABLE medical_image_table (id varchar(50), TAPE_ID number, dicom orddicom, USI varchar(50) ) LOB (dicom.source.localdata) STORE AS SECUREFILE (COMPRESS HIGH) PARTITION BY range (TAPE_ID) (PARTITION PART1 VALUES less than (50) TABLESPACE TBLS_PART1_FROM_TAPE1); Работа с DICOM: преобразование в JPEG и анонимизация declare dcm ordsys.orddicom; begin ord_dicom.setDatamodel; for rec in (select * from medical_image_table for update) loop rec.dicom.setProperties(); -- create a JPEG thumbnail rec.dicom.processCopy('fileFormat=jpeg fixedScale=75,100', rec.imageThumb); -- make a new anonymous version of the ORDDicom object rec.dicom.makeAnonymous(genUID(rec.id), rec.anonDicom); -- write the objects back to the row …….. end loop; commit; e Работа с DICOM: импорт, экспорт CONNECT / AS SYSDBA --Directory IMAGEDIR for export/import DICOM create or replace directory imagedir as 'O:\ORACLE_DICOM_IMAGES'; grant read,write on directory IMAGEDIR to Administrator; -- importFrom ord_dicom.importFrom(dest, 'file', 'IMAGEDIR', 'example.dcm'); -- export() method can be used to export dcmSrc.export('FILE', 'IMAGEDIR', filename); Работа с DICOM: компрессия DICOM images are stored as SECUREFILE (COMPRESS HIGH) Achieves highest compression level • DICOM image size on file system: 1.48TB=1515.52GB • Database size: 820GB (less 3-4GB for other tables) Overall compression: (1515-816)/1515= approx. 46% ALEXANDER RYNDIN Spatial Senior Sales Consultant Presale Consulting Oracle CIS Moscow, Krasnopresnenskaya nab., 18, Block C phone +7(495) 641-1400 fax +7(495) 641-1414 alexander.ryndin@oracle.com http://www.oracle.com/ http://www.oraclegis.com/ Find out more... • oracle.com/database/spatial.html Q&A • oracle.com/technology/products/spatial • oracle.com/technology/tech/semantic_technologies • oracle.com/technology/products/multimedia