M2M SİSTEMLERDE SQL VEYA NOSQL KULLANIMI Hazırlayan: Arş. Gör. SaadinOYUCU - Yrd.

Download Report

Transcript M2M SİSTEMLERDE SQL VEYA NOSQL KULLANIMI Hazırlayan: Arş. Gör. SaadinOYUCU - Yrd.

M2M SİSTEMLERDE SQL VEYA NOSQL
KULLANIMI
2015
Hazırlayan: Arş. Gör. SaadinOYUCU - Yrd. Doç. Dr. Hüseyin Polat
E-Posta: [email protected][email protected]
Makinalar Arası İletişim (M2M:Machine to machine)
Kısaca farklı cihazlar arasında iki
yönlü veri iletişimi ifade etmektedir.
Belirli bir cihaz (algılayıcı, sayaç, akıllı
telefon vb.) sayesinde bir olayı
(sıcaklık, nem, ivme vb.) ağ üzerinden
(kablolu, kablosuz yada hibrid)
merkezi bir alana taşıyıp belirlenen bu
olayı anlamlı bilgiye dönüştürme
işlemidir.
BTK, “Makineler Arası İletişim(M2M)”,Ekim,2013
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Nesnelerin İnterneti (IOT)
M2M sistemlerin gelişmesi yeni proje ve
teknolojilere öncülük etmektedir. Bunların
başında Nesnelerin İnterneti (IOT: Internet
of Things) kavramı gelmektedir.
Nesnelerin interneti, fiziksel dünya ve dijital
dünyanın entegrasyonunu
kolaylaştırmaktadır. En önemli IOT uygulama
alanları altyapı inşaatı, kamu güvenliği, çevre
koruma, modern tarım, akıllı sanayi, kentsel
yönetim, iş hizmet ve diğer alanları
kapsamaktadır .
L. Atzori, A. Iera and G. Morabito, "The Internet of Things: A Survey", Computer Networks, Vol. 54, No. 15, pp. 2787-2805, Oct. 2010
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Microsoft’ a göre ise 2020 yılı
itibariyle Nesnelerin İnterneti’nin
parçası
olması
öngörülen
nesnelerin sayısı 30 milyar
civarındadır.
IDC, “Worldwide Internet of Things (IoT) 20132020 Forecast: Billions of Things trillions Of
Dollars”, Belge No. 243661, Ekim 2013
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Basit M2M Mimarisi
Birinci katmanda M2M sistemi
için veri sağlayan algılayıcılar
bulunmaktadır. Bu algılayıcılar
M2M sistemi için gerekli olan
verileri aktarmaktadırlar.
Örneğin ısı, nem, gaz algılayıcıları
ile kamera, akıllı telefonlar vb.
cihazlar bu adımda verilecek
örneklerden birkaçıdır.
Veriler sisteme aktarılırken
ikinci katman olan İletişim
Ağı yardımıyla istenilen
alana aktarım gerçekleşir. Bu
alanlar insan etkileşimin
olduğu sistemler ya da
doğrudan haberleşme
yeteneğine sahip makineler
olabilmektedir
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
İletişim Ağı üzerinden veriler
anlamlı birer bilgi olarak son
kullanıcıya sunulmalıdır. Bu
noktada ise üçüncü katman
olan Uygulama Katmanı
devreye girmektedir. Burada
kullanıcılar verileri
incelemekte, analiz etmekte
ve gerektiğinde M2M
sistemine komut
verebilmektedir.
M2M Mimari Standartları
Avrupa Telekomünikasyon Standartları Enstitüsü (ETSI: European Telecommunications Standards Institute)
http://www.etsi.org/technologies-clusters/technologies/m2m
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
oneM2M Standartları
(vertical):
1 Application, 1 NW,
1 (or few) type of Device
Horizontal (Ortak Katmana
dayalı)
Applications share common infrastructure, environments and
network elements
Business
Application
Business
Application #1
Business
Application #2
Business
Application #n
Common Application
Infrastructure/Service layer
Communication
Network (mobile,
fixed..)
Communication
Network 2
Communication
Network 1
Gateway
Local
NW
Device
Gateway
Device
Local
NW
Device
IP
Device
Device
ONEM2M SERVICE LAYER
PLATFORM – INITIAL RELEASE
oneM2M Standartları Kullanım Örneği
oneM2M-TR-0001-UseCase-V0_0_5 2014
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
ÖRNEK: Kendi yetki seviyesine göre sağlık personeline bildirimde bulunan ve
uzaktan sensör cihazları izleme ve denetleme yeteneğine sahip bir e-Sağlık hizmeti
uygulaması.
oneM2M-TR-0001-UseCase-V0_0_5 2014
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
ÖRNEK: Araç / Bisiklet Paylaşım Uygulaması
oneM2M-TR-0001-UseCase-V0_0_5 2014
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Türkiye’de M2M Uygulama Alanları
(Kaynak: BTK 2013)
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Algılayıcı Verileri
M2M sistemde algılayıcıdan gelen verilerin boyutu ve türü
kullanılan algılayıcıya göre değişmektedir. Örneğin basınç
ölçümü yapan bir algılayıcıdan gelen veri ile sıcaklık ölçümü
yapan bir algılayıcıdan gelen veri birbirinden farklıdır. M2M
uygulaması hangi özel alanda gerçekleştiriliyor ise o alana
uygun algılayıcılar kullanmak gerekir. Veriler uygun şekilde
alınır ve veri tabanına kaydedilir.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Çeşitli Algılayıcılar
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
M2M sistemlerinde veriler düzenli olarak veri tabanına
kaydedilirken yazma işleminde farklı veri tabanlarında, farklı
dalgalanmalar gözlenmektedir. Okuma işlemi sırsında ise birden
fazla kullanıcı, birden farklı platformda verileri analiz etmek için
veri tabanından istekte bulunabilir. Bu işlem sırasında Şekil 1’de
görüldüğü gibi veri tabanına aşırı yüklenme olabilmektedir.
Jan Sipke V., Bram W., Robert J. M., “Sensor Data Storage Performance: SQL or NoSQL, Physical or Virtual”, Cloud
Computing (CLOUD), 2012 IEEE 5th International Conference on, 24-29 June (2012)
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
SQL Sorgu Dili
Veri tabanı uygulamaları için kullanılan en yaygın sorgu dilidir. IBM,
ilişkisel veri tabanı yönetim sistemi geliştirmek amacıyla System/R adlı bir
proje başlatarak bu sistem için Structured English Query Language
(SEQUEL) adında bir sorgu dili geliştirilmeye başlamıştır. 1979’ da
tamamlanan bu proje sırasında geliştirilen dilin adı Structured Query
Language (SQL) olarak değiştirilmiştir. System/R projesini izleyen bir grup
mühendis, ilişkisel veri tabanındaki potansiyeli görmüş ve Relational
Software Inc. Adında bir şirket kurmuşlardır. 1979’da ORACLE adını
verdikleri ilk ticari ilişkisel veri tabanı yönetim sistemini geliştirmişler ve
SQL’i bu sistemde sorgu dili olarak kullanmışlardır.
Donald D. C., Morton M. A., Michael W. B., and others., “A History and Evaluation of System R” IBM Research
Laboratory San Jose, California, Oct. (1981)
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
SQL Veri Tabanı Temel Özellikleri
• İlişkisel veri tabanı, önceden tanımlanmış ve kategorize
edilmiş tablolar içerisine veri yerleştirme biçimidir.
• Her tablo sütunları bir veya daha fazla veri kategorisi içerir.
• Her satır, sütunlara göre belirlenen kategoriler içinde eşsiz bir
veri örneğini içerir.
• Kullanıcı veri tabanı tablosunun yapısını bilmeden veri
tabanındaki veriye erişebilirsiniz.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Sınırlılıklar
SQL veri tabanı sınırlılıklarından ölçeklenebilirlik ve karmaşıklık
aşağıda açıklanmaya çalışılmıştır.
Ölçeklenebilirlik: İlişkisel veri tabanında ölçeklenebilirlik çok güçlü
ve pahalı sunucular ile gerçekleştirilebilir. Tek bir yerden depo
edilmeli prensibine dayanan bu veri tabanı birden fazla yerdeki
kaynakların birleştirilmesi oldukça zordur.
Karmaşıklık: SQL sunucu verilerini tablolar içerisinde saklar bu
durum farklı boyutta verilerin girilmesinde zorluklar ortaya çıkarır.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
NoSQL
NoSQL veri tabanı kavramı, yıllardır bilişim dünyasında
kullanılan ilişkisel veri tabanı sistemlerine alternatif olarak
çıkmıştır. İnternet ortamında gün geçtikçe büyüyen verileri
depolayabilmek ve yüksek erişilebilirliğin yanında yatay
ölçeklenebilen sistemlere verilen genel bir isim olarak
günümüzde anılmaktadır.
Google’ın BigTable ve Amazon’un Dynamo teknolojisinde
kullandığı ilişkisel olmayan veri tabanındaki başarısı ve aynı
zamanda NoSQL veri tabanlarının ölçeklenebilirliği, hızı,
erişim kolaylığı, maliyeti vb. gibi kavramlarda sağladığı
üstünlük NoSQL veri tabanlarının popülaritesini arttırmıştır.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
NoSQL veri tabanlarının belge odaklı olması ile farklı
teknolojiler bir arada kullanılabilmektedir. Bir NoSQL veri
tabanı XML,TXT, JSON veya BSON dosya yapılarını
destekleyebilir. Veriler belirtilen bu dosya serileri halinde
bulunmaktadır.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
NoSQL Sistemlerinin Çeşitleri ve Farkları
Günümüzde farklı teknolojilerde bulunan NoSQL veri
tabanlarının SQL gibi standartları olmadığı için kendi
aralarında da çeşitli farklılıklar göstermektedirler.
HBase, Cassandra, Redis, MongoDB, Voldemort, CouchDB,
Dynomite, Hypertable günümüzde kullanılan NoSQL veri
tabanlarıdır.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
NoSQL sistemlerini genel olarak veri modeline göre
üç grupta toplamak mümkündür.
• Döküman Tabanlı: Bu sistemlerde bir kayıt döküman olarak
isimlendirilir. Dökümanlar genelde JSON veya XML formatında
saklanır. Bu dökümanların içerisinde sınırsız alan oluşturulabilir.
MongoDB, CouchDB, HBase, Cassandra ve Amazon SimpleDB
bunlara örnektir.
• Anahtar / Değer Tabanlı: Bu sistemlerde anahtara karşılık gelen
tek bir bilgi bulunur. Yani kolon kavramı yoktur. AzureTable
Storage, MemcacheDB ve BerkeleyDB bunlara örnektir.
• Grafik Tabanlı: Diğerlerinden farklı olarak verilerin arasındaki
ilişkiyi de tutan, Graph theory modelindeki sistemlerdir. Neo4J,
FlockDB bunlara örnektir.
“NoSQL Nedir” , http://devveri.com/nosql-nedir(Erişim Tarihi: 03.12.2014)
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
SQL ve NoSQL
• İşlem Güvenirliği: İşlem güvenirliği ilişkisel veri tabanlarında oldukça
yüksek olmasına rağmen NoSQL veri tabanı sistemlerinde oldukça
düşüktür. Bunun nedeni ise ilişkisel veri tabanı sistemlerinin ACID
(Atomicity– Consistency–Isolation-Durability) işlemlerini desteklemesidir.
Atomicity : İşlemin tamamlanması ya da iptal olması.
Consistency : Transaction ın bir durumdan diğerine başarı ile geçerek koynulan transaction
kurallarının tamamını başarılı olarak gerçekleştirmesi (Commit) veya herhangi bir adımı
gerçekleştiremediği durumda tüm transaction işleminin iptal etmesi.(Roll Back)
Isolation : Ayrım, herhangi bir transaction tüm adımları tamamlanana kadar diğer herhangi bir
transaction tarafından yapılmış olan işlemler görünmez.
Durability : Sağlamlık, onaylanan commit edilen bir transaction sonucunda veriler harddisklere
yazılır ve artık bundan sonra oluşabilecek sistem hatalarından korunmuş olur.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
•Veri Modeli: SQL veri tabanı sistemleri verileri tablo yapılarında
saklar ve SQL sorgu dili ile bu verilere erişimi sağlamaktadır. SQL
veri tabanlarında aynı anda birden fazla tablo üzerinde işlem
yapılabilir ve kolon sayıları arttırılabilir. Veri tabanını büyütmek
amacıyla ise dikey ölçeklenebilirlik sağlanırken yatay
ölçeklenebilirlik kısıtlıdır. NoSQL veri tabanı sistemlerinde ise
yatay ölçeklenebilirliği hat safhada kullanıcıya sunarken veriler
genellikle anahtar/değer tabanlı olarak kolon kavramı olmadan
saklanır.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
• Ölçeklenebilirlik: Ölçeklenebilirlik NoSQL kavramının çıkmasında önemli
ölçüde paya sahiptir. İlişkisel veri tabanlarında büyüme dikey olarak
sağlanırken, büyük verilerin gereksinim duyduğu ölçüye ulaşmak için
donanım gereksinimi duyulur ve bu gereksinim oldukça pahalıdır. NoSQL
ise yatay olarak ölçeklenebilirlik sunmakta ve büyük verilerin
saklanmasını kolaylaştırdığı gibi maliyetini de azaltmaktadır.
• Karmaşıklık: İlişkisel veri tabanlarında verilerin tablolarda tutulması ve bir
tablonun birden fazla tablo ile ilişkisinin olması karmaşıklığı beraberinde
getirmektedir. Özellikle yapısal olmayan verilerde karmaşıklık daha da
artmaktadır. Belge tabanlı NoSQL veri tabanlarında ise bu durum farklıdır.
Farklı belgelerde saklanan veriler birbirlerinden etkilenmemektedirler.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
• Hata Kurtarma: Veri tabanında oluşabilecek problemler kilitlenme ve
verilerde hasara yol açabilir. İlişkisel veri tabanı sistemleri özellikle log
yönetimi ile veri tabanını izleme ve hata kontrolü sağlamada oldukça
başarılıdır. NoSQL veri tabanları ise farklı teknolojilerde olduğundan her
veri tabanı bu duruma farklı bir çözüm bulmaya çalışmıştır. Örneğin
MongoDB kazalardan kaçınmak için yedekleme mekanizmasına sahiptir.
• Güvenlik: Günümüzde yaygın olarak kullanılan ilişkisel veri tabanları
üzerine yıllardır güvenlik çalışmaları yapılmış ve bu çalışmalar meyvesini
vermiştir. Basit olarak SQL Injection veya Cross Site Scripting gibi
işlemlere karşı önlemler alınmaya çalışılmıştır fakat NoSQL performans
bakımından ön plana çıktığından güvenlik üzerine çalışmalar geri planda
kalmıştır. Bu nedenden dolayı veri tabanı seçiminde güvenlik kısmının
iyice araştırılması gerekmektedir.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Datastax firmasının sunduğu bir uygulama için neden NoSQL
veri tabanının seçilmesi gerektiği aşağıdaki özellikleri
vurgulanarak belirtilmiştir[10].
• Büyük verinin var olması.
• Geliştirilen uygulamalar için sürekli kullanılabilir verilerin
olması.
• Platformdan bağımsız sistemlerin oluşturulma isteği.
• Modern işlem desteğine olan ihtiyaç.
• Daha esnek bir veri modelinin gerekliliği.
• Daha iyi bir mimari isteği.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
SQL ve NoSQL Sorgu Örnekleri
db.sensor.find({”create_date”: ”2014-12-21”})
// 21.12.2014 tarihinde sisteme yazılmış olan sensor bilgilerini
listeler.
SELECT ADI, SICAKLIK,
WHERE ALGILAYICI_NO = 10;
SAAT
FROM
SENSOR
// 10 numaralı algılayıcı için ad, sıcaklık ve saat” bilgilerinin
bulunmak istendiği kolayca anlaşılmaktadır.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
M2M Sistemlerinde NoSQL
İnternet ortamındaki verilerin gün geçtikçe büyümesinin
nedenlerinden biri de Nesnelerin İnterneti ve M2M
kavramlarıdır. 2020 yılı itibariyle Nesnelerin İnterneti’nin
parçası olması öngörülen nesnelerin(otonom) sayısı 30
milyar
civarındadır[12].
Bu
sistemler
haberleşmeyi
algılayıcılar sayesinde yaptıkları gibi anlık olarak konum,
hareket, sıcaklık, basınç vb. değerleri hem birbiri ile
paylaşırken hem de depolamaktadırlar. Bu kadar büyük
boyutlara ulaşan bir veri yapısını işlemek saklamak oldukça
maliyetli ve zordur. İşte tamda bu noktada yeni teknolojileri
kullanarak proje geliştirmek oldukça önemlidir.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Algılayıcı verileri, veri tabanına yazım sırasında belirli aralıklarla
veri tabanı yoğunluk yaşar. Aynı zamanda veriler veri tabanından
okuma esnasında birden fazla kullanıcı veri tabanından farklı
isteklerde bulunabilir. Bu durumda veri tabanının cevap verme
süresi geç olursa, sistemde kilitlenmelere neden olmaktadır. Bu
durumu engelleyebilmek için performans bakımından üst düzey
bir belge tabanlı NoSQL veri tabanı tercih nedeni olmalıdır. Bunun
için ise MongoDB kendini kanıtlamış bir sistemdir ve Türkiye Halk
Sağlığı Kurumu “Soğuk Zincir Takip ve Stok Yönetim Sistemi”
projesinde de kullanılmaktadır[5]. Sanal ve fiziksel veri tabanları
üzerine yapılan bir çalışmada birden fazla okuma ve yazma işlemi
için sistemin performansı Şekil 2’de gösterilmiştir.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Veri Tabanı Karşılaştırılması[3].
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Maliyet veri tabanları için önemlidir. Saklanılan veri
boyutu ne kadar artarsa depolama gereksinimi de bir o
kadar artmaktadır. İlişkisel veri tabanlarında kolonlar
dikey ölçeklendiğinden veri tabanı için yeni donanımlar
satın almak gerekebilir. İlişkisel veri tabanlarını yatay
ölçeklemek zordur. NoSQL de ise bu durum farklıdır.
Yatay ölçeklenebilen NoSQL veri tabanları maliyeti
oldukça düşürmektedir ve benzersiz bir ağ yapısı ile
performansı arttırmaktadır.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Örnek JSON Yapısı - MongoDB
{
"_id" : ObjectId("54ca3e0a338f97042433d195"),
"_class" : "com.saadinoyucu.model.Cihaz",
"ip" : "10.12.87.61",
"sicaklik" : "24",
"cihaz_adi" : "Arduino1",
"createdDate"
:
ISODate("2015-0129T14:04:57.922Z")
}
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
MonjaDB Eclipse ile görünüm
aa
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Sonuç ve Öneriler
Öncelikle SQL ve NoSQL veri tabanları incelenmiş ve belge
tabanlı veri tabanı sistemlerinin önemi üzerine durulmuştur.
Yatay ölçeklenebilirlik büyük veriler için önemli olduğundan ve
yapılan karşılaştırılmalar sonucu M2M sistemler için NoSQL
veri tabanı tercih edilmelidir sonucuna varılmıştır. Ayrıca farklı
durumlarda SQL ve NoSQL veri tabanı sistemleri
karşılaştırılmıştır ve M2M sistemler için en uygun veri tabanının
seçilmesi için bilgiler sunulmuştur.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
İlişkisel veri tabanı ve NoSQL veri tabanlarının kendine göre avantaj ve
dezavantajları bulunmaktadır. M2M sistemlerinde algılayıcılardan veri
tabanına ve sisteme sürekli veri akışı olacağından hız oldukça önemlidir.
NoSQL veri tabanı yazılımı olarak MongoDB gibi birden fazla ücretsiz
yazılımda mevcuttur. MongoDB belge veri modeli, zengin sorgu desteği,
yatay ölçeklenebilirlik, yüksek kullanılabilirlik, esneklik ve dinamik şema gibi
birçok özelliği geliştiricilere sunmaktadır. Veri saklama işleminde JSON
yapısını kullanmaya izin veren NoSQL veri tabanı ile Temsili Durum
Transferi (Representational State Transfer: RestFUL) web servislerinin
kullanıldığı sistemler, daha dinamik bir yapı ve platformdan bağımsız
uygulamalar geliştirilmesine olanak sağlayacaktır. Bu nedenlerden dolayı
M2M projelerinde veri tabanı olarak NoSQL veri tabanlarını kullanmak
uygulamalarda başarılı sonuçlar almayı kolaylaştıracaktır.
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Teşekkürler
Soru ve Önerileriniz..
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Kaynaklar
[1] Yishan L., Sathiamoorthy M., “A performance comparison of SQL and NoSQL databases”, Communications,
Computers and Signal Processing (PACRIM), 2013 IEEE Pacific Rim, Conference on, 27-29 Aug. (2013)
[2] Lior O., Nurit G., Yaron G., Ehud G., Jenny A., “Security Issues in NoSQL Databases”, Trust, Security and
Privacy in Computing and Communications (TrustCom), 2011 IEEE 10th International Conference on, 16-18
Nov. (2011)
[3] Jan Sipke V., Bram W., Robert J. M., “Sensor Data Storage Performance: SQL or NoSQL, Physical or
Virtual”, Cloud Computing (CLOUD), 2012 IEEE 5th International Conference on, 24-29 June (2012)
[4] Han J., Haihong E., Le G., Du J., “Survey on NoSQL database”, Pervasive Computing and Applications
(ICPCA), 2011 6th International Conference on, 26-28 Oct. (2011)
[5] Ankaref, Gökhan F. Türkiye Bilişim Dergisi, Sayfa 106, Yıl 42, Sayı 171, Aralık (2014)
[6] Donald D. C., Morton M. A., Michael W. B., and others., “A History and Evaluation of System R” IBM
Research Laboratory San Jose, California, Oct. (1981)
[7] Rick C., “Scalable SQL and NoSQL Data Stores” , SIGMOD Record, December 2010 (Vol. 39, No. 4)
[8] “NoSQL Nedir” , http://devveri.com/nosql-nedir(Erişim Tarihi: 03.12.2014)
[9] Mohamed A. M., Obay G. A., Mohammed O.I., “Relational vs. NoSQL Databases: A Survey”, International
Journal of Computer and Information Technology (ISSN: 2279 – 0764) Volume 03 – Issue 03, May (2014)
[10] White Paper BY DATASTAX CORPORATION October (2013)
[11] “Why NoSQL” ,
http://www.couchbase.com/nosql-resources/what-is-no-sql (Erişim Tarihi:03.12.2014)
[12] IDC, “Worldwide Internet of Things (IoT) 2013-2020 Forecast: Billions of Things trillions Of Dollars”, Belge
No. 243661, Ekim 2013
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü
Dinlediğiniz İçin Teşekkür Ederim
2015
Gazi Üniversitesi, Teknoloji Fakültesi,
Bilgisayar Mühendisliği Bölümü