Content Management
Oracle relational modeli (structured data) desteklemesinin yanında complex structured (collections,types), semi-structured (Advence Queuing) object relational model tiplerini de desteklemektedir. Bugün daha çok unstructured data tiplerini üzerinde duracağız.
Günümüzde internetin de yaygınlasıyla video,foto gibi formatlarında kullanımı artmış ve veritabanı uygulamarının da vazgeçilmez ihtiyacı haline gelmiştir. Bunun için artık bizim örneklemede sürekli kullandığımız employees tablosunun içinde artık ilk employeenin fotosunu görmek isteyebilirsiniz Oracle unstructed datayı kendi native datası olarak görür ve yönetimi için toollar sağlar ve bütün tipler bir sql cümleciği kadar yakın ve hızlıdır.
XML in Oracle
XML DB xml’in depolanması,yönetilmesi ve sql ve xml modelinin sağlanması için oracle teknolojisidir. Ayrı bir server olarak düşünülmemesi gerekir. Xml Db xml’e native data type ‘ı gibi davranır. Database de xmltype olarak tutulur ve getClobVal() ile select çekebilirsiniz. Dönen değer clob değeridir ve pl/sql ile DBMS_LOB.freeTemporary() metodunda çağırabilirsiniz. Xmltype object tipidir yani tablo yaratabilirsiniz ve xml içeriği clob olarak tutulur ve çekilir. XML DB xml için sql ile ulaşılabilecek repository sağlar. Xml’e ftp,http gibi protokoller ve sql,pl/sql,java ile ulaşabilirsiniz
Overview of LOB Datatypes
BLOB, CLOB, NCLOB, and BFILE unstructed verinin binary ya da karakter olarak saklanmasını ve işlenmesini sağlar. BLOB veritipi veritabanında binary unstructured veriyi tutar. 8 terabyte binary veri tutar.CLOB character data set NCLOB da Unicode character setidir. BFİLE file sistemlerde binary veri tipidir .Read only dir .
Oracle text
Oracle text Oracle domain indeksleridir. Oracle Text, veritabanında saklanan metinlerin içeriklerinin indekslenmesi ve bu indekslerin üzerinden içerige dayalı gelişmiş sorgulamalar yapılmasına olanak verir. MS Office, Adobe PDF, HTML ve XML gibi 150 döküman tipini ve 40’tan fazla dili destekler. Oracle text veritabanına integredir ve oracle processi olarak çalışır. Oracle text web de ,database de , ya da dosyadaki dökümanları analiz,search,indeklerken standart sql kullanır. Oracle text kullanılırken textin kullanılacağı kolonun uygun indeks seçilerek indexlenir. Oracle text kullanmak CREATE INDEX yazıp tipini berlirtmek kadar kolaydır.Oracle text design ederken hangi tipte sorgu kullancağanız önemlidir. Böylece en uygun index’i seçmiş olursunuz .Çünkü her uygulama türü farklı indeks kullanır.
Index types
Standart arama da metin eşleme yapılır. Dökümanlar document table da saklanır ve html,pdf,doc gibi formatlarda olabilir. Bu tür dökümanlar CONTEXT index ile document table da saklanırlar. Sorgular kelime ya da phrases lerden oluşabilir. OR ve AND operatörleri kullanılabilinir. Sql ifadesi contains operatörü içerir. Cataloglama da ctxcat indeksi catsearch operatörü ile kullanılır.Mixed querylerde performance açısından daha iyidir. Context indekse gore daha fazla oluşturulurken ve kullanılırken daha fazla disk kullanımı gerçekleştirir. Ctxrule ise stream olarak gelen dökümanları daha önceden belirlenmiş kurallara gore sınıflayarak diğer tablolara
İntermedia
Intermedia Resim SesVideo gibi nesnesel objeleri depolayan yöneten Oracle uygun, etkin ve etkili relational model dışında blob,image,video gibi complex objelere destek vererek object relational modele destek veren teknolojisidir.. Oracle ORDAudio, ORDImage, ORDVideo gibi object typelarına destek vererek orta katmamın objeyi kullanamasını ve işlemesini destekler. Obje tiplerini create table olarak yarabilirsiniz yani varchar2 kolon yaratmaktan farkı yok. Media ortam verisi metadata objenin uzunluğu compression type vb Methots da objenin üzerinde gerçeleşebilcek procedürler getContent( ) and setProperties( ).
İntermedia objeleri ya internal blob olarak ya da url si tutularak http serverda external olarak tutulur.External olarak tutulması consistency açısından sakıncalıdır. Kullanıcı tarafından farklı lokasyonlara konulursa ulaşılamama durumuyla karşılalbilinir. SQL, PL/SQL, OCI, or Java ile multimedia objelerine ulaşabilir ve işleyebilirsiniz. Java servlets,jsp lerdeki classlarla intermedia objelerine ulaşabilirsiniz. Java ıntermedia classes jai databasede deki intermedia objelerinden ordimage I yazar ve okur.
Content-Based Retrieval
Içerik temelli sunum sadece image ler için geçerlidir. Içerik temeli sunum imaged-based bilgisini almada zamani azaltir. Büyük veritabanlarinda her update ve insertde gibi sorgularda image’in özelliklerini getirmek pratik degildir. Içerik temelli sunum objenin color,shape,texture gibi özellikleri getirmede pratiklik saglar.
Content base retrival resmin içerigi soyutlar ve daha compact halde veritabanina insert edilir. Sorgular bu abstraction üzerinden çalışır. Böylece resim analiz edilir resmi temsil eden vektörler olusturulur buna signature denir. Signature rengi ,sekli gibi image’in özelliklerini saklar. Signature’lar image’i renklere göre bölümlere ayırır ve her bir bölüm 3000 – 4000 arasında bytelardan oluşur. Daha iyi performace için index-based signature kullanılabilinir. Şekilde görüldüğü gibi signature
Bu indeksler ORDImageIndex olarak geçiyor. Her update ve insert işleminde işleminde inkdes kendini update eder. Default olarak image search işlemlerinde signature lar karşılaştırılır fakat bu linear search milyonlarca image ‘in olduğu veritabanlarında performance kaybı olarcaktır. Bunda dolayı Indeksler işimizi kolaylaştırcaktır.