Büyük Veri terimini uzun süredir duyuyoruz, ama bu Büyük Veri tam olarak nedir? Nesnelerin İnterneti tarafından üretilen veri miktarı yıllar içinde önemli ölçüde arttı ve katlanarak artmaya devam ediyor. Geleneksel yöntemlerin işlenmesi için uygun olmayan bu büyük miktarda verinin işlenmesi Büyük Veri olarak adlandırılır. Bu tür veriler, veri depolamak ve işlemek için kullanılan geleneksel RDBMS sistemlerine zorluklar getirir. Bu kadar veriyi zamanında ve uygun maliyetli bir şekilde saklamak ve işlemek için gereken işlem gücü çok büyüktür. Bu sorunu çözmek için, büyük yapılandırılmamış verilerin işlenmesi için özel olarak tasarlanmış yeni ve geliştirilmiş Büyük Veri çözümleri gereklidir. Birçok teknolojiden Hadoop ve MongoDB, büyük verilerin depolanması ve işlenmesi konusunda iki popüler seçenektir. Her ikisi de temelde yaptıklarıyla oldukça benzer olsa da, nasıl yaptıkları konusundaki yaklaşımları oldukça farklıdır. Hadi bir bakalım.
MongoDB, küçük başlangıçlardan Fortune 500 şirketlerine kadar milyonlarca kullanıcıyla fiili NoSQL veritabanı haline gelen açık kaynaklı bir belge veritabanıdır. Önde gelen işletmeler ve tüketici bilişim şirketleri MongoDB'nin ürün ve çözümlerindeki yeteneklerinden yararlanır. C ++ ile yazılmış olan MongoDB, yüksek şema, yüksek kullanılabilirlik ve kolay ölçeklenebilirlik çözümleri sağlayarak SQL şeması tabanlı veritabanlarının sınırlamalarını etkin bir şekilde ele alan çapraz platformlu, belge tabanlı bir veritabanıdır. Modern web için tasarlanmış bir veritabanıdır. Diğer NoSQL veritabanları gibi, MongoDB de tablo, satır ve sütun kavramları olmayan RDBMS ilkelerine uymaz. İlgili tüm verilerin tek bir belgede bir araya getirildiği BSON belgelerinde verilerini depolar.
Hadoop, bilgisayar kümeleri arasında büyük miktarda veri depolamak ve işlemek için tasarlanmış açık kaynaklı bir çerçevedir. Java tabanlı bir uygulama ve veri işleme çerçevesi oluşturan farklı bir yazılım koleksiyonudur. Fikir, büyük ölçekli verileri mümkün olan en kısa sürede makul maliyetle işlemektir. Hadoop üç ana kaynaktan oluşur: Hadoop Dağıtılmış Dosya Sistemi (HDFS), Google'ın MapReduce programlama platformu ve tüm Hadoop ekosistemi. Hadoop ekosistemi, sistemi programlamaya, kümeyi yönetmeye ve yapılandırmaya, verileri kümede yönetmeye ve depolamaya ve analitik görevleri gerçekleştirmeye yardımcı olan modüllerden oluşur. Hadoop MapReduce veri analizi sürecine hem yapılandırılmış hem de yapılandırılmamış verilerden çok miktarda yardımcı olur. Hadoop, Apache Software Foundaton'un tescilli ticari markasıdır ve MapReduce paralel işleme çerçevesi.
- Her ikisi de büyük veri çözümleri olarak kabul edilirken, MongoDB temel olarak mevcut RDBMS sistemlerini değiştirmek veya geliştirmek için tasarlanmış genel amaçlı bir platformdur. MongoDB, açık kaynaklı bir belge veritabanıdır ve satırları ve tabloları değil, esnek, ölçeklendirilebilir ve hızlı hale getirmek için belgeleri kullanan önde gelen NoSQL veritabanlarından biridir. Öte yandan Hadoop, bilgisayar kümeleri arasında büyük miktarda veri depolamak ve işlemek için tasarlanmış açık kaynaklı bir çerçevedir. Hadoop, mevcut RDBMS sistemlerinin yerini almaz; aslında, veri analitiğinin hem yapılandırılmış hem de yapılandırılmamış verilerden büyük miktarlarda işlemesine yardımcı olacak bir tamamlayıcı görevi görür.
- Hadoop ekosistemi, verileri saklamak ve düzenlemek ve Hadoop'u çalıştıran makineleri yönetmek için Google'ın MapReduce programlama platformunun ve HDFS'nin (Hadoop Dağıtılmış Dosya Sistemi) kullanan veya yanındaki araçların bir koleksiyonudur. HDFS, veri erişimi akışı için tasarlanmıştır. MongoDB ise farklı bir yaklaşım sunuyor; ilişkisel veritabanlarının temelini korurken, NoSQL'in yeteneklerini kullanan Nexus Mimarisini temel alır. Verileri, BSON (Binary JSON) adlı ikili sunumda, genellikle koleksiyon olarak düzenlendikleri belge olarak depolar.
- Hadoop'un en büyük gücü MapReduce. Bugün Hadoop piyasadaki en iyi MapReduce çerçevesidir. MapReduce'un arkasındaki kavram, girdinin mantıksal parçalara ayrılabileceği ve her bir parçanın bir harita görevi tarafından bağımsız olarak işlenebileceğidir. Bir harita görevi kümedeki herhangi bir hesaplama düğümünde ve birden çok harita görevi kümede paralel olarak çalışabilir. MongoDB ise, başlangıç MVP'lerinden ve POC'larından yüzlerce sunuculu kurumsal uygulamalara kadar yükleri kaldırabilen bir belge veritabanıdır. MongoDB niş bir veritabanı çözümü olmaktan fiili NoSQL veritabanına doğru büyümüştür. Belge kavramı gerçekten etkileyici ve esnektir.
Her ikisi de temelde yaptıklarıyla oldukça benzer olsa da, nasıl yaptıkları konusundaki yaklaşımları oldukça farklıdır. MongoDB, verileri BSON olarak adlandırılan ikili sunumda belgeler olarak saklarken, Hadoop'ta veriler sabit boyutlu bloklar halinde saklanır ve her blok sistem genelinde birden çok kez kopyalanır. Hadoop ekosistemi, Google'ın MapReduce programlama platformunu kullanan veya yanında bulunan bir araç koleksiyonudur, oysa ilişkisel veritabanlarının temelini korurken NoSQL'in yeteneklerini kullanan Nexus Mimarisine dayanan MongoDB.