Upload
tarala
View
99
Download
1
Embed Size (px)
DESCRIPTION
Oracle Spatial ve Veri Kalitesi. Murat HANÇEROĞLU. 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. - PowerPoint PPT Presentation
Citation preview
16 Ocak 2014TROUG
(1)
Murat HANÇEROĞLU
Oracle Spatial veVeri Kalitesi
TROUG
Ajanda
16 Ocak 20142
Oracle Spatial Nedir?Neden Oracle Spatial?Kullanım Alanları Nelerdir?Teknik Analizi
Sdo_geometryMDSYS ŞemasıSorgulama ve IndexlemeDiğer Yetenekler10g-11g performans karşılaştırma
Veri Kalitesine Etkisi
TROUG 16 Ocak 20143
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
Oracle Spatial Nedir?
TROUG 16 Ocak 20144
Oracle veritabanlarının tüm versiyonlarında mekansal veriyi kaydetmeye,sorgulama ve işleme yeneteklerine sahip Oracle Locator versinyonu bulunmaktadır.
Oracle Spatial Nedir?
TROUG 16 Ocak 20145
• 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
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)
Locater Spatial
Oracle Spatial Nedir?
TROUG 16 Ocak 20146
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önetimsistemleri ile entegrasyon sağlayabilir(Open GeoSpatial Consersium standartlarında Veri üretir)
Neler Yapılabilir?
TROUG 16 Ocak 20147
Raster görüntüleri kaydedip, sorgulayabilir ve işleyebilir
Augmented Reality uygulamaları
Oracle Fusion Middleware ile tam entegre ederek Map Viewer ile Haritaların görüntülemesi Ve entegrasyonların gerçeklenmesi
Linear Referencing işlemleri
Neler Yapılabilir?
TROUG 16 Ocak 20148
Neden Spatial sorusunun cevabını bulmak için geçmişten bugüne konum bazlı uygulamalarının geçmişten bugüne evrimine bakabiliriz1990 başlarında
2000 lere doğru
Bugün
Application Standalone GIS Apps
ApplicationSpatial
MiddleWareTraditional DBMS
Custom APIS
Application
Mapping Server Spatial
DBMS
Open APIs
Neden Oracle Spatial?
TROUG 16 Ocak 20149
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..)
Neden Oracle Spatial?
TROUG 16 Ocak 201410
Veritabanında Spatail ve Locater durumu nedir?
select comp_id, comp_name, version, status from dba_registry where comp_id in ('SDO', 'ORDIM');
Spatial – Teknik Genel Bakış
COMP_ID COMP_NAME VERSION STATUS------- ------------------ ----------- ------SDO Spatial 11.2.0.1.0 VALIDORDIM Oracle Multimedia 11.2.0.1.0 VALID
TROUG 16 Ocak 201411
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)
Spatial – Teknik Genel Bakış
TROUG 16 Ocak 201412
Oracle Spatial için kullanılan temel veri tipidir.
Mdsys şeması altındadır.
CREATE TYPE sdo_geometry AS OBJECT (SDO_GTYPE NUMBERSDO_SRID NUMBERSDO_POINT SDO_POINT_TYPESDO_ELEM_INFO SDO_ELEM_INFO_ARRAYSDO_ORDINATES SDO_ORDINATE_ARRAY);
Sdo_Geometry
TROUG 16 Ocak 201413
Sdo_gtype NumberGeometrinin 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-(POLYLINE-LINE) 2006 3006
7 MULTI-POLYGON 2007 3007
Sdo_Geometry
TROUG 16 Ocak 201414
Number
Sdo_Geomtry.SridVerinin hangi koordinat sistemine ait olduğu bilgisini tutar.MDSYS.CS_SRS bulunmak zorundadır.
Sdo_geomtry.sdo_pointPoint datalara ait x,y,z koordinatlarını içerir.
Point data tipleri için optimizasyonsağlar
Sdo_Geometry
TROUG 16 Ocak 201415
Sdo_geometry.sdo_odinatesVARRAY OF NUMBER
Geometriyi oluşturan noktaların kaydedildiği ildir.
select * from table(select a.geom.sdo_ordinatesFrom scott.us_statesa where rownum=1)
Sdo_Geometry
TROUG 16 Ocak 201416
Sdo_geomtry.Sdo_elem_infoVARRAY (1048576) OF NUMBERGeometrinin nasıl bir obje olduğunu tarif
eder.
Sdo_Geometry
16 Ocak 2014TROUG17
Sdo_geomtry.Sdo_elem_infoOrdinate Offset: Ilk ordinatı gösterirElement Type: Tipini gösterir: Line,Polyline,Line
String,CompundInterpretation görevi elementype göre farklılık
gösterir.Compound tiplerde eleman sayısını gösterir.
Sdo_Geometry
Db kayıt şekli
TROUG 16 Ocak 201418
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.
MDSYS Şeması
TROUG 16 Ocak 201419
Sorgulama Yapısı
Spatial sorgulama yapılabilmesi için spatial index zorunludur.
Operatör ve FonksiyonlarThe SDO_FILTER operatorThe SDO_RELATE operatorThe SDO_WITHIN_DISTANCE ve SDO_NN operatorSDO_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.
Sorgulama Ve Indexleme
TROUG 16 Ocak 201420
SDO_FILTERSorgulamada 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, …
Spatial Operatorler ve Fonksiyonlar
TROUG 16 Ocak 201421
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
Spatial Operatorler ve Fonksiyonlar
TROUG 16 Ocak 201422
R-TREE INDEX Yapısı kullanılır. MBR:Mininum Boundind Rectable MBV:Mininum bounding Volume for 3D
İndexleme
TROUG 16 Ocak 201423
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 SDO_INDX_DIMS SDO_RTR_PCTFREE TABLESPACE INITIAL WORK_TABLESPACE SDO_DML_BATCH_SIZE LAYER_GTYPE
İndexleme
TROUG 16 Ocak 201424
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 gerekliHer index için SGA de ortalama 10 Mbyte alan gerekli
• SIZE(Mb) = SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE (NUMBER_OF_GEOMS, DB_BLOCK_SIZE [,SDO_RTR_PCTFREE] [,NUM_DIMENSIONS] [,IS_GEODETIC])
İndexleme
TROUG 16 Ocak 201425
Linear ReferencingLineer bir yapı boyunca belirli bir noktaya göre
olayları veya başka yapıları kaydetmeye yarar. Demiryolları, hava trafik yönetimi,altyapı
GeocodingReferanslı bir adres datasını baz alarak text adresleri
koordinarlara çevirebilir.
Diğer Yetenekler
TROUG 16 Ocak 201426
Data ProcessingGeometrileri birleştirme, ayrıştırma,alan ve uzunluk
hesaplamaNetwork Data Model
İstenilen obje kümeleri için aralarındaki ilişkileri tanımlayarak analiz 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
Diğer Yetenekler
TROUG 16 Ocak 201427
Redo Log GeliştirmeYeni yöntemler ve kod iyileştirmeleri ile index kaynaklı I/O
miktarı %90 civarında azalmıştırDML işlemlerinde ki işlemler % 50 azalmıştırSorgulamalarda 20 kata kadar hızlanmalar(Oracle User
conferece 2012)
Oracle 10g-11g Karşılaştırma
TROUG 16 Ocak 201428
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.
Veri Kalitesine Etkiler