Nosql ve mongoDB

April 6, 2018 | Author: Anonymous | Category: Technology
Report this link


Description

1. NoSql ve MongoDB Saygın Topatan 2. NoSql ve MongoDB NoSql nedir Neden ihtiyaç duyuldu Tipleri MongoDb Kavramlar Sharding Şema Tasarımı NoSql’in geleceği 3. NoSql Nedir?Nedir 2009 başlarında ortaya çıkmış bir kavram İlişkisel Olmayan Veritabanı Yönetim SistemiÖzellikleri Sabit tablo şemaları gerektirmeyebilir Join işlemlerinden kaçınır Yatay ölçeklenir! 4. No to Sql ? 5. Neden NoSql?Veri Miktarı Yıllara Göre Saklanan Veri Miktarı ExaByte (10¹⁸)Kaynak: IDC 20119000 79108000700060005000400030002000 9881000397623161253 0 2006 2007 2008200920102015 6. Neden NoSql?Uygulama Mimarileri1980 ler: Mainframe UygulamalarıUygulama Veritabanı 7. Neden NoSql? Uygulama Mimarileri1990 ler: Entegrasyon merkezi olarak veritabanı UygulamaUygulama Uygulama Veritabanı 8. Neden NoSql? Uygulama Mimarileri2000 ler: Artan saklama ve performans ihtiyaçları UygulamaUygulama Uygulama VeritabanıVeritabanı Veritabanı 9. Neden NoSql? 10. Neden Ölçekleme?PowerEdge T110 II (Basic) – 8 GB, 3.1 Ghz Quad $1, 350.004TPowerEdge T110 II (Basic) – 32 GB, 3.4 Ghz Quad $12, 103.008TPowerEdge C2100 - 192 GB, 2 x 3 Ghz$19, 960.00IBM System x3850 X5 – 8 x 2.4 Ghz, 2048 GB $645, 605.00K Computer (süper bilgisayar) - 10 petaflops, 705, $10, 000, 000 yıllık işletim ücreti024 cores, 1, 377 TB Setup ücreti ile ilgili bilgi yok 11. Neden NoSql? MongoDb vs. Sql Server 2008MongoDB C# APIvs.LINQ to SQL 12. Neden NoSql? MongoDb vs. Sql Server 2008MongoDB C# APIvs.LINQ to SQL 13. Neden NoSql?MongoDb vs. Sql Server 2008 Gerçek Dünya verileriMongoDbSQL Server 14. Neden NoSql? MongoDb vs. Sql Server 2008 15. NoSql Tipleri Anahtar-Değer Ambarı (Key-Value Stores) Dynomite, Voldemort, Riak, Tokyo Cabinet Doküman Ambarı (Document Store) MongoDB, CouchDB, RavenDB Geniş Sütun Ambarı/Sütun Aileleri (Wide ColumnStore/Column Families, BigTable Clones) Apache Hbase, HyperTable, Cassandra Graf Veritabanları (Graph Databases) Neo4j, AllegroGraph, InfoGrid 16. Anahtar Değer AmbarıTek anahtar – tek değerSon derece hızlıDeğer ikili (binary) olarak tutulur.Veritabanı değerin verisini anlamaz, anlamak istemezNesneye erişim anahtar üzerinden olurdeğer … anahtarBaslik_€#_NoSql^ ^ ^Yazar _€#_Saygın ^ ^ ^BlogPost_127GonderiTarihi%/// 133546849998) … 17. Doküman Ambarı (Document Store)Anahtar-değer ambarı, ama değer veritabanı tarafından anlaşılabilirDeğer üzerinden sorgu yapmak mümkün doküman { anahtar Baslik: “NoSql”, Yazar: “Saygin”,BlogPost_127 Tarih: “04-02-2012” } 18. Geniş Sütun Ambarı/Sütun Aileleri(BigTable Clones) Google BigTable yayınından esinlenilmiştir Dağıtık, çok boyutlu, sıralanmış eşleme Her anahtar birden çok sütun ile eşleştirilirSütun Sütun ailesi BaşlıkBlogPostBaslikNoSqlRow_idBlogPostYazarBlogPost_127SaygınBlogPostGönderiTarihi04-02-2012Comment textPaylaşım içinteşekkürler 19. Geniş Sütun Ambarı/Sütun Aileleri(BigTable Clones) Google BigTable 2006 verileri 20. Graf Veritabanları Veri ilişkilerine odaklanmış graf yapısıdır. Düğümler(nodes) ve bunları bağlayan kenarlar(edges) Her ikisinde de anahtar-değer ikilileri bulunur YusufGizem EmreAslı 21. Graf Veritabanları Veri ilişkilerine odaklanmış graf yapısıdır. Düğümler(nodes) ve bunları bağlayan kenarlar(edges) Her ikisinde de anahtar-değer ikilileri bulunurYaş: 23Yaş: 22Okul: “İTÜ”Okul: “İTÜ” YusufGizem Yaş: 22Yaş: 23 Okul: “YTÜ”Twitter:”@delikiz” EmreAslı 22. Graf VeritabanlarıVeri ilişkilerine odaklanmış graf yapısıdır.Düğümler(nodes) ve bunları bağlayan kenarlar(edges)Her ikisinde de anahtar-değer ikilileri bulunur Yaş: 23Yaş: 22sever Okul: “İTÜ”Okul: “İTÜ” severYusufGizemÖdevlerini YaparBirlikte Yaşar KuzenYaş: 22Yaş: 23Okul: “YTÜ”Twitter:”@delikiz”EmreAslı sever 23. NoSql Tipleri Boyut-Karmaşıklık karşılaştırmasıVeri BoyutuAnahtar/Değer ambarı BigTable KlonlarıKey/Value Stores Doküman Ambarları Graf VeritabanlarıKarmaşıklık(Complexity) 24.  Doküman Tabanlı veritabanı JSON türevi (BSON) bir format kullanır Şemasız Performans C++ da yazılmış Index desteği Ölçeklenebilir Replication Auto-Sharding Ticari destekli (10gen) Bolca doküman 25.  Database == Database Table== Collection Index== Index Row== BSON Document Column == BSON Field 26. mongoDBCREATE TABLE USERS (a Number, b Number) Tabledb.createCollection("mycoll")ALTER TABLE users ADD ... 27. mongoDBSELECT * FROM usersdb.users.find()SELECT a, b FROM usersdb.users.find({ }, {a:1, b:1})SELECT * FROM users WHERE age>33db.users.find({age:{$gt:33}})SELECT * FROM users WHERE age=33 ORDER BY namedb.users.find({age:33}).sort({name:1}) 28. mongoDBSELECT DISTINCT last_name FROM usersdb.users.distinct(last_name)SELECT COUNT(*) FROM usersdb.users.count()SELECT COUNT(AGE) from usersdb.users.find({age: {$exists: true}}).count() 29. mongoDB Indexleri// Artandb.users.ensureIndex({name:1})// Eşsizdb.users.ensureIndex({name:1}, {unique:true})//Sessiz, Bloklamayandb.users.ensureIndex({name:1}, {background:true})//Bileşikdb.users.ensureIndex({name:1}, {age:-1}) 30. mongoDB Auto Sharding Verinin her parçası ayrı bir sunucu (shard) tarafından yönetilir Her bir sunucu da verinin bir alt kümesi üzerinde tam kontrolesahiptir Veritabanı işlemleri mümkünse bir shard üzerinde, değilsebirden çok sunucu üzerinde yapılır Sistem yükü değiştikçe, verininsunuculara dağıtılması otomatik olarakdengelenir 31. Auto Sharding Mimari Görünümü0


Comments

Copyright © 2024 UPDOCS Inc.