Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NoSQL - Yazılımcı Bakışıyla

2,618 views

Published on

Published in: Technology
  • Be the first to comment

NoSQL - Yazılımcı Bakışıyla

  1. 1. Başlangıç Veri(Data) Popüler Veri Depolama Modeli – RDBMS Sıkıntılar Mahallenin Yeni Delikanlısı - NoSQL RDBMS vs NoSQL Kaynaklar
  2. 2. no:sql(east) 2009 - Atlanta
  3. 3. ACID SQL Yetki bazlı veri verinin denetlenmesi Object-Relational Mapping(O/RM) Join zor Sharding zordur çeşitlilik gösteren verilerin Scale-Out saklanması
  4. 4. OrderDetails Orders CategoryID Title Description ID ProductId CustomerID Number Name Title Quantity LastName CustomerID AddressID CategoryID BirthDate AddressID Line1 Line2 City Street PostalCode
  5. 5. Atomic : Consistent : Ya hep ya hiç Veritabanı bütünlüğü Isolated : Durable : söyledim * Aksi durumlar söz konusu olabilir. Bunun için izolasyon seviyeleri ele alınır. İşime karışma * Son sözümü
  6. 6. Firma İstatistik Aylık paylaşım sayısı Facebook Entegre çalışan Uygulama ve Web Sitesi Sayısı Her gün kurulan uygulama sayısı Wikipedia Wikipedia tarafından sunulan toplam makale sayısı Her dakika yüklenen ortlama resim sayısı Flickr Youtube Twitter 12.26.2013 Aylık olarak toplam gösterim sayısı Dakika başına yüklenen toplam video süresi Günlük ortalama tweet sayısı Günlük Twitter Arama Motoru sorgu sayısı Değer 70 Milyar 7 Milyon 20 Milyon 17 Milyon 3000 92 Milyar 65 Saat 190 Milyon 2.1 Milyar Statistic Brain
  7. 7. Veri hacmi Veri çeşitliliği işlem trafiği Yüksek transaction Ölçekleme teknolojik baskı
  8. 8. RDBMS modelini izlemeyen İlişkisel olmayan Atomicity Consistency Veri çeşitliliği SQL Scalability kullanmayan Availability
  9. 9. BASE O/RM Scale Scale-out kolay sıradan sunucular Yüksek çeşitlilikte veri hızlı arama
  10. 10. binlerce kolon karmaşık veri modeli Zengin Structure Bir araya getirme süratli
  11. 11. Row ID Column Family Row Key Timestamp Column Name Name Family First Last T4 T20 Jon T45 Phone Number Email selim@buraksenyurt.com 444-55-66 Burak T22 Connection Family burak@blaba.com 122-54-64-555 jon@doe.doe.com Şenyurt T9 Row 2 Value 333-33-33 T1 Row 1 Timestamp Do Doe Jon.doe@nosql.com.fr
  12. 12. Sepetim Sepet ID Kullanıcı Oluşturulma 9005 Burki 4.12.2013 9006 ConDo 5.12.2013 Sepet Öğeleri Öğe ID SepetID Miktar Ürün No 1001 9005 3 PRD-01 1002 9005 1 PRD-02 Ürün Ürün No Adı Fiyat Kategori PRD-01 AyFone5 120 Telefon PRD-02 Anduroit 190 Telefon
  13. 13. Row ID Time Kullanıcı SepetID Urun stamp Adı T1 1506 Burki Urun No Birim Adet Kategori Fiyat 9005 T2 AyFone5 PRD-01 120 3 Telefon T3 Anduroit PRD-02 190 1 Telefon
  14. 14. Keys hash map Şema yok Hızlı Kolay dağıtım DynamoDB basit veri çeşitliliği 105456 121105 895432
  15. 15. JSON Doküman içerisinde sorgu belirli bir parçasını tedarik Dokümanlar arası bağlantı Implicit Schema Standart bir sorgulama dili yok { "customerInfo" : { "customers" : [ { "firstName" : "Burak Selim", "lastName" : "Şenyurt", "age" : 37, "city" : "İstanbul", }, { }, … } } "firstName" : "Con", "lastName" : "Doe", "age" : 51, "city" : "London", ]
  16. 16. Graph algoritmalı Hızlı sorgulama Sosyal ağlar
  17. 17. Ürün Üretici Tip CAP Internal? Bazı Kullanıcıları Dynamo Amazon Key Value AP Evet Amazon Cassandra Facebook Column Store AP Hayır Facebook, Digg, Twitter, Rackspace, Cisco, BigTable Google Column Store CP Evet Google MongoDB 10Gen Document Store CP Hayır EA, Newyork Times, Github, Sourceforge CouchDB Couchio Document Store AP Hayır BBC, Sauce Labs SimpleDB Amazon Key Value AP Hayır Alexa Neo4J Neo Technologies Graph ?? Hayır Adobe, Swedish Defence Forces, Redis VMware Key Value CP Hayır Twitter, The Guardian, Instagram, Stackoverflow Voldemort Linkedin Key Value AP Hayır Linkedin Evet LiveJournal, Flickr, Wikipedia, Youtube, Digg Memcached LiveJournal Key Value (In-Memory) CP
  18. 18. Eric Brewer Symposium on Principles of Distributed Computing Seth Gilbert Nancy Lynch güvenilir olmayan bir ağ üzerinde aşağıdaki 3 özelliğin hepsini birden Consistency : Availability : Partition Tolerance :
  19. 19. Bir yazma işlemini asla kesme. Consistency’ ye değil işlem hacmine odaklan (Big Data) İyimser ol : Bir servis düşse bile doğal olarak ayağa kalkacaktır. Bazı raporlar bir süre için tutarsızlık gösterebilir ama üzülme. Sonunda doğru bilgiyi verir. Lock’ lar dan uzak dur, basit düşün.

×