8 Adımda Mongodump ile Mongodb Yedeklemek
Mongodump Kılavuzu: MongoDB’yi Yedeklemek için 8 Kolay Adım
Bu veri odaklı iş dünyasında, veri ve bilgi değerli metalardır. Verilerini ani sunucu çökmelerinden koruyabilen ve yüksek veri kullanılabilirliği sağlayabilen şirketler, emsallerine göre belirli bir avantajın tadını çıkarıyor. Bu nedenle işletmeler sürekli olarak verilerini güvenli bir şekilde Yedeklemenin ve hızlı Veri Geri Yükleme seçeneklerine sahip olmanın yollarını arıyor.
MongoDB, çok sayıda sektörden şirketlerin veri depolama ihtiyaçları için tercih ettiği popüler bir veritabanıdır. İşletmeler MongoDB kullanarak hassas bilgileri depoladığından, güvenli veri yedeklemeleri oluşturmak büyük bir gerekliliktir. İşleri kolaylaştırmak için MongoDB, Veri Yedekleme ve Geri Yükleme ihtiyaçlarınızı karşılayabilecek Mongodump ve Mongorestore komutlarını sağlar.
Bu makale sizi MongoDB ile tanıştıracak ve ana özelliklerini listeleyecektir. Veri Yedeklemeleriniz için Mongodump komutunun çalışmasını ve önemini daha da açıklayacaktır. Ayrıca bu makale, Mongodump komutu aracılığıyla MongoDB verileriniz için güvenli Veri Yedekleme oluşturabileceğiniz ayrıntılı bir yaklaşım konusunda size rehberlik edecektir . Mongodump kullanmanın faydalarını ve Mongorestore komutlarını kullanarak verilerin nasıl geri yükleneceğini öğrenmek için okumaya devam edin
MongoDB nedir?
MongoDB, C++ Programlama Dili kullanılarak tasarlanmış sağlam bir Açık Kaynak NoSQL Veritabanıdır. MongoDB, kayıtlarınızı saklarken Veri Yapısı ve alan sayısı veya türü hakkında endişelenmeden veri depolamanıza izin verdiği için popülerdir. Bu belge odaklı veritabanı, verileri depolamak için JSON biçiminden ve Dinamik Şema’dan yararlanır. Ayrıca MongoDB Belgeleri, JSON nesnelerine benzer bir formata sahiptir ve bu nedenle MongoDB kullanırken tanıdık bir ortam yaşayabilirsiniz.
MongoDB’yi kullanarak sorunsuz bir şekilde yeni alanlar ekleyebilir ve mevcut olanları silebilirsiniz. Ayrıca kayıt yapısını özelleştirebilirsiniz (MongoDB buna Belgeler olarak atıfta bulunur). Ayrıca, MongoDB Nesnelerindeki Hiyerarşik İlişkiler, Dizileri ve diğer karmaşık Veri Yapılarını Depolamanıza izin verir. Bugün MongoDB, Facebook, eBay, Google vb. dahil olmak üzere büyük teknoloji firmalarında çok büyük veri hacimlerini depolamak için uygulamalar buluyor.
MongoDB’nin Temel Özellikleri
Aşağıdaki özellikler, MongoDB’ye geleneksel Veritabanlarına göre bir avantaj sağlar:
- Şemasız Veritabanı : MongoDB, JSON benzeri bir depolama formatına dayandığından, her biri kendi Alan, İçerik ve Boyut setine sahip çok sayıda belgeyi tek bir belgede saklayabilir. Bu şekilde, bir belgenin diğerleriyle karşılaştırılabilir olmasını gerektiren geleneksel İlişkisel Veritabanlarının kısıtlamalarından sizi kurtarır.
- Endeks Tabanlı Belge : MongoDB veritabanları, alanlarını işaretlemek için Birincil ve İkincil Endeksleri kullanır. Bu şekilde MongoDB havuzundan veri almanız kolaylaşır.
- Yatay Ölçeklenebilirlik : MongoDB, verilerinizi birden çok sunucu üzerinde dağıtma uygulaması olan parçalamayı destekler. Size, büyük veri hacimlerini, birkaç Fiziksel Sunucu üzerinde bulunan Parçalar arasında eşit olarak dağıtılan küçük parçalara kolayca bölebileceğiniz bir Parça Anahtarı sağlar.
- Çoğaltma : MongoDB her zaman yüksek düzeyde veri kullanılabilirliğini korur. Verilerin birkaç kopyasını oluşturur ve bunları ayrı sunucularda saklar. Bu, bir sunucu başarısız olsa bile verileri güvenli bir şekilde almanızı sağlar.
MongoDB hakkında daha fazla bilgi edinmek için burayı ziyaret edin .
Verileri Yedeklemek için Mongodump’a Giriş
MongoDB, MongoDB veritabanlarında size daha hızlı veri yedeklemeleri sağlamak için Mongodump adlı bir araç kullanır . Bu araç, verilerinizi sorgular, koleksiyonlar ve hatta tüm veritabanı düzeyinde yedeklemenizi sağlayacak komutlar içerir. Ayrıca MongoDB, Mongorestore adlı tamamlayıcı bir araç sunar ve verilerinizi dağıtılmış yedeklerden yeni veya mevcut bir MongoDb veritabanına kurtarmanıza olanak tanır.
MongoDB Mongodump, belirli verileri ihtiyaçlarınıza göre filtreleyerek veri yedeklemeleri oluşturmanızı sağlayan basit bir yaklaşımdır. Bununla birlikte, Mongodump yalnızca küçük dağıtımlar için etkilidir ve daha büyük sistemlere uygulandığında karmaşıklığı ek yükü önemli ölçüde artacaktır. Bunun nedeni, Mongodump komutunun ölçeklenebilir bir seçenek olarak tasarlanmamasıdır. Artımlı bir teknik olmadığından, her bir anlık görüntü noktası için tam bir veri dökümü ile uğraşmanız gerekir. Bu, Mongodump’u oldukça kaynak yoğun bir seçenek haline getirir. Bu nedenle, küçük ölçekli veritabanlarını yedeklemek için MongoDB Mongodump’u uygulamak daha iyidir ve büyük veri toplamaları için MongoDB tarafından sağlanan diğer olanakları kullanabilirsiniz.
Mongodump Kullanarak Verileri Yedekleme ve Geri Yükleme Adımları
Aşağıdaki adımlar, MongoDB bulut sunucularınız için güvenli Veri Yedeklemeleri oluşturmak üzere Mongodump veritabanı komutunu uygulamanıza olanak tanır:
Adım 1: Mongodump Kullanarak Doğrudan Yedeklemeler Oluşturun
Mongodump komutunu sistem komut satırından aşağıdaki sözdizimini kullanarak aşağıdaki gibi çalıştırabilirsiniz :
mongodump <options> <connection-string>
Bu yapı aynı zamanda –user , –db ve –password gibi biçimlendirilmiş bir dize veya bayrakla birlikte –uri komutuyla bir Mongo veritabanına bağlanmanıza izin verir . Ancak, tek bir komutta 1’den fazla bayrak kullanamazsınız.
Alternatif olarak, varsayılan konfigürasyonları kullanabilir ve aşağıdaki gibi Mongodump komutu aracılığıyla bir Mongo Yedekleme oluşturabilirsiniz:
Mongodump
Bu ifade, veritabanınızın localhost’ta (127.0.0.1) bulunduğu, 27017 numaralı bağlantı noktasını kullandığı ve erişim kimlik doğrulaması gerektirmediği varsayımıyla çalışır. Bu yedekleme işlemi, aşağıdaki resimde gösterildiği gibi doğrudan geçerli dizinde bir döküm klasörü oluşturur.
2. Adım: Uzak MongoDB Eşgörünümünü Yedekleyin
Adım 1’de belirtildiği gibi , aşağıdaki sözdizimini kullanarak bir ana bilgisayarı ve bağlantı noktası numarasını –uri bağlantı dizesiyle özelleştirebilirsiniz:
mongodump --uri="mongodb://<host URL/IP>:<Port>" [additional options]
Ayrıca, aşağıdaki komutu kullanarak ana bilgisayar seçeneğiyle bir sunucu bağlantısı kurabilirsiniz:
mongodump --host="<host URL/IP>:<Port>" [additional options]
Bağlantı noktası numarasını da belirtmek isterseniz, aşağıdaki ifadeyi uygulayın:
mongodump --host="<host URL/IP>" --port=<Port> [additional options]
Aşağıdaki kod, uzak bir MongoDB örneğini yedekleme işlemini gösterir:
mongodump --host="10.10.10.59" --port=27017
Aşağıdaki çıktıyı üretecektir:
3. Adım: Güvenli bir MongoDB Eşgörünümü Yedekleyin
MongoDB’nin Mongodump komutu, veri yedeklemeleriniz için erişim kontrol mekanizmalarını uygulamanıza olanak tanır. Bu, aşağıdaki sözdiziminde bir Kullanıcı Adı, Parola ve belirli Kimlik Doğrulama seçenekleri sağlamanızı gerektirir:
mongodump --authenticationDatabase=<Database> -u=<Username> -p=<Password> [additional options
Örneğin, aşağıdaki komutu kullanarak uzak bir MongoDB örneğine bağlanmak için bir Kullanıcı Adı ve Parola kullanabilirsiniz:
mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword"
Aşağıdaki çıktıyı üretecektir:
Adım 4: Veritabanlarını ve Koleksiyonları Seçin
3. Adımda, Mongodump kullanarak uzak bir veritabanını nasıl yedekleyeceğinizi öğrendiniz. Bu adım, bir veritabanını ve yedekleme gerektiren bir koleksiyonu belirten –db ve –collection seçeneklerini içerir. –db seçeneğini bağımsız olarak çalıştırabilirsiniz, ancak bir koleksiyon yürütmek için bir veritabanı belirtmeniz gerekir. Ayrıca, –excludeCollection seçeneğini kullanarak bir koleksiyonu yedekleme işleminden kaldırabilirsiniz.
Belirli bir veritabanını seçmek için aşağıdaki komutu kullanın:
mongodump --db=<Backup Target - Database> [additional options]
Tüm bir koleksiyonu seçmek istiyorsanız, aşağıdakileri yürütün:
mongodump --db=<Backup Target - Database> --collection=<Collection Name> [additional options]
Belirli bir koleksiyonu hariç tutmak için aşağıdaki komutu çalıştırın:
mongodump --db=<Backup Target - Database> --excludeCollection=<Collection Name> [additional options]
Adım 5: Yedekleme Dizinini Değiştirin
Yedekleme klasörünün konumunu aşağıdaki şekilde belirtmek için –out seçeneğinden yararlanabilirsiniz :
mongodump --out=<Directory Location> [additional options]
Şimdi, yedekleme dizinini “dbbackup” klasörüyle değiştirmek istiyorsanız, şunu çalıştırın:
mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --out=dbbackup
Size aşağıdaki çıktıyı sağlayacaktır:
6. Adım: Bir Arşiv Dosyası Oluşturun
Mongodump yardımcı programı size bir arşiv dosyası oluşturma yöntemi sağlar. Arşivlenecek dosyayı belirtmek için –archive can seçeneğini kullanabilirsiniz . Spesifikasyon verilmemesi durumunda çıktı standart formda (stdout) olacaktır.
–Out seçeneği ile birlikte –archive seçeneğini kullanamayacağınızı unutmayın .
mongodump --archive=<file> [additional options]
Aşağıdaki komutu kullanarak herhangi bir arşiv dosyasını kolayca tanımlayabilirsiniz:
mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --archive=db.archive
Ekranınızdaki çıktı aşağıdaki görüntüye benzer olacaktır.
7. Adım: MongoDB Yedeklemesini Sıkıştırın
Şimdi, Mongodump kullanarak verileri nasıl yedekleyeceğinizi bildiğinize göre, bu dosyaları sıkıştırma sürecini anlamanın zamanı geldi. Aşağıdaki komutu kullanarak JSON ve BSON dosyalarını tek tek sıkıştırmak için –gzip seçeneğini kullanabilirsiniz :
mongodump --gzip [additional options]
Örneğin, aşağıdaki ifade eksiksiz bir Mongo veritabanını sıkıştıracaktır:
mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --gzip
8. Adım: Veritabanını Geri Yükleyin
MongoDB, mükemmel yedeklemelerin yanı sıra, verilerinizi geri yükleme olanağı da sağlar. Mongorestore komutu, Mongodumb yedeklerinden verileri sorunsuz bir şekilde yükler ve Mongo veritabanınızı geri yükler. Ancak mongorestore komutu, belgenin kimliği zaten varsa, veritabanında bulunan belgelerin üzerine yazamaz. Aksi takdirde, Mongorestore yeni bir veritabanı oluşturacak veya mevcut veritabanına veri ekleyecektir.
Mongorestore komutu, döküm dizininizin yolundan bahsetmenizi gerektirir ve sözdizimi aşağıdaki gibidir:
mongorestore dump/
Ayrıca, Mongostore komutunda:
- –uri bayrağını belirtmeniz veya her standart bağlantı bayrağını sağlamanız gerekir.
- Farklı koleksiyonları geri yüklemek için en çok tercih edilen –nsInclude seçeneğini doğrudan kullanabilirsiniz . Bir veritabanı için koleksiyonları geri yüklerken kullanıcıların bir ad alanı seçmesine olanak tanır.
Örneğin, aşağıdaki komutta, yerel ortamınıza geri yüklemek için db1 veritabanını ayırabilir ve içe aktarabilirsiniz:
mongorestore --db=redbase --nsInclude="db1.*" dump/
Bu, daha önce atılan tüm db1 koleksiyonlarını geri yükleyecektir. Ancak, hem dn1 hem de db2’nin verileri aynı döküm dizininde depolanmış olsa bile, db2’de depolanan verilere dokunmaz.
MongoDump’ın Faydaları
Veri Yedeklemeleri oluşturmak için Mongodump komutunun kullanılması aşağıdaki avantajlara sahiptir:
- Mongodump komutu, MongoDB’nin verimli bir yedekleme aracıdır ve her boyutta ve çeşitte veri yedeklemesi oluşturmanıza olanak tanır. Örneğin, bir sorguyu, koleksiyonları ve hatta tüm veritabanını yedeklemenizi sağlar.
- Mongodump komutu, oplog dahil edilmişse , verilerinizin periyodik bir anlık görüntüsünü de oluşturur . Bu basit yöntem, ihtiyaçlarınıza göre filtreleyebileceğiniz yedeklemeler sağlar. Bu şekilde, MongoDB hem Zaman hem de Nokta Kurtarma nesnelerini ele alır.
- Mongodump komutu, küçük ölçekli veritabanı yedeklemeleri için iyi çalışır. Ayrıca, oplog.bson dosyası, geri yükleme işlemi sırasında oplog verilerini yeniden oynatmanıza izin verecek bir yedek oluşturur.
Çözüm
Bu makale, temel özellikleriyle birlikte sizi MongoDB ile tanıştırdı. Ayrıca Mongodump komutunu ve veri yedeklemeleri oluşturmak için nasıl çalıştığını açıkladı. MongoDB yedeklerinizi kolayca oluşturabileceğiniz 8 adımlı bir yöntemi daha da detaylandırdı. Ayrıca blog, Mongodump veri yedekleme sürecini uygulamanın faydalarını sıraladı.