MongoDB

MongoDB hem akademik hem de profesyonel olarak popüler hale geldi. Bu veritabanı sisteminin kullanılması, yapılandırılmamış verilerin çok basit bir şekilde saklanmasını mümkün kılar. Genel olarak, bu tür bir veritabanı, kolay erişilebilir bir ortamda bulunmalıdır.
Makalenin tamamı için MongoDB ...

Filtreyi Göster
Barındırma Filtreleri
A2 Themes & Host Me Filter

İşletim sistemi

Disk alanı

RAM belleği

Disk Tipi

CPU Çekirdekleri

Çeşit

Güven Pilotu Dream VPS
Puan - 8.6
Dream VPS Logo
Dream VPS

Dream VPS

STARTER
$3.75 /Aylık

İncelemeler 7


Sunucu Konumları


Dream VPS Servers in Hong KongHong Kong Dream VPS Servers in Santa Clara Dream VPS Servers in New YorkAmerika Birleşik Devletleri Dream VPS Servers in LondonBirleşik Krallık Dream VPS Servers in AmsterdamHollanda Dream VPS Servers in FrankfurtAlmanya Dream VPS Servers in Israelİsrail
Karşılaştırmak
Puan - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Aylık


Sunucu Konumları


Heroku Servers in United StatesAmerika Birleşik Devletleri
Karşılaştırmak
Puan - 0
Infra Networking Logo
Infra Networking

Infra Networking

ALFA
$4.19 /Aylık


Sunucu Konumları


Infra Networking Servers in JakartaEndonezya Infra Networking Servers in DallasAmerika Birleşik Devletleri Infra Networking Servers in Dublinİrlanda Infra Networking Servers in LondonBirleşik Krallık Infra Networking Servers in Frankfurt am MainAlmanya Infra Networking Servers in SingaporeSingapur Infra Networking Servers in AmsterdamHollanda Infra Networking Servers in UruguayUruguay
Karşılaştırmak

MongoDB veritabanlarını barındırma

 

MongoDB

 

Son yıllarda MongoDB hem akademik hem de profesyonel anlamda popüler hale geldi. Bu veritabanı sisteminin kullanılması, yapılandırılmamış verilerin çok basit bir şekilde saklanmasını mümkün kılar.

 

Genel olarak, bu tür bir veritabanı, bu veritabanını kullanan uygulamaların genellikle fiziksel olarak uzak yerlerde bunu yapması gerektiğinden, kolayca erişilebilir bir ortama yerleştirilmelidir. Bu ihtiyaç göz önüne alındığında, bu makale bir web barındırma hizmeti kullanarak MongoDB'de temel işlemleri depolamanın ve gerçekleştirmenin bir yolunu sunar. Bu konunun tartışması, bulutta MongoDB veritabanlarının nasıl oluşturulacağını ve yönetileceğini bilmek isteyenler için yararlıdır. Bu tür bir veritabanının yönetilmesine yönelik çözümler sunmak için, makale aynı zamanda yönetimi için grafik araçları da gösterir. Makale boyunca, Java programlama dilini kullanarak web uygulamaları geliştirmek için teknolojilere vurgu yapılacaktır.

 

Veritabanına erişmek için, ücretsiz bir ana bilgisayarda barındırılacak bir web hizmeti geliştirilecektir. Hizmeti test etmek için Java dilinde bir konsol uygulaması geliştirilecektir. Son olarak, makale MongoDB web servisini ve veritabanını nasıl test edeceğinizi ve izleyeceğinizi gösterir.

 

NoSQL terimi Sadece SQL Değil, yani sadece SQL anlamına gelmez. Başlangıçta başka anlamlar önerildi, ancak topluluk tarafından en çok benimsenen şey buydu. Verilerin büyük hacimlerde depolanmasını ve işlenmesini kolaylaştırmak için ortaya çıkan NoSQL veritabanları, yüksek ölçeklenebilirliğe izin veren bir yapı sunuyor.

 

Şu anda yaklaşık 150 farklı NoSQL veritabanı bulunmaktadır. MongoDB, geniş dokümantasyonu ve ilgili topluluğu nedeniyle yeni takipçiler kazanıyor.

 

MongoDB hareketi 2009'un başlarında başladı ve o zamandan beri MongoDB'ye şemasız destek, kolay çoğaltma, basit API, farklı diller için sürücüler, manipülasyon araçları, işlev güncellemeleri ve çok daha fazlası gibi daha fazla özellik ve özellik eklendi.

 

NoSQL veritabanı grubu, büyük hacimli verileri yöneten, ölçeklenebilirlik özellikleri, REST protokolü, MapReduce (BOX 1'i okuyun) ve diğer yüksek performanslı özellikleri benimseyen uygulama odaklı veritabanlarından oluşur.

 

KUTU 1: MapReduce

 

MapReduce, birkaç bilgisayara (küme) yayılmış veri kümelerinde paralel işlemeyi desteklemek amacıyla Google tarafından sunulan bir programlama modelidir. Bu modelin çalışması iki özelliğe dayanmaktadır: haritalama ve azaltma. Verileri kümelenmiş arama konsolidasyonlarını gerçekleştirmek için, talep eden, aramasını aynı anda birkaç bilgisayara gönderir.

 

Bu anda, istek sahibi ile küme arasında eşleştirme (harita) yapılır, ardından aramadan elde edilen veriler gruplanır (küçültülür) ve istek sahibine teslim edilecek arama sonucu oluşturulur.

 

REST kısaltması, Temsili durum aktarımı anlamına gelir. Yalnızca HTTP çağrılarını kullanan dağıtılmış veri işleme (CRUD) sistemlerinde yaygın olarak kullanılan bir tekniktir. Bu tür bir çağrı, programlamayı basitleştirir, düşük seviyeli görevleri programcıya soyutlayarak web servislerinde farklı rutinlerin uygulanmasını sağlar. Yapılan çağrılar temelde veri ekleme (POST), veri sorgulama (GET), veri güncelleme (PUT) ve veri silme (DELETE) içindir.

 

MongoDB

 

NoSQL ile başlarken düşünülmesi gereken ilk şey karşılaştırmalı. Konuşmakta başarısız olamadığımız için ilişkisel bankalar açısından ana terimlerin karşılaştırılmasına geçiyoruz.

MongoDB'de, her belge aynı koleksiyondaki başka bir belgeden tamamen farklı olabilir ve bu, ilişkisel modelde doğru değildir. Veriler genellikle BSON (Binary JSON) formatında yazılır.

 

Sonraki bölümde sunulan adımları izlemek için, yerel bilgisayarda MongoDB'nin kurulu olması gerekli değildir.

 

Yerel bilgisayara kurulum, yalnızca daha hızlı ve daha basit test amaçlıdır. Okuyucu, MongoDB'yi bilgisayarına kurmak ve onu değiştirmek istiyorsa, işte yararlı olabilecek bazı başlangıç ​​komutları. Hizmeti (daemon) çalıştırmak için, aşağıdaki komutu göz önünde bulundurmalısınız: / mongo. Hizmet çalışırken, komut yorumlayıcısını başlatabiliriz: / mongo, veritabanlarını listelemek için temel komutlar: DBS'yi göster veya veritabanlarını göster. Bir veritabanı kullanımı seçmek için (yoksa, veritabanı sqlMagazine oluşturulacaktır): sqlMagazine kullanın Büyük ve küçük harflerin farklı olduğunun farkında olmak önemlidir, bu ayrıntıya dikkat edin.

 

MongoDB Araçları

 

Bu kadar çok komuttan sonra, ilerlemek için zaten bir üssümüz var. Uygulama geliştirmek için komutları bilmek şarttır, ancak yönetim için iyi müttefik olan başka grafik araçları da vardır. Örneğin, Şekil 1 ve 2, MongoHub yazılımından alınmıştır.

 

MongoDB'ye erişmek için RockMongo ve MongoVUE gibi başka araçlar da vardır. RockMongo aracı, PHP yapılandırmasında MongoDB modülünü etkinleştirmenin yanı sıra başka hizmetlere (PHP ve Apache) ihtiyaç duyar. Bu araç OpenShift'te bir standart olarak benimsenmiştir, bu yüzden onun hakkında bilgi sahibi olmak iyidir.

 

MongoVUE aracı yalnızca Microsoft Windows işletim sistemlerine sahip bilgisayarlar içindir. İyi özellikler sunuyor.

 

Apple işletim sistemi kullanıcıları için (Mac OS 10.6.x veya üstü), MongoHub aracı var. Bu araç için belirli bir web sitesi olmasına rağmen.

 

Uygulamayı barındırmak için bir hesap oluşturma

 

Amaç, veritabanını web'de kullanılabilir hale getirmek ve web'de bulunan bir uygulama veya başka bir bilgisayara yüklenen bir uygulama tarafından ona erişim sağlamaktır. Veritabanını barındırmak için seçilen hizmet OpenShift idi. Bunda, kullanıcı üç adede kadar uygulama oluşturabilir ve bunların her birinde, diğerleri arasında Java, PHP, Phyton, Ruby uygulamaları gibi birkaç hizmet oluşturmak mümkündür.

 

Aynı hesapta daha fazla uygulama oluşturmak veya hatta diğer hizmetleri ve ölçeklenebilirlik kaynaklarını kiralamak istiyorsanız, ücretli bir hesap oluşturmanız gerekir. OpenShift, PaaS kısaltmasıyla tanımlanan bir hizmet olarak bir platform sunar. Bir hesap oluşturmak için gerekli adımları atalım.

 

Başlangıçta, kullanıcının OpenShift bağlantı noktası adresine gitmesi ve seçeneği seçmesi gerekir. Şekilde gösterildiği gibi kayıt ekranı görünecektir.

 

mongodb

 

Verileri girin ve & ldquo; Kaydol & rdquo; 'u tıklayın. Kaydı onaylamak için bir e-posta gönderilecektir, kaydı etkinleştirmek ve uygulamaları oluşturmak için bu e-postadaki bağlantıya tıklamak gerekir.

 

OpenShift hesabınıza erişirken, istenen hizmetleri oluşturmak mümkündür, uygulamalara komut satırıyla erişmek için talimatlar da sunulur, JBoss'u kullanınDeveloper Studio IDE ve çok sayıda başka kaynak. Bunu adım adım kolaylaştırmak için yerel olarak geliştirdikten sonra uygulamayı otomatik olarak oluşturacağız.

OpenShift hesabımızda bazı ayarlar yapılmalıdır. Hesaba eriştikten sonra, & ldquo; Ayarlar & rdquo; Şekilde gösterildiği gibi bölüm.

 

mongodb

 

Metin kutusunda & ldquo; Etki alanı adı & rdquo; İstenen etki alanının adını yazmalıyız, bu testte & ldquo; SQL dergisi & rdquo; yazıyoruz. Bu isim (maksimum karakter sayısı 16'dır) serbestçe seçilebilir, ancak Java projemizde kullanılacağı için önemlidir. Ardından, & ldquo; Kaydet & rdquo; seçeneği.

 

Bu adımı tamamladıktan sonra, & ldquo; Uygulamalar & rdquo; sekmesine gidin ve & ldquo; İlk uygulamanızı şimdi oluşturun & rdquo; seçeneği. Oluşturabileceğimiz çeşitli hizmetleri içeren bir liste görünecektir. & Ldquo; JBoss Uygulama Sunucusu 7 & rdquo; 'yi seçelim. Ardından uygulama adını seçme penceresi görüntülenir.

 

Bu adı seçmek de serbesttir, ancak hemen ihtiyacımız olacağı için hatırlanması kolay bir ad olmalıdır. Bu test için & ldquo; MongoDB & rdquo; yazıyoruz.

 

Sonraki adım, & ldquo; Uygulama Oluştur & rdquo; 'u tıklamaktır. Bu işlem birkaç saniye hatta dakika sürebilir, işlem tamamlanana kadar bekleyin. Şimdi & ldquo; Uygulamalar & rdquo; a dönebiliriz. sekmesine gidin ve oluşturulan uygulamaya tıklayın.

 

Bu noktada uygulamamıza MongoDB ekleyeceğiz. Bunu yapmak için, bu örnekte & ldquo; mongodb & rdquo; ve ardından & ldquo; MongoDB 2.4 Ekle & rdquo; 'ye tıklayın. Bilgi ve talimatların bulunduğu bir pencere açarsanız, & ldquo; Uygulamaya genel bakış sayfasına devam edin & rdquo; görüntülenecek ve tıklanması gerekir, ardından & ldquo; MongoDB 2.4 Ekle & rdquo; seçeneğine tıklamak mümkün olacaktır.

 

Ardından & ldquo; Kartuş Ekle & rdquo; ye tıklayın. Bu işlem de birkaç saniye sürebilir. Veritabanına erişmek için önemli bilgiler içeren bir ekran görünecektir, sonraki adımlarda kullanılacağı için bu bilgilerin kaydedilmesi önemlidir. Bilgiler kullanıcı adı, şifre ve veritabanı adıdır.

 

Şu anda elimizde bir sunucu (JBoss Uygulama Sunucusu) ve bir NoSQL veritabanı (MongoDB) var. Şimdi bu bankaya erişmek için bir web hizmeti ve bu web hizmetine erişmek için bir proje oluşturun.

 

Uygulama geliştirme

 

Temel olarak iki uygulamamız ve bir veritabanımız olacak. İlk başvuru, veri tabanı için talepte bulunmaktan sorumlu olacaktır. Bu uygulama, sadece web servisinin işleyişini test etmek için çok basit bir örnek olarak hizmet edecektir. İkinci uygulama (web servisi) ilkinden istekleri almaktan ve veri tabanına erişimden sorumlu olacaktır.

 

İlk uygulamaya geçelim. Önkoşulları Eclipse Kepler ve iki API kitaplığıdır (Uygulama Programı Arayüzü) Jersey (jersey-client ve jersey-core). Burada anlatılan adım adım kolaylaştırmak ve basitleştirmek için Eclipse Kepler'de bir Java uygulaması yapacağız.

 

Adım adım açıklayan görüntüler Mac OS 10.9.3 işletim sistemi kullanılarak elde edilmiştir, ancak okuyucu Microsoft Windows'u veya hatta bir Linux dağıtımını kullanabilir.

 

Eclipse erişimi içinde: Dosya, Yeni, Proje. Sonraki pencerede & ldquo; Java Projesi & rdquo; ve & ldquo; İleri & rdquo; 'yi tıklayın. Ardından, proje için bir ad girin ve & ldquo; Bitir & rdquo; seçeneğini seçin.

Şimdi projede bir sınıf oluşturmamız gerekiyor. Bunu yapmak için, & ldquo; src & rdquo ;, & ldquo; Yeni & rdquo ;, & ldquo; Sınıf & rdquo; üzerine sağ tıklayın.

 

Bir sonraki ekranda, sınıf için bir ad yazmalı ve & ldquo; Ana yöntemi oluştur & rdquo; seçeneğini işaretlemeliyiz. & ldquo; public static void main (String [] bağımsız değişkenler) & rdquo; ve & ldquo; Bitir & rdquo; 'e tıklayın,

Bu Java projesi, bilgileri web'de barındırılacak bir MongoDB veritabanına kaydetmeyi amaçlamaktadır. Kullanılan barındırma türü, veritabanına harici erişime izin verir, yani her yerden uygulamalar veritabanı sunucusuna erişebilir, ancak yerel makinedeki bağlantı noktalarını yeniden yönlendirmek gerekir.

 

Bu, kontrolümüz dışındaki bilgisayarlar ve hatta yerel bağlantı noktalarına erişmeye devam etmesi gereken bilgisayarlar söz konusu olduğunda, hatta mobil cihazlar söz konusu olduğunda, yapılması gereken çok karmaşık bir şey olabileceğinden, bağlantı noktası yeniden yönlendirmesi en iyi yol değildir. Bu şekilde Java projemiz veritabanına bir web servisi üzerinden erişecektir.

 

Kodları girmeden önce, web servisleriyle çalışmak için iki kütüphane ekleyelim. Kullanacağımız iki kitaplık Jersey 1.18 API'sindendir. Bunları projeye eklemek için indirdikten sonra proje klasörüne kopyalayın ve proje adına sağ tıklayın ve özellikleri seçin.

 

"Özellikler" penceresinde, "Java Derleme Yolu" seçeneğini ve ardından "Kitaplıklar" ı seçin. Ardından & ldquo; Harici Jar Ekle & rdquo; 'yi tıklayın.

 

Artık projemize Jersey API eklediğimize göre biraz kod yazabiliriz.

 

Bu ilk kod parçacığında, sadece bir URL istemcisi oluşturuyoruz. İlk satırlarda (3 ve 4) & ldquo; Jersey & rdquo; kütüphane. 9. ve 10. satırlarda, web hizmeti URL'sine bağlanmak için bir nesne oluşturuyoruz. Web hizmeti url'sinin, OpenShift hesabımızın tam adının yanı sıra rest ve post sözcüklerinden oluştuğunu ve web hizmetinin yöntemler için dinlenme adı verilen bir konumu ve posta adı verilen bir yöntem olduğunu belirten unutmayın. Ardından, veritabanına göndermek için bazı bilgiler oluşturalım

 

Bu listede sunulan kod parçacığının amacı, MongoDB veritabanına gönderilmek üzere JSON standardına uyan bir karakter dizisi oluşturmaktır. Son olarak sunucuya gönderilecek dosya. Şimdi Java projesinin son kod parçacığına gidelim.

 

Bu kod parçacığının projemiz için başka bir içe aktarılması gerekecek.

 

Buluta gönderiliyor

 

Artık web hizmetimizi OpenShift'e gönderebiliriz. Eclipse içinde JBoss perspektifini seçin ve OpenShift Uygulamasına tıklayın.

 

Kayıtta tanımlanan hesap bilgileri (e-posta ve şifre) istenecektir. Sadece hesap ayrıntılarınızı girin ve "İleri" yi tıklayın. İlk bağlandığınızda, SSH Anahtarları oluşturmanız istenir.

 

seçeneği kontrol etmeliyiz & ldquo; Mevcut uygulamayı kullan & rdquo ;. Bu seçeneği işaretlediğinizde, daha önce oluşturulan uygulamayı seçme ekranı görüntülenecektir. Uygulamayı seçin ve "İleri" ye tıklayın.

 

Bir sonraki ekranda, sunucumuza göndermek veya mevcut bir projeyi kullanmak için bir proje oluşturmak isteyip istemediğimiz sorulacak. Mevcut bir projeyi, bu durumda yeni geliştirdiğimiz web servisimizi kullanacağız. Bunu yapmak için, seçeneğin işaretini kaldırın & ldquo; Yeni proje oluştur & rdquo ;, & ldquo; Keşfedin & rdquo; ve jboss-as-helloworld-rs projesini seçin.

 

Süreci sonlandırın. SSH anahtarını kullanmak için onaylamanız istenecek, & ldquo; Evet & rdquo; 'e tıklayın. Tekrar & ldquo; Evet & rdquo; Web hizmetinin gönderilmesini onaylamak için. Bu adımdan sonra web servisimizi yayınlayabiliriz. Bunu yapmak için, Eclipse'e gidin ve "Sunucular" sekmesini açın, sunucu sekmesini açmak için tıklayın, bu durumda "OpenShift'te mongodb". Web hizmetimizin adı jboss-as-helloworld-rs görünecektir, üzerine sağ tıklayın ve & ldquo; Tam Yayın & rdquo; seçeneğini seçin. veya & ldquo; Tam Yayın & rdquo;

 

Uygulamanın zaten OpenShift sunucusunda oluşturulup oluşturulmadığını kontrol edin. Bunu yapmak için tarayıcıya gidin ve OpenShift hesabınıza & ldquo; Uygulamalar & rdquo; sekmesine gidin ve uygulamaya tıklayın. Bu eğitimdeki örnekte, & ldquo; mongodb & rdquo; ve zaten inşa edildiğini onaylayın.

 

Çok uzun sürerse (üç dakikadan fazla), uygulamayı yeniden başlatmak gerekebilir. Bunu yapmak için ekranın sağındaki ilgili simgeyi kullanın.

 

Final testleri

 

Artık elimizde MongoDB bulunan bir sunucumuz, sunucuya veri göndermek için bir projemiz ve ikisini bir araya getirecek bir web hizmetimiz olduğuna göre test etmeye başlayabiliriz.

 

İşleyişi kontrol etmek için önemli bir müttefik, Rock Mongo'dur. OpenShift'te çok basit bir şekilde etkinleştirilebilir, sadece & ldquo; Rock Mongo 1.1'i ekle & rdquo; & ldquo; Uygulama s & rdquo; sekmesi.

 

Bir diğer önemli özellik, konsolda etkinleştirilebilen & ldquo; Tail dosyalarıdır & rdquo;. Eclipse konsoluna gidin ve OpenShift Explorer'ı tıklayın, bizim durumumuzda uygulamaya ulaşana kadar tüm seçenekleri genişletin & ldquo; mongodb & rdquo; Sağ tıklayın ve & ldquo; Kuyruk dosyaları & rdquo; seçeneği.