180 likes | 392 Views
JASPA – JAVA SPATIAL DATABASE. Kocaeli Üni . Bilgisayar Mühendisliği Dönem Projesi Danışman : Yrd. Doç. Dr. Ahmet Sayar. SPATIAL DATABASE NEDİR ?.
E N D
JASPA – JAVA SPATIAL DATABASE Kocaeli Üni. Bilgisayar Mühendisliği Dönem Projesi Danışman : Yrd. Doç. Dr. Ahmet Sayar
SPATIAL DATABASE NEDİR ? • Bir spatial veritabanı, uzaydaki points, lines, polygons gibi objeleri depolamak ve sorgulamak için optimize edilmiş veritabanıdır. Tipik veritabanları, verinin çeşitli numerik ve karakter tiplerini tanıyabiliyorken, uzaysal veri tiplerini işleyebilmek için ek fonksiyonların eklenmesine ihtiyaç duyulur.
SPATIAL DATABASE NEDİR ? • Veritabanı sistemleri değerlere hızlıca ulaşabilmek için indexleri kullanır, fakat bir çok veritabanının bu index verisi spatial(mekansal) sorgular için kullanışlı değildir. Onun yerine, spatial veritabanları, veritabanı işlemlerini hızlandırmak için bir spatialindex kullanırlar. SELECT gibi tipik SQL sorgu deyimlerine ek olarak, spatial veritabanları bir çok spatial işlemi(operations) yönetebilir.
JASPA NEDİR ? • Jaspa, ilişkisel veritabanları için bir konumsal uzantıdır. • İlişkisel veri tabanı, çeşitli tablolar arasında organize edilmiş verilerden oluşan veri saklama katmanıdır. Bu farklı tablolar arasındaki veriler, çeşitli anahtarlar vasıtası ile birbirlerine bağlanırlar.
NE ANLAMA GELİYOR KONUMSAL UZANTI ? • Standart veritabanı sorgusu yazarken kullandığımız yapı aynen kullanılır. “Select” , “From” , “Where” gibi anahtar sözcükleri kullanarak oluşturduğumuz sorgu yapısı aynen kurulur. • Bu yapıya, konumsal sorguya izin verecek metotlar kazandırılır.
JASPA NEDİR ? • Jaspa, veri tabanı sistemine konumsal verilerin işlenebilmesi için 200’e yakın foksiyon getirir.Bu200 fonksiyon tamamen Java ile kodlanmıştır. • JaspacoreJava classlarından oluşmaktadır. Sisteme kazandırdığı yaklaşık 200 fonksiyonun hepsi statik Java metotlarıdır.
JASPA NEDİR ? • Birden fazla ilişkisel veri tabanını kullanabilir Jaspa. PostgreSQL daha tercih edilenidir. Bunun yanında ise sunucu taraflı H2 veritabanını da kullanabilir. Anlatım PostgreSQL üzerinden olacaktır. • İlişkisel veri tabanı olarak kullandığımız PostgreSQL ile core Java classlarının etkileşim içerisine girmesini PL/Java teknolojisine borçluyuz.
PL/JAVA NEDİR ?Konsept • İhtiyaca göre statik java metodumuz yazılır • Jar tipine çevirilir • PostgreSQL tarafından bu Jarload edilir • Classpathayarlanır • PostgreSQL veritabanı yönetim sistemimizde fonksiyon yazılır • Fonksiyonun gövdesi load edilen jarlar içerisindeki classlar olacak şekilde belirlenir
PL/JAVA NEDİR ?postgresql.conf • PL/JAVA için birtakım parametreleri PostgreSQL ilişkisel veritabanı yönetim sistemi kurulum dosyası altındaki bir konfigürasyon dosyasına eklemeniz gerekiyor. gerekiyor • 8.4 için C:\Program Files\PostgreSQL\8.4\data\postgresql.conf • 9.0 için C:\Program Files\PostgreSQL\9.0\data
STANDARTLAR • Jaspa, dünya üzerindeki spatial veriler hakkında standart geliştiren OGC ( Open GIS Consortium) ye ait SFS (SimpleFeaturesforSql) ve SQL/MM standartlarını desteklemektedir. Bunun anlamı ise Jaspa standartları dünya standartlarına sahiptir.
ÖRNEK • Örnekte görüldüğü üzere normal ilişkisel veritabanındaki yapı korunmuştur. • Jaspanın kazandırmış oluğu “ST_GeomFromText” fonksiyonu ile dinamik olarak noktaları verilen bir polygon işleme tabii olmak üzere shape özelliği kazanmıştır • “ST_AsEWKT” metodu ise geri dönüş setindeki veri tipini EWKT formatına dönüştürmüştür.
NEDEN JASPA ? • Tamamen Java ile kodlanmış • Diğer Java veritabanlarına rahatlıkla geçiş • Geliştirilmesi kolay • 200 den fazla fonksiyon • Kolay anlaşılabilir