Oracle Spatial Genel Bakış ve Veri Kalitesi

Download Report

Transcript Oracle Spatial Genel Bakış ve Veri Kalitesi

Oracle Spatial ve
Veri Kalitesi
Murat HANÇEROĞLU
(1)
16 Ocak 2014
TROUG
Ajanda
 Oracle Spatial Nedir?
 Neden Oracle Spatial?
 Kullanım Alanları Nelerdir?
 Teknik Analizi
 Sdo_geometry
 MDSYS Şeması
 Sorgulama ve Indexleme
 Diğer Yetenekler
 10g-11g performans karşılaştırma
 Veri Kalitesine Etkisi
2
TROUG
16 Ocak 2014
Oracle Spatial Nedir?
3

Spatial kelime anlamı olarak mekan,mekana ait anlamına gelmektedir.

Oracle Spatial Oracle RDBMS’e mekansal veri kaydetme, sorgulama,işleme ve analiz etme
yeteneklerini kazandıran, Oracle Enterprise Edition ile birlikte ayrı lisanslanan bir pakettir.

Spatial Data Neler İçerir?
 Ada,parsel, adres gibi kadastro datası, orman,göl,ırmak gibi doğal yapıları,
 Elektrik, doğalgaz,su, fiber optik gibi altyapıyı ilgilendiren bilgiler,
 Araç takip sistemleri,
 Önemli Noktalar(Restoran,hastane,taksi vb..)
 Müşteri konumu, baz istasyonu vs.. gibi Konum ile ilişkilendirilebilecek tüm verileri
TROUG
16 Ocak 2014
Oracle Spatial Nedir?
 Oracle veritabanlarının tüm versiyonlarında mekansal veriyi kaydetmeye,sorgulama ve
işleme yeneteklerine sahip Oracle Locator versinyonu bulunmaktadır.
4
TROUG
16 Ocak 2014
Oracle Spatial Nedir?
Locater
• Tüm Geometri tiplerini
destekler(line,polyline,polygon..)
• 2 boyutlu data
• Tüm spatial
sorgulamalar(inside,anyinteract etc..)
• Utility, tuning ve validation işlemleri
• Tüm koordinat sistemlerini
5
TROUG
Spatial
Tüm locater yeteneklerini ve
• Spatial veri işlemleri(birleştirme,
fark,kesişim vs.)
• Geocoder Engine
• Linear Referencing
• Network Data Model
• Partitioned Spatial Index
• Routing engine
• GeoRaster
• Topology Data Model
• Özel 3D types (LIDAR,TINS)
• OGC Web Services (WFS, OpenLS)
16 Ocak 2014
Neler Yapılabilir?
Tüm mekansal sorgulamalar(inside,nearest neighbour,
touch,intersect etc..)

İki nokta arasındaki en kısa yol, en hızlı yol,
yada tüm olası yolların hesaplanması
(Navigasyon vs)

Geometriler arası topolojik bağlantıların
Oluşturulması

2D objeler 3D ye çevrilebilir ve 3D
Sorgulamalar yapılabilir.

Diğer veri tabanı yönetim
sistemleri ile entegrasyon sağlayabilir
(Open GeoSpatial Consersium standartlarında
Veri üretir)

6
TROUG
16 Ocak 2014
Neler Yapılabilir?
 Raster görüntüleri kaydedip,
sorgulayabilir ve işleyebilir
 Augmented Reality uygulamaları
 Oracle Fusion Middleware
ile tam entegre ederek MapViewer ile
Haritaların görüntülemesi
Ve entegrasyonların gerçeklenmesi
 Linear Referencing işlemleri
7
TROUG
16 Ocak 2014
Neden Oracle Spatial?
 Neden Spatial sorusunun cevabını bulmak için geçmişten bugüne
konum bazlı uygulamalarının geçmişten bugüne evrimine bakabiliriz
 1990 başlarında
Application
 2000 lere doğru
Application
 Bugün
Application
8
TROUG
Standalone GIS Apps
Spatial
MiddleWare
Mapping
Server
Custom APIS
Traditional
DBMS
Open APIs
Spatial
DBMS
16 Ocak 2014
Neden Oracle Spatial?
 Big data konseptinin hayatımıza girmesiyle büyük veri kitlerinin
kaydedilmesi ve analiz ihtiyaçlarının giderek artması
 Veri güvenliği, kalitesi, arşivlenmesi sağlaması, client tarafında
platform bağımsızlığını sağlaması, bulk işlemler, online bakım
gibi klasik veritabanı için yapılan tüm yetkinliklerin spatial veri
için de yapılabilmesini sağlaması
 Konum bazlı analizlere dayalı kullanıcı taleplerinin hızla artması
ve bu yönde hızla büyüyen Pazar.(Google Earth,Forsquare vb..)
9
TROUG
16 Ocak 2014
Spatial – Teknik Genel Bakış
 Veritabanında Spatail ve Locater durumu nedir?
 select comp_id, comp_name, version, status from dba_registry where
comp_id in ('SDO', 'ORDIM');
COMP_ID
------SDO
ORDIM
10
TROUG
COMP_NAME
-----------------Spatial
Oracle Multimedia
VERSION
----------11.2.0.1.0
11.2.0.1.0
STATUS
-----VALID
VALID
16 Ocak 2014
Spatial – Teknik Genel Bakış
 Spatial sorgulama yapabilmek için;
 Konum bilgilerini
Mdsys.sdo_geomtry veri tipi
İle kaydedilmesi
 User_sdo_geom_metadate
altına tüm sdo_geomtry
kolonları için metadata
bilgisini oluşturulması
 Create Table,
Create sequence hakları
 Sorgulama yapılacak kolon üzerinde
spatial index oluşturulması(Zorunlu)
11
TROUG
16 Ocak 2014
Sdo_Geometry
 Oracle Spatial için kullanılan temel veri tipidir.
 Mdsys şeması altındadır.
 CREATE TYPE sdo_geometry AS OBJECT
(SDO_GTYPE
NUMBER
SDO_SRID
NUMBER
SDO_POINT
SDO_POINT_TYPE
SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY
SDO_ORDINATES SDO_ORDINATE_ARRAY);
12
TROUG
16 Ocak 2014
Sdo_Geometry
 Sdo_gtype
 Number
 Geometrinin tipini belirler
Geometry Type
2D
3D
1 POINT
2001
3001
2 POLYLINE-LINE
2002
3002
3 POLYGON
2003
3003
4 COLLECTION
2004
3004
5 MULTI-POINT
2005
3005
6 MULTI-(POLYLINE2006
LINE)
7 MULTI-POLYGON 2007
13
TROUG
3006
3007
16 Ocak 2014
Sdo_Geometry
 Number
 Sdo_Geomtry.Srid
 Verinin hangi koordinat
sistemine ait olduğu bilgisini tutar.
 MDSYS.CS_SRS bulunmak
zorundadır.
 Sdo_geomtry.sdo_point
Point datalara ait x,y,z koordinatlarını
içerir.
 Point data tipleri için optimizasyon
sağlar
14
TROUG
16 Ocak 2014
Sdo_Geometry
 Sdo_geometry.sdo_odinates
 VARRAY OF NUMBER
 Geometriyi oluşturan noktaların
kaydedildiği ildir.
 select * from table(select
a.geom.sdo_ordinates
From scott.us_states
a where rownum=1)
15
TROUG
16 Ocak 2014
Sdo_Geometry
 Sdo_geomtry.Sdo_elem_info
 VARRAY (1048576) OF NUMBER
 Geometrinin nasıl bir obje olduğunu tarif eder.
16
TROUG
16 Ocak 2014
Sdo_Geometry
 Sdo_geomtry.Sdo_elem_info
 Ordinate Offset: Ilk ordinatı gösterir
 Element Type: Tipini gösterir: Line,Polyline,Line String,Compund
 Interpretation görevi elementype göre farklılık gösterir.Compound tiplerde
eleman sayısını gösterir.
Db kayıt şekli
17
TROUG
16 Ocak 2014
MDSYS Şeması
 Spatial ile ilgili tüm paket,stored procedure, function,metadata,index bilgileri, koordinat
sistemlerine ait bilgileri barındırır.
 Spatial ve locater yüklü tüm DB lerde olmak zorundadır.
 Sorgulama ve indexleme yapabilmek için sdo_geomtry tüm kolonlar için
mdsys.sdo_geom_metadata_table
(user_sdo_geom_metadata) de mutlaka olması gerekir.
 User_sdo_geom_metadata
(table_name,Column_name,diminfo,srid)
 Diminfo collection tipinde veridir.
 X,Y koordinatlarının üst ve alt sınır değerlerini tutar ve tolerans değerlerini tutar.
18
TROUG
16 Ocak 2014
Sorgulama Ve Indexleme
 Sorgulama Yapısı
 Spatial sorgulama yapılabilmesi için spatial index zorunludur.
 Operatör ve Fonksiyonlar
The SDO_FILTER operator
The SDO_RELATE operator
The SDO_WITHIN_DISTANCE ve SDO_NN operator
SDO_FILTER( <geometry-1>,<geometry-2>)=‘TRUE’
<geometry-1> aramanın yapılacağı kolon,index zorunlu
<geometry-1> değişken veya bir tablo kolonu olabilir.
19
TROUG
16 Ocak 2014
Spatial Operatorler ve Fonksiyonlar
 SDO_FILTER
 Sorgulamada en hızlı yöntemdir ancak yaklaşık bir sonuç verir.
 Sadece ilk filtreleme işlemini yapar.
 SDO_FILTER( <geometry-1>,<geometry-2>)=‘TRUE’
• SDO_RELATE
• Tam doğru sonuç için kullanılması gereken sorgudur.
SDO_RELATE ( <geometry-1>,<geometry-2>,'MASK=<mask>') = 'TRUE‘
Mask=INSIDE, CONTAINS, COVERS, COVEREDBY, EQUAL, TOUCH, …
20
TROUG
16 Ocak 2014
Spatial Operatorler ve Fonksiyonlar
 Sdo_Relate ile kullanılan yaklaşımlar
 SELECT c.county, c.state_abrv FROM us_counties c,us_states s
WHERE s.state = 'New Hampshire'
AND SDO_RELATE(c.geom,s.geom,'mask=INSIDE') = 'TRUE';
 SDO_NN belirtiğiniz bir geometry en yakın geometriyi hesaplar
 SDO_WITHIN_DISTANCE belirtilen geometriye belirtilen mesafeki geomtrileri hesaplar
21
TROUG
16 Ocak 2014
İndexleme
 R-TREE INDEX Yapısı kullanılır.
 MBR:Mininum Boundind Rectable
 MBV:Mininum boundingVolume for 3D
22
TROUG
16 Ocak 2014
İndexleme
 CREATE INDEX us_states_sx
ON us_states (geom)
INDEXTYPE IS mdsys.spatial_index;
 Index oluşturulduğunda aynı user altına mdrtxxx$ isimli bir tablo oluşturulur.
 User create table ve create sequence haklarına sahip olmalı

Ek parametreler







23
SDO_INDX_DIMS
SDO_RTR_PCTFREE
TABLESPACE
INITIAL
WORK_TABLESPACE
SDO_DML_BATCH_SIZE
LAYER_GTYPE
TROUG
16 Ocak 2014
İndexleme
 Indexleme parça parça yapılır.
• Tüm objelerin okunması
• MBR ların oluşturulması
• Her geometri için ortalama 10 Byte lik rollback için alan gerekli
• Clusterların oluşturulması
 5 milyon kayıt için ortalama 1 Gbyte geçici alan gerekli
 Her index için SGA de ortalama 10 Mbyte alan gerekli
•
24
SIZE(Mb) = SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE
(NUMBER_OF_GEOMS, DB_BLOCK_SIZE
[,SDO_RTR_PCTFREE] [,NUM_DIMENSIONS]
[,IS_GEODETIC])
TROUG
16 Ocak 2014
Diğer Yetenekler
 Linear Referencing
 Lineer bir yapı boyunca belirli bir noktaya göre olayları veya başka
yapıları kaydetmeye yarar.
 Demiryolları, hava trafik yönetimi,altyapı
 Geocoding
 Referanslı bir adres datasını baz alarak text adresleri koordinarlara çevirebilir.
25
TROUG
16 Ocak 2014
Diğer Yetenekler
 Data Processing
 Geometrileri birleştirme, ayrıştırma,alan ve uzunluk hesaplama
 Network Data Model
 İstenilen obje kümeleri için aralarındaki ilişkileri tanımlayarak analiz




26
yapar
Node ve linkler tanımlayarak tüm ilişki bu yapı üzerinden sorgulanır.
Spatial sorgu kullanmaz.
Datayı oluşturmak için PL/SQL API leri, görüntülemek ve
sorgulamak için JAVA API leri mevcuttur.
En kısa, en hızlı, gidilebilir güzergah gibi sorgulamalar yapılabilir
TROUG
16 Ocak 2014
Oracle 10g-11g Karşılaştırma
 Redo Log Geliştirme
 Yeni yöntemler ve kod iyileştirmeleri ile index kaynaklı I/O miktarı %90
civarında azalmıştır
 DML işlemlerinde ki işlemler % 50 azalmıştır
 Sorgulamalarda 20 kata kadar hızlanmalar(Oracle User conferece 2012)
27
TROUG
16 Ocak 2014
Veri Kalitesine Etkiler
 Spatial datanın text veri ile birlikte tutulmasıyla
Text verideki tutarlılığın denetlenmesi için 2. bir kontrol
mekanizması oluşturur.
 Özellikle altyapı şirketleri, maden şirketleri ve belediyeler
için altyapının sağlıklı takip edilmesinde önemli katkılar
sağlanabilir.
28
TROUG
16 Ocak 2014