GELECEĞİ YAZANLAR BLOG

Android Uygulamalarıyla MongoDB Veritabanı Kullanma

Tuğba Üstündağ - 13 Ağustos 2015

Bildiğiniz üzere, MongoDB haricinde Microsoft SQL Server, Oracle, MySQL ve PostgreSQL gibi birçok veritabanı bulunmaktadır. MongoDB diğer veritabanlarıyla karşılaştırıldığında birçok önemli avantaj sunmaktadır. Özellikle MongoDB veritabanı konusunu seçme nedenlerim:

  • Foursquare, eBay, Adobe, McAfee gibi büyük firmaların yazılımlarında kullandığı veritabanı türüdür.
  • NoSQL veritabanı sistemleri ilişkisel veritabanlarına göre yüksek erişilebilirlik olanağı sunarlar.
  • NoSQL veritabanı sistemleri okuma ve yazma performanslarında göreceli olarak ilişkisel veritabanı sistemlerine göre daha performanslı olabilirler.
  • NoSQL veritabanı sistemleri yatay olarak genişletilebilirler. Binlerce sunucu bir arada küme olarak çalışabilir ve çok büyük veri üzerinde işlem yapabilirler.
  • NoSQL veritabanı sistemleri esnek yapılarından dolayı programlama ve bakım anlamında kolaylık sağlar.
  • NoSQL veritabanı sistemlerinde farklı özelliklere sahip birçok yapılandırma arasından seçim yapma şansınız vardır.
  • NoSQL veritabanı sistemleri birçok açık kaynak kodlu projede ve bulut bilişim teknolojilerine uygun olduğu için maliyet olarak ilişkisel veritabanı yönetim sistemlerine göre daha avantajlıdır.

MongoDB hakkında daha ayrıntılı bilgiye buradan ulaşabilirsiniz.

Şimdi sıra örneğimizi uygulamak için yapmamız gereken birkaç maddeyi anlatacağım. İlk cümlelerimde bahsettiğim üzere, veritabanını uzaktaki bir sunucuda kuracağım. MongoDB veritabanı kurulumunu web sitesi üzerinden ücretsiz sunucu desteği sağlayan MongoLab adındaki hizmeti kullanarak yapacağım. Yapmamız gereken işlemler:

1- https://mongolab.com sitesine kaydoluyoruz.

2- Kullanıcı bilgileriniz giriş yaptıktan sonra, sağ üst köşede user:"kullanici_adi" göreceksiniz, kullanici_adi linkini açıyoruz. 

Yukarda gördüğünüz resimde "Enable Data API access" düğmesine basın. Böylelikle Android uygulamamızdan Data API ile bağlantı kurmuş olduk. Yeşil kutuyla belirttiğim alandan API Key'i kopyalayıp bir metin belgesine kaydedin. Bu bilgiyi Android uygulaması içinde MongoLab ile bağlantı kurmak için hazırlayacağımız URL'de kullanacağız.

3- MongoLab ana sayfaya gelin ve "MongoDB Deployments" bölümünden "Create New" düğmesine tıklayın. Açılan sayfada MongoDB için yeni sunucu oluşturup veritabanı ismini belirleyeceğiz. Yapacağımız ayarlar aşağıdaki resimdeki gibidir. İlk önce "Cloud provider" sonra da ücretsiz sunucu ayarlamak için kırmızıyla işaretlediğimiz alanları seçin. Son olarak "Database Name" alanından veritabanı isminizi yazıp "Create new MongoDB deployment" düğmesine tıklayın.



4- "android" adındaki veritabanımızı oluşturmuş olduk.

Bu veritabanını seçip "android" veritabanına ait Collections oluşturcağız.

Not: Collections, SQL veritabanındaki, veritabanı tablosuna denk gelmektedir. Aşağıdaki ekran görüntüsündeki "Add Collections" düğmesini seçip çıkan popup penceresinden "Collections" isminizi belirleyip "Create düğmesine tıklayın.

Sunucu tarafında MongoDB veritabanımızı oluşturmuş olduk.

 

Uygulama tarafı

Şimdi MongoDB veritabanımıza kayıt ekleme işlemini yapan projeyi indirerek, kod içindeki yorum satırlarında yer alan açıklamaları okumanızı sizden rica edeceğim. Android uygulamamızı çalıştırdığımızda aşağıdaki resim gibi bir ekran göreceksiniz.

Ben örnek olması amacıyla uygulamadaki formdan üç tane kayıt ekledim. MongoLab sitesinden üye giriş yaptım. Veritabanımı seçtikten sonra "Collections"ı seçtim. Aşağıdaki resimde gördüğünüz üzere Android uygulamamın arayüzünden girdiğim kullanıcı bilgilerini MongoDB veritabanıma eklemiş oldum.

Android uygulamalarıyla MongoDB veritabanında işlem yapmak işte bu kadar basit.

 

Kaynaklar

  1. http://kodcu.com/2014/03/nosql-nedir-avantajlari-ve-dezavantajlari-hakkinda-bilgi/
  2. https://michaelkyazze.wordpress.com/2014/05/18/android-MongoDB-mongolab-hosted-sample-app-part-one/
  3. http://lolapriego.com/blog/android-app-MongoDB-mongolab-cloud/
  4. https://mongolab.com/

8 Cevap

Nuri SEZGİN

18 Ekim 2015

Paylaşım için teşekkürler. Fakat bir sorum olacak. Sizce Client tarafından webservice kullanmadan direkt olarak database kısmına insert yapmak güvenli bir yöntem mi?

 

Canberk Çakmak

01 Nisan 2016

Biraz geç bir cevap ancak benim gibi arama motorlarından erişenler için bu sayfaya yine de cevap yazmak istedim. Eğer kendiniz için bir kod yazıyorsanız mantıklı, ancak daha büyük bir çapta proje düşünüyorsanız webservice kullanmanız hem güvenlik hem de performans açısından daha sağlıklı bir yöntemdir.

Mert Özal

16 Ocak 2017

Küçük veya büyük proje farketmezsizin direk olarak database kullanmak güvenli değildir çünkü webservice kullanmadan database'e bağlanmak için java kodlarınızın içine database'in id ve pass ini yazmanız gerekicek ve buda çok kolay bişekilde decompile edilip database inize saldırılabilir demek.

ellise

24 Şubat 2016

 Fakat bir sorum olacak. Sizce Client tarafından webservice kullanmadan direkt olarak database

nazlı

11 Aralık 2016

merhaba ben örnek projenize ek olarak kullanıcı tarafından textview a girilen  veri ile db deki verileri karşılaştırmak bunun sonucunda ise kullanıcının girdiği veri eğer db de mevcut ise kullanıcıya bu veri mevcut yazısını ekranda göstermek istiyorum.Ancak nasıl yapacağımı çözemedim.yardımcı olur musunuz?

Sayfalar

Yorum yapmak için Giriş Yapın ya da Üye olun.