12 Ekim 2012 Cuma

Big Data Kavramı Nedir? - Oracle Big Data Appliance

Big Data Kavramı Nedir? - Oracle Big Data Appliance

Bu yazımda günümüzde sıklıkla konuştuğumuz, tartıştığımız ve ilgilendiğimiz Big Data kavramından ve Oracle'ın Big Data kavramına yaklaşımından, sunduğu çözümlerden bahsetmeye çalışacağım.

Big Data Nedir? - Kavram olarak

"Zamanla toplanan büyük miktarda verilerin ekonomik ve ölçeklenebilir bir biçimde ve ilişkisel veritabanı tekniklerinin yetmediği noktalarda kullanılabilir ve anlamlandırılabilir kılınması kavramıdır". Verinin önemi ve değeri her geçen gün artmakta. Verinin öneminin ve değerinin artmasının nedeni ise veri miktarlarının ve çeşitliliğinin artıyor olması. Baktığımızda Big Data kavramının kökleri 2004 yılına dayanmakta. Yani 2004 yılından beri dünyanın en büyük teknoloji devlerinin yatırım yaptığı ve kullandığı bir kavram.

Big Data bir kavramdır ve bünyesinde açık kaynak kodlu yazılımlar barındırır. Bu yazılımların çekirdeğini Hadoop ismini verdiğimiz bir dizi yazılımlar grubu kapsar. Bu yazılımlardan bazılarını şöyle listeleyebiliriz;

Hadoop Core
HDFS (Hadoop Distributed File System)
Hive (Data Warehouse)
HBase
ZooKeeper
Oozie
Mahout
Sqoop
Cloudera Manager

Big Data kavramı yukarıdaki yazılım bileşenleri ile sınırlı değildir. Big Data kavramı aslında sizin hayal ettiğiniz kadarıyla sınırlıdır. Buna ben "Big Data = Hayal Gücü" diyorum ve yazımın kalan kısımlarında neden "Hayal Gücü" olduğunu ifade etmeye çalışacağım.

Big Data Kavramı ve 4 V

Big Data kavramının net olarak akıllarda oturabilmesi için ilişkisel olmayan ortamdan bir süreliğine ayrılıp, 4 adet V'den ve ilişkisel olmayan ortam ile bildiğimiz ve kullanımına alıştığımız ilişkisel ortamı (RDBMS) nasıl bir araya getirebiliriz, bundan bahsedelim.

Volume (Hacim): Big Data kavramının oluşmasına sebep olan belkide en önemli neden elimizdeki verinin hacminin her geçen gün logaritmik olarak artıyor olması. Verilerin hacmi bu kadar artarken doğal olarak şirketlerin BT maliyetleri de artmakta. Artan BT maliyetlerini kısmak ve bütün bu verilerin saklanacağı ve yönetileceği ortamı ayarlamak gerekmekte.

Velocity (Sürat): Hacmi artan verilere ek olarak bu verilerin çok hızlı bir şekilde sisteme aktığını ve karşılamak durumunda olduğunu düşünün. İlişkisel veritabanına bu kadar hızlı veriyi yüklemek zahmetli ve maliyetli olacaktır. Dolayısıyla verinin hacmi dışında sisteme çok süratli bir biçimde akıyor olması da Big Data kavramını ve kullanımını açıklayan bir diğer V'dir.

Variety (Çeşitlilik): Sosyal medya, sensör verileri, CRM dosyaları, dokümanlar, imajlar, video'lar vb. aklınıza gelebilecek bütün verileri, kaynakları ve ve tiplerini hayal edin. Bunların tamamını ilişkisel bir veritabanında sakladığınızı hatta veritabanını geçtim, bildiğimiz bir file system üzerinde bile saklamak pek mümkün değil ve maliyetlidir. Verilerin çeşitliliği artmışsa ve bütün bu verileri işlemek, analiz etmek ve saklamak istiyorsak Big Data kavramı bunun için biçilmiş kaftan.

Value (Değer): Diğer 3 V'nin bir araya gelmesi ile bir başka V oluşmaktadır. Bu da value, yani değerdir. Yüksek hacimlerde, çeşitli ve çok hızlı akan ve sisteme giren verinin bir de değerinin olması lazım. Aksi halde katlanılan maliyet > elde edilen değer haline gelir. Bunun olmaması için sahip olduğumuz verileri anlamlandırmamız, değer katmamız ve analiz çalışmasını yapmamız gerekmekte. Böylece Big Data kavramının dördüncü V'si value olmuş oluyor.

Yukarıda bahsettiğim 4 V'i kapsayan veri ve veri tiplerinin depolanması, saklanması, analiz edilmesi, değer katılması ve raporlanabilmesi için Oracle bir Engineered System geliştirdi. Buna biz "Oracle Big Data Appliance" adını koyduk. Big Data Appliance'a geçmeden önce biraz Hadoop ve cluster yapısından, güncel yaklaşımlardan bahsedelim

Hadoop Cluster'ı ve Geleneksel Mimari

Bildiğiniz üzere Oracle, geleneksel mimari dışında Engineered Systems adını verdiğimiz mühendislik sistemleri geliştirmekte. Bu sistemlerin öncülüğünü Oracle Exadata Veritabanı Makinesi çekmekte. Amaç, yazılım ve donanımın bir arada sunulması ve geleneksel mimarideki bildiğimiz ve artık ne yazık ki alıştığımız bir takım problemlerin ortadan kaldırılması. Örneğin tek bir üreticiden destek alamadığınız durumlarda ortada bir problem varsa; problemi donanım ekibi yazılıma, yazılım ağ ekinine, ağ ekibi de tekrar donanıma atar. Dolayısıyla donanımın A üreticisinden, yazılımın B üreticisinden, cluster'ın C, ağ bileşenlerinin D vs. şekilde hizmet alındığı zaman alışılagelmiş problemler meydana geldiğinde çözüm ve destek almak zor olabilir.

Aynı geleneksel yapıda kurulum ve yönetim bir Hadoop Cluster'ı ve bu cluster'ın yukarıda bahsettiğim yazılım bileşenleri için de geçerlidir. Önce donanımı tedarik edersiniz. Ardından ağ bileşenlerini tedarik edersiniz ve donanımları birleştirmek ve test etmekle uğraşırsınız. Daha sonra tedarik ettiğiniz bir işletim sistemi yazılımını bu donanımlar üzerine kurmaya ve çalıştırmaya zaman ve emek harcarsınız. Her şeyin bu aşamada da düzgün çalıştığını anladıktan sonra koşacak yazılımların ve cluster'ın kuruluma geçersiniz. Hadoop Cluster'ını kurduğunuz ve çalışır hale getirdiğiniz zaman haftalarınız, belki de aylarınız geçmiş olur. Daha sonra bu cluster'ın büyüme ihtiyacı hasıl olduğunda bütün süreci başa sararsınız ve belkide farklı üreticilerden yine aynı tipte ürünleri alıp, sisteme entegre etmekle uğraşırsınız. İşte Oracle tam bu noktada Oracle Big Data Appliance'ı sunmakta ve sizi bütün bu gereksiz maliyetlerden ve zaman kaybından kurtarmakta.

Oracle Big Data Appliance

Oracle Big Data Appliance, bütün bu bahsettiğimiz yazılımlar ve ihtiyacınız olan diğer tüm donanımların bir arada sunulduğu bütün ve entegre, test edilmiş ve onaylanmış bir Oracle çözümüdür. Big Data Appliance üzerinde Hadoop Cluster'ı ve Oracle Enterprise Linux kurulu gelmektedir. Bu ürünün üzerinde koşan ilişkisel bir veritabanı bulunmamaktadır. RAC, ASM gibi Oracle veritabanı bileşenleri de bulunmamaktadır. Bunların yerine "Key-Value" saklama ve sorgulama yapabilen Oracle NoSQL veritabanı bulunmaktadır. Dolayısıyla Oracle Big Data Appliance üzerinde kurulu gelen ve koşan bütün yazılımlar ücretsizdir. Oracle size Hadoop'u ve yapabileceklerini hemen kullanmanız için gerekli ortamı sağlamaktadır. Kurulumu haftalar değil, günler bazındadır. Dolayısıyla yukarıda bahsettiğim aylar süren ve kendinizin çabaladığı süreci Oracle Big Data Appliance ile geride bırakmış olursunuz. Desteği tamamen Oracle'dan almış olursunuz.




Oracle Big Data Appliance'ın entegre yazılım bileşenleri aşağıdaki gibidir;


Oracle Big Data Appliance'ın donanım bileşenleri aşağıdaki gibidir;


Oracle Big Data Appliance kendi içinde Infiniband (40 Gb/sec) ağ ile haberleşmekte ve geleneksel herhangi bir mimariye göre en az 4 kat daha hızlı haberleşmektedir. Aynı zamanda diğer Oracle mühendislik sistemleri ile tam entegre olabilmektedir.


Yukarıdaki imajı soldan sağa doğru özetlemek gerekirse sırasıyla;

1. Adım - Veri Akışı: Birden çok kaynaktan, birbirinden farklı tipte verilerin sisteme aktığı aşamadır. Bu aşamada verilerin sisteme akışı hazırlanır ve Oracle Big Data Appliance'a yüklenmek üzere yapılandırılır.

2. Adım - Toplama ve Organize Etme: Veriler yüksek hacimle, çeşitlilikle ve hızla Oracle Big Data Appliance'a ve dolayısıyla HDFS üzerine kaydedilirler ve saklanırlar. HDFS varsayılan olarak "triple mirroring" yaparak (gelen veriyi 3 kopya olacak şekilde saklar) kurulmuş Hadoop Cluster'ı üzerinde dağıtır (toplamda 18 düğüm üzerinde).

3. Adım - Analiz ve Raporlama: Oracle Big Data Appliance üzerindeki verileri "Map/Reduce" ismini verdiğimiz bir Java kodundan geçirip, ilişkisel bir veritabanına yüklenebilecek formata getirdikten sonra yine Infiniband aracılığı ile bağladığımız Oracle Exadata'ya verileri aktarıp, ilişkisel dünyaya dahil ediyoruz.

Yazımın başında Big Data'nın sizin hayal gücünüzle sınırlı olduğunu ifade etmiştim. Bütün bu saydığımız olasılıkları değerlendirdiğiniz zaman Big Data'yı ve kapsamını kullanabileceğiniz birçok alan olduğunu görebilirsiniz. Ayrıca sekiz adet Big Data Appliance'ı birbirine ek switch gerekmeden infiniband aracılığı ile bağlayabilirsiniz.

Oracle'ın geliştirdiği ve kullanıma hazır olan bir diğer yazılım ise "Oracle Big Data Connectors".

Oracle Big Data Connectors

Bu yazılım bileşenlerinin amacı veriyi Big Data Appliance'dan Oracle veritabanına kolaylıkla çıkartmaktır. Verinin HDFS'ten dolayısıyla Hadoop Cluster'ından ilişkisel ortama çıkartılabilmesi için de emek ve zaman harcamanız gerekmektedir. Aynı zaman kurumunuz bünyesinde bunu yapabilecek yetkinlikte personel bulundurmanız veya danışmanlık hizmeti almanız gerekmektedir. Big Data ile Oracle veritabanının arasındaki köprü görevini görecek ve yükleme zahmetini ve maliyetini azaltacak olan bu connector yazılımlarından bahsedelim;

- Oracle Loader for Hadoop
- Oracle Direct Connector for Hadoop Distributed File System (HDFS)
- Oracle Data Integrator Application Adapter for Hadoop
- Oracle R Connector for Hadoop

Oracle Loader for Hadoop

Bu yazılım bir çeşit Map/Reduce aracıdır ve amacı Hadoop'tan Oracle veritabanına verilerin aktarılmasının optimize edilmesini sağlamaktır. Oracle Loader for Hadoop veriyi, veritabanına yüklenebilecek formata getirebilmek için optimize eder ve değiştirir. Bunu yaparken olası CPU ve I/O miktarını da azaltmaya destek olur.

Oracle Direct Connector for Hadoop Distributed File System (HDFS)

Bu yazılımın amacı Oracle veritabanından HDFS ortamına çok hızlı bir şekilde erişimi sağlamaktır. Direct Connector sayesinde dilediğimiz zaman ilişkisel ortamdan, ilişkisel olmayan Big Data ortamına sorgulama yapabiliyoruz. Burada direkt SQL erişiminden bahsediyorum, yani bir nevi "External Table". HDFS üzerindeki veri sorgulanabilir ya da ilişkisel veritabanına yüklenebilir.

Oracle Data Integrator Application Adapter for Hadoop

ODI aracının Big Data ile birleştirildiği yazılımdır. Amacı HDFS üzerinden Oracle veritabanına veri aktarmaktır. Hadoop implementasyonları ciddi Java ve Map/Reduce kodu bilmeyi gerektirmektedir. ODI Connector'ü ile bir grafiksel arayüz ile Map/Reduce fonksiyonları yazılabilmekte ve kullanılabilmektedir. Ardından geliştirilen bu kod Hadoop üzerinde koşulmakta ve Map/Reduce işlemleri yerine getirilebilmektedir.

Oracle R Connector for Hadoop

R Connector'ü bize istatistiki analizler yapmamızı sağlamaktadır.

Kaynaklar

http://www.oracle.com/technetwork/server-storage/engineered-systems/bigdata-appliance/overview/bigdataappliance-datasheet-1453665.pdf

http://www.oracle.com/technetwork/bdc/big-data-connectors/overview/ds-bigdata-connectors-1453601.pdf

http://oracle.com/bigdata

İyi çalışmalar dilerim.

Ogan


Hiç yorum yok:

Takip et: @oganozdogan