MapReduce, profesyonel bir veri mühendisi olmak için ustalaşmanız gereken temel bir programlama konseptidir. Dağıtık büyük veri dosya yönetim sistemlerine çözümler sunar. Bu nedenle, MapReduce'un teorik arka planını anlamak, tekniği öğrenmeyi sizin için kolaylaştıracaktır.
Ancak MapReduce nedir ve dağıtılmış dosya sistemlerinde nasıl çalışır? Bu yazıda öğreneceksiniz.
MapReduce Nedir?
MapReduce, paralel sunucu veya düğüm kümeleri içinde büyük veri mantığını işleyen programlara veya uygulamalara uygulanan bir veri mühendisliği modelidir. Bir işleme mantığını birkaç veri düğümü arasında dağıtır ve sonuçları istemci-sunucuda toplar.
MapReduce, verilerin boyutundan bağımsız olarak işlemenin hızlı, bellek açısından verimli ve güvenilir olmasını sağlar.
Hadoop Dosya Sistemi (HDFS), Google Dosya Sistemi (GFS), Apache Kafka, GlusterFS ve daha fazlası, MapReduce algoritmasını kullanan dağıtılmış büyük veri dosya sistemlerine örnektir.
Dağıtılmış Dosya Sistemi Nedir?
Dağıtılmış dosya sistemi (DFS), büyük veri dosyalarını daha küçük parçalara bölmeyi ve bunları sistem içindeki birkaç sunucuya yaymayı içeren bilgi işlemde bir depolama yöntemidir. Çeşitli kaynaklardan gelen istemcilerin veri yazmasına ve okumasına, paylaşmasına ve veriler üzerinde programlanabilir mantığı çalıştırmasına ve herhangi bir yerden doğrudan çalışmasına olanak tanır.
Dağıtılmış bir dosya sistemi tipik olarak birincil sunucudan (Hadoop'ta NameNode olarak da adlandırılır) oluşur. tümü bir veride bulunan paralel kümeler ve çoğaltılmış veri parçalarını içeren birkaç düğüm veya sunucu merkez. Ancak, dağıtılmış dosya sistemi içindeki her küme bu düğümlerden yüzlerce ila binlercesini barındırır.
Birincil sunucu, kümelerdeki değişiklikleri otomatik olarak algılar. Böylece her bir düğüme göre roller atayabilir.
Birincil sunucu bir veri dosyası aldığında, bunu DFS içindeki kümelere gönderir. Bu kümeler, verileri içindeki her bir düğüme böler ve dağıtır. Her düğüm daha sonra bir zincir oluşturmak için verileri veri blokları olarak adlandırılanlara çoğaltır. Bu noktada, her düğüm bir yığın sunucusu haline gelir.
İlişkili:Veri Merkezleri Nedir ve Neden Önemlidir?
Birincil sunucu, verilere erişimi yönetmeye ek olarak, her dosyada bir meta veri notu tutar. Bu şekilde, her kümede hangi düğümün hangi dosyayı işlediğini bilir.
MapReduce Dağıtılmış Dosya Sistemlerinde Nasıl Çalışır?
Daha önce belirtildiği gibi, büyük veri bir DFS'deki birkaç yığın sunucusunda mevcuttur. Bu veri dosyalarında programlanabilir mantık yürütmenin bir yolu, onları tek bir dosyada toplamaktır. Daha sonra bunları, artık mantığı işleyen tek bir sunucuya çekebilirsiniz.
Bu, verileri sorgulamanın geleneksel bir yolu olsa da, sorun, verilerin tek bir sunucu içinde yeniden bir bütün haline gelmesidir. Bu nedenle, tek bir sunucunun aynı anda birkaç petabayt veri üzerindeki mantığı yönetmesi gerekecektir. Ne yazık ki, sistemin ilk başta çözmeyi amaçladığı sorun buydu. Yani sonuçta en iyi uygulama değil.
İlişkili:SQL Joins ile Aynı Anda Birden Çok Veritabanı Tablosu Nasıl Sorgulanır
Ayrıca, tek bir sunucuda böyle bir toplama, çeşitli performans riskleri doğurur. Bunlar, sunucu çökmesi, düşük hesaplama verimliliği, yüksek gecikme süresi, yüksek bellek tüketimi ve güvenlik açıklarından daha fazlasına kadar değişebilir.
Ancak programlanabilir mantığı çalıştırmanın başka bir yolu, verileri dağıtılmış her sunucunun içinde parçalar halinde bırakmaktır. Ve sonra mantık işlevini her sunucuya enjekte edin. Bu, bir küme içindeki her yığın sunucusunun artık hesaplamasını yaptığı anlamına gelir. Bu yaklaşımı kullanmak, verileri tek bir sunucuda toplamaya veya çekmeye gerek olmadığı anlamına gelir.
Dağıtılmış bir veri dosya sisteminde MapReduce konsepti var. Tek bir sunucunun kaynaktan veri çekmesine gerek kalmamasını sağlar. Bunun yerine, işleme işlevini (MapReduce) ayrı ayrı birkaç yığın düğümüne dağıtır. kümeler, böylece her küme içindeki her düğüm, mantığı tek tek aşırı yüklemeden tek tek işler. sunucu.
Sonuç olarak, birkaç sunucu aynı anda veri bitleri üzerinde mantığı işler. Sunucular arasındaki bu iş gücü dağılımı, diğer avantajların yanı sıra optimum performans ve daha yüksek güvenlik sağlar.
DFS'de MapReduce Sonucu Nasıl İşlenir?
MapReduce işleminin tamamı bir DFS'de şu şekilde çalışır:
- Birincil sunucu, istemciden bir büyük veri sorgusu (MapReduce işlevi) alır.
- Daha sonra bunu, içindeki her düğüme yaymak için her kümeye gönderir.
- Her düğüm MapReduce işlevini işler ve sonucunu toplar.
- Başka bir sunucu, her düğümden gelen sonuçları toplar ve bunları birincil sunucuya geri gönderir.
- Birincil sunucu daha sonra sonucu istemciye yanıt olarak gönderir.
Bu nedenle, birincil sunucunun tek işi, istemciye hazır olarak hesaplanmış bir sonuç göndermek, değişiklikleri dinlemek ve verilere erişimi yönetmektir. Herhangi bir hesaplama yapmaz. Bu nedenle çoğu bulut bilişim uygulaması, işledikleri veri miktarına rağmen etkileyici bir şekilde hızlıdır.
MapReduce'da Harita ve Küçültme Tam Olarak Nedir?
MapReduce, dağıtılmış bir dosya yönetim sisteminde (DFS) büyük verileri işlemek için iki programlama mantığı kullanır. Bunlar bir harita ve azaltma işlevidir.
bu harita işlevi, dağıtılmış bir dosya sisteminin her kümesindeki veri düğümlerinin her biri üzerinde işleme işini yapar. bu azaltmak işlevi daha sonra her bir yığın sunucusu tarafından döndürülen sonuçları toplar ve sonuç toplama için DFS içindeki başka bir sunucuya iletir. Alıcı sunucu, bu hesaplamayı, döndürülen değeri istemci tarafı sunucusuna gönderen birincil sunucuya gönderir.
Bir Chunk Sunucusu Düştüğünde Ne Olur?
Dağıtılmış dosya sistemi (DFS) içindeki sunucular bazen kapalı kalma süresi yaşayabilir. Bunun tüm sistemi bozacağını düşünebilirsiniz, ancak değil.
Bilgi işlemde bu tür olası arızaları önleyen bir sistem var. Hata toleransı denir.
İlişkili:Bulut Bilişim Nedir? Bulut Teknolojisi Nasıl Çalışır?
Bu nedenle, bir sunucu veri işleme sırasında kapansa bile, hata toleransı, birincil sunucunun bunu hemen algılamasını sağlar. Ve düğümler arasında veri parçalarının bir kopyası olduğundan, birincil sunucu işleme işini anında başka bir sunucuya aktarır. Bu şekilde, DFS içindeki sunucu kesintisi veri işlemeyi etkilemez.
MapReduce Büyük Veri İşlemeyi Kolaylaştırıyor
MapReduce, dağıtılmış dosya sistemlerinde hesaplamayı kolaylaştıran temel bir modeldir. Birkaç düğümün aynı anda bir hesaplama yapmasına izin verdiği için, çeşitli teknoloji devleri tarafından büyük veri analizine eşlik eden birçok sorunu çözmek için kullanılan hızlı bir yöntemdir.
Diğerlerinin yanı sıra Google, Amazon, IBM, bu kavramı kullanan şirketlere örnektir. Örneğin Google, Google araması sırasında sorgu sonuçlarını getirmek için MapReduce konseptini uygular.
Büyük veri, birçok sektöre güç sağlıyor ve hayatımızın tamamına etki ediyor. Ama daha tehlikeli mi yoksa yararlı mı?
Sonrakini Oku
- Programlama
- Programlama
- Büyük veri
- Veri analizi
Idowu akıllı teknoloji ve üretkenlik konusunda tutkulu. Boş zamanlarında kodlamayla uğraşıyor ve canı sıkılınca satranç tahtasına geçiyor ama arada sırada rutinden kopmayı da seviyor. İnsanlara modern teknolojinin yolunu gösterme tutkusu onu daha fazla yazmaya motive ediyor.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın