狠狠撸

狠狠撸Share a Scribd company logo
MongoDB - NoSQL Overview
NoSQL
NoSQL Databases
Cihan ?zhan | DeepLab.co | Founder, AI Engineer, Mentor
NoSQL Nedir?
? NoSQL, temelde büyük, yap?land?r?lmam?? veri kümelerini y?netmek i?in kullan?lan bir veritaban?d?r.
? NoSQL, SQL benzeri sorgu dillerini de destekleyebileceklerini vurgulamak i?in "Yaln?zca SQL" olarak da
adland?r?l?r.
? NoSQL veritabanlar?, büyük verilerde ve ger?ek zamanl? web uygulamalar?nda giderek daha fazla
kullan?lmaktad?r.
? NoSQL, birden ?ok sanal sunucuda kullan?ma sunulan ?ok büyük bir veri kümesine eri?mesi ve bunlar?
analiz etmesi gereken kurumsal bir uygulamada hayati bir rol oynar.
? NoSQL veritaban?, ?li?kisel Veritabanlar?nda g?rülen Performans, ?l?eklenebilirlik, Veri Modelleme ve
Da??t?m s?n?rlamalar?n?n üstesinden gelmek i?in tasarlanm??t?r.
Motivasyon
? Tasar?m Sadeli?i
? Yatay ?l?eklendirme (Horizontal Scaling)
? Eri?ilebilirlik
Veritaban? Tarihi
? 1970'lerin ?li?kisel veritabanlar? icat edildi.
– Pahal? Depolama
– Normalle?tirilmi? Veriler
? 1980'lerin RDBMS'si ticarile?tirildi.
– Client/Server Model
– SQL’?n standart olmas?
? 1990’larda bir?eyler de?i?meye ba?lar.
– Client/Server 3-Tier Mimari
– ?nternet ve Web’in Yükseli?i
? 2000’ler Web 2.0
– Sosyal media ve E-Ticaret’in yükseli?i!
– Hardware fiyatlar?ndaki sürekli dü?ü?.
Yeni Bir Veritaban? Türü ?htiyac?
? Yatay ?l?eklendirme
? H?zl? Geli?tirme
? Esnek Veri Modeli
? Dü?ük Maliyet
– Dü?ük Sunucu Maliyeti
– Dü?ük Y?netim Maliyeti
NoSQL ?zellikleri
? Yüksek ?l?eklenebilirlik
? SQL S?n?rlamalar?n?n ?nüne Ge?mek
? Büyük Veri Hacimleri
? Yüksek Veri ?l?eklendirme
? ACID ?zelliklerine ihtiya? duymaz
? Asenkron INSERT ve UPDATE
? Büyük Veri Hacimleri
NoSQL Veritaban? Türleri
MongoDB - NoSQL Overview
NoSQL Veritaban? Türleri
? Key-Value
– It uses a hash table in which there exists a unique key and a pointer to a particular item of data.
– There can be identical keys in different buckets.
? ?rn : Redis and Riak
? Column-Oriented
– Veriler, veri sat?rlar? yerine veri sütunlar?nda gruplanm?? hücrelerde depolan?r.
– ?al??ma zaman?nda olu?turulabilen neredeyse s?n?rs?z say?da sütun i?erebilir.
? ?rn : Hbase and Cassandra
? Document-Oriented
– Belge odakl? bilgileri depolamak, almak ve y?netmek i?in tasarlanm??t?r.
– It pair each key with a complex data structure known as a document.
? ?rn : CouchDB and MonoDB
? Graph Store
– Sosyal ba?lant?lar gibi a? hakk?ndaki bilgileri depolamak i?in kullan?l?r.
– Veriler sosyal ili?kiler, toplu ta??ma ba?lant?lar?, yol haritalar? vb. Olabilir.
NoSQL Faydalar?
? Sorgu dilini destekler.
? Yatay ?l?eklenebilirlik sa?lar.
? Yüksek ?l?eklenebilirlik sa?lar.
? Elastik ?l?eklendirme
? JOIN’lerden Ka??nmak
? Verinin ?emalara Uymas?na Gerek Yok
? H?zl? ve Kolay Geli?tirme
? A? Sorunlar?yla Ba?a ??kma Kabiliyeti
? Dü?ük Gecikme ve Yüksek Performans
? NoSQL Sunucular?n?n Bak?m? Daha Ucuz ve Kolayd?r
? Entegre Cache Kabiliyeti
Ne Zaman NoSQL?
? Büyük miktarda veriyi saklamak ve almak istedi?inizde.
? Saklad???n?z veriler aras?ndaki ili?ki o kadar da ?nemli de?ilse.
? Veriler yap?land?r?lmaz ve zamanla de?i?mez.
? Constraint ve JOIN deste?i veritaban? düzeyinde gerekli de?ilse.
? Veriler sürekli olarak büyüyor ve verileri i?lemek i?in veritaban?n? düzenli olarak ?l?eklendirmeniz
gerekiyorsa.
ACID ?zellikleri
? ?o?unlukla RDBMS’ler, ?.V. Y?netimi ve veri i?leme i?in standart bir bilgisayar dili olan SQL'i kullan?r.
? ?li?kisel veritabanlar? ACID ?zelliklerini takip eder:
– Atomicity, Consistency, Isolation, Durability
– Atomiklik, Tutarl?l?k, ?zolasyon, Dayan?kl?l?k
? ACID, veritaban? i?lemlerinin güvenilir ?ekilde i?lenmesini garanti eden bir dizi ?zelliktir.
– Atomicity
? Atomiklik ?zelli?i, i?lemin atomik oldu?unu tan?mlar. Atomik bir i?lem ya tamamen
tamamland? ya da hi? ba?lamad?.
– Consistency
? Bir ?rnekteki de?erlerde yap?lan herhangi bir de?i?ikli?in, ayn? ?rnekteki di?er de?erlerdeki
de?i?ikliklerle tutarl? olmas?n? sa?lar.
– Isolation
? E?zamanl? i?lemler oldu?unda gereklidir. Payla??lan nesnelere eri?en birden fazla kullan?c?n?n
payla??lmas? gibi ayn? anda ger?ekle?en i?lemler.
– Durability
? Bir i?lem, ba?ar?l? bir ?ekilde tamamland???nda, sistemde yapt??? tüm de?i?ikliklerin kal?c?
olmas? a??s?ndan dayan?kl?d?r.
RDBMS’in Eksiklikleri
? Yap?land?r?lm?? veriler i?in kullan??l?d?r.
? Veri Patlamas?
? JOIN’lerin Ek Yükü
? ?li?kileri(Relationships) y?netmek zor.
CAP Theorem
? Brewer’s Teoremi olarak da bilinen CAP Teoremi, da??t?k bir bilgisayar sisteminin a?a??daki garantilerin
tümünü ayn? anda sa?lamas?n?n imkans?z oldu?unu belirtir:
– Consistency : Tüm dü?ümler ayn? verileri ayn? anda g?rür.
– Availability : Her istek, ba?ar?l? olup olmad??? hakk?nda bir yan?t al?r.
– Partition-Tolerance : The system continues to operate even if there is a partition between
two nodes.
? Temelde bunlardan 2'sini se?ebilirsiniz ama 3'ünü birden yapamazs?n?z.
CAP Theorem
(CAP Teoreminin Kombinasyonlar?)
? CA : Tek site kümesi, tüm dü?ümler her zaman ACID ile CA'ya odaklan?r
? AP : Some data may be inaccurate BASE focus on AP.
? CP : Baz? verilere eri?ilemeyebilir.
BASE Properties
? BASE k?saltmas?, genellikle NoSQL veritabanlar? olmak üzere belirli veritabanlar?n?n ?zelliklerini
tan?mlamak i?in kullan?l?r.
? Genellikle ACID'e bir alternatiftir.
? BASE sistemi, daha fazla Availability ve Partition tolerans?na sahip olmak i?in tutarl?l?ktan vazge?er.
? BASE consists of three principles:
– Basic Availability
? NoSQL veritaban? yakla??m?, birden ?ok ar?za durumunda bile verilerin kullan?labilirli?ine
odaklan?r.
– Soft-State
? It indicates that the state of the system may change over time, even without input.
? Bunun nedeni nihai tutarl?l?k modelidir.
– Evantual Consistency
? It indicates that the system will become consistent over time, given that the system doesn't
receive input during that time.
NoSQL vs. RDBMS
NoSQL vs. RDBMS
? Relationship ve JOIN i?ermez.
? ?ok daha dü?ük bak?m maliyeti.
? ACID yerine BASE kullan?r.
? Yatay ?l?ekleme sa?lar.(Horizontal Scaling)
? ?ema i?ermez(Schemaless)
NoSQL vs. RDBMS
? Kaynak maliyetli JOIN ve Relationship’ler kullan?r.
? Yüksek y?netim maliyeti
? ACID ?zelliklerini kullan?r
? Dikey ?l?ekleme(Vertical Scaling)
? Tan?mlanm?? ?zniteliklere sahip yap? gerektirir.
Neden NoSQL Kullanmal??
? E?er ?l?eklenebilirlik bir endi?e ise…
? Daha sade veri modeli(JOIN’siz)
? ?ok dü?ük bir büt?eyle uygulama ve ?l?eklenmi? olmas? gerekiyor ise…
? Ger?ek Zamanl? Analizler
? Da??t?k Depolama
? Esneklik sa?lar
? H?zl? geli?tirme sa?lar
? Redundancy/Reliability
? Streaming/Volume

More Related Content

What's hot (20)

バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
Ryota Watabe
?
Datadog による Container の監視について
Datadog による Container の監視についてDatadog による Container の監視について
Datadog による Container の監視について
Masaya Aoyama
?
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
?
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & How
Markus Michalewicz
?
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Web Services Japan
?
データ分析基盘について
データ分析基盘についてデータ分析基盘について
データ分析基盘について
Yuta Inamura
?
Apache Solr-Webinar
Apache Solr-WebinarApache Solr-Webinar
Apache Solr-Webinar
Edureka!
?
MongoDB Atlas
MongoDB AtlasMongoDB Atlas
MongoDB Atlas
MongoDB
?
Exadata X8M-2 KVM仮想化ベストプラクティス
Exadata X8M-2 KVM仮想化ベストプラクティスExadata X8M-2 KVM仮想化ベストプラクティス
Exadata X8M-2 KVM仮想化ベストプラクティス
オラクルエンジニア通信
?
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 VersionOracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
Markus Michalewicz
?
Oracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイドOracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイド
オラクルエンジニア通信
?
データ分析を支える技術 データ分析基盤再入門
データ分析を支える技術 データ分析基盤再入門データ分析を支える技術 データ分析基盤再入門
データ分析を支える技術 データ分析基盤再入門
Satoru Ishikawa
?
Oracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけてOracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけて
Yoichi Sai
?
础奥厂とオンプレミスを繋ぐときに知っておきたいルーティングの基础知识(颁颁厂滨监修!)
础奥厂とオンプレミスを繋ぐときに知っておきたいルーティングの基础知识(颁颁厂滨监修!)础奥厂とオンプレミスを繋ぐときに知っておきたいルーティングの基础知识(颁颁厂滨监修!)
础奥厂とオンプレミスを繋ぐときに知っておきたいルーティングの基础知识(颁颁厂滨监修!)
Trainocate Japan, Ltd.
?
Oracle RAC features on Exadata
Oracle RAC features on ExadataOracle RAC features on Exadata
Oracle RAC features on Exadata
Anil Nair
?
WebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackWebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt Pack
DLT Solutions
?
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
MongoDB
?
PostgreSQL DBのバックアップを一元化しよう
PostgreSQL DBのバックアップを一元化しようPostgreSQL DBのバックアップを一元化しよう
PostgreSQL DBのバックアップを一元化しよう
Yukiya Hayashi
?
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
Chris Aniszczyk
?
笔辞蝉迟驳谤别厂蚕尝の冗长化について
笔辞蝉迟驳谤别厂蚕尝の冗长化について笔辞蝉迟驳谤别厂蚕尝の冗长化について
笔辞蝉迟驳谤别厂蚕尝の冗长化について
Soudai Sone
?
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
Ryota Watabe
?
Datadog による Container の監視について
Datadog による Container の監視についてDatadog による Container の監視について
Datadog による Container の監視について
Masaya Aoyama
?
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
?
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & How
Markus Michalewicz
?
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Web Services Japan
?
データ分析基盘について
データ分析基盘についてデータ分析基盘について
データ分析基盘について
Yuta Inamura
?
Apache Solr-Webinar
Apache Solr-WebinarApache Solr-Webinar
Apache Solr-Webinar
Edureka!
?
MongoDB Atlas
MongoDB AtlasMongoDB Atlas
MongoDB Atlas
MongoDB
?
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 VersionOracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
Markus Michalewicz
?
Oracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイドOracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイド
オラクルエンジニア通信
?
データ分析を支える技術 データ分析基盤再入門
データ分析を支える技術 データ分析基盤再入門データ分析を支える技術 データ分析基盤再入門
データ分析を支える技術 データ分析基盤再入門
Satoru Ishikawa
?
Oracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけてOracleからamazon auroraへの移行にむけて
Oracleからamazon auroraへの移行にむけて
Yoichi Sai
?
础奥厂とオンプレミスを繋ぐときに知っておきたいルーティングの基础知识(颁颁厂滨监修!)
础奥厂とオンプレミスを繋ぐときに知っておきたいルーティングの基础知识(颁颁厂滨监修!)础奥厂とオンプレミスを繋ぐときに知っておきたいルーティングの基础知识(颁颁厂滨监修!)
础奥厂とオンプレミスを繋ぐときに知っておきたいルーティングの基础知识(颁颁厂滨监修!)
Trainocate Japan, Ltd.
?
Oracle RAC features on Exadata
Oracle RAC features on ExadataOracle RAC features on Exadata
Oracle RAC features on Exadata
Anil Nair
?
WebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt PackWebLogic 12c & WebLogic Mgmt Pack
WebLogic 12c & WebLogic Mgmt Pack
DLT Solutions
?
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
MongoDB
?
PostgreSQL DBのバックアップを一元化しよう
PostgreSQL DBのバックアップを一元化しようPostgreSQL DBのバックアップを一元化しよう
PostgreSQL DBのバックアップを一元化しよう
Yukiya Hayashi
?
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
Chris Aniszczyk
?
笔辞蝉迟驳谤别厂蚕尝の冗长化について
笔辞蝉迟驳谤别厂蚕尝の冗长化について笔辞蝉迟驳谤别厂蚕尝の冗长化について
笔辞蝉迟驳谤别厂蚕尝の冗长化について
Soudai Sone
?

Similar to MongoDB - NoSQL Overview (20)

veri tabanlar? . sql vs nosql
veri tabanlar? . sql vs nosqlveri tabanlar? . sql vs nosql
veri tabanlar? . sql vs nosql
Or?un ?olak
?
Mongodb ?dev- ?nternet programc?l???- IP2-Vize 2
Mongodb ?dev- ?nternet programc?l???- IP2-Vize 2Mongodb ?dev- ?nternet programc?l???- IP2-Vize 2
Mongodb ?dev- ?nternet programc?l???- IP2-Vize 2
gulindasdan
?
Kod günleri veritabn?
Kod günleri veritabn?Kod günleri veritabn?
Kod günleri veritabn?
Mustafa Tepe
?
Loglari nerede saklayal?m?
Loglari nerede saklayal?m?Loglari nerede saklayal?m?
Loglari nerede saklayal?m?
Ertugrul Akbas
?
?leri Seviye T-SQL Programlama - Chapter 19
?leri Seviye T-SQL Programlama - Chapter 19?leri Seviye T-SQL Programlama - Chapter 19
?leri Seviye T-SQL Programlama - Chapter 19
Cihan ?zhan
?
No SQL & MongoDB Nedir?
No SQL & MongoDB Nedir?No SQL & MongoDB Nedir?
No SQL & MongoDB Nedir?
Sistek Yaz?l?m
?
Linkle mimari
Linkle mimariLinkle mimari
Linkle mimari
Tahsin Yüksel
?
NoSQL Sunumu
NoSQL SunumuNoSQL Sunumu
NoSQL Sunumu
Ahmet Balkan
?
Nosql ve mongoDB
Nosql ve mongoDBNosql ve mongoDB
Nosql ve mongoDB
Sayg?n Topatan
?
NoSQL Nedir MongoDB ile .NET Karde?li?i
NoSQL Nedir MongoDB ile .NET Karde?li?iNoSQL Nedir MongoDB ile .NET Karde?li?i
NoSQL Nedir MongoDB ile .NET Karde?li?i
?brahim ATAY
?
6.Oracle Day2009 Engin Senel V2
6.Oracle Day2009 Engin Senel V26.Oracle Day2009 Engin Senel V2
6.Oracle Day2009 Engin Senel V2
Ermando
?
Nosql & MongoDB
Nosql & MongoDBNosql & MongoDB
Nosql & MongoDB
Serdar Buyuktemiz
?
Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)
Serhad MAKBULO?LU, MBA
?
Da??t?k Veritaban? Sistemleri
Da??t?k Veritaban? SistemleriDa??t?k Veritaban? Sistemleri
Da??t?k Veritaban? Sistemleri
?smail ?EN
?
Ankara JUG Big Data Presentation
Ankara JUG Big Data PresentationAnkara JUG Big Data Presentation
Ankara JUG Big Data Presentation
Serkan ?zal
?
?? ZEKASININ TEMELLER?: VER?TABANLARI VE ENFORMASYON Y?NET?M?
?? ZEKASININ TEMELLER?: VER?TABANLARI VE ENFORMASYON Y?NET?M??? ZEKASININ TEMELLER?: VER?TABANLARI VE ENFORMASYON Y?NET?M?
?? ZEKASININ TEMELLER?: VER?TABANLARI VE ENFORMASYON Y?NET?M?
Abdullah Cihan
?
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data Analytics
Mudur Alkan
?
veri tabanlar? . sql vs nosql
veri tabanlar? . sql vs nosqlveri tabanlar? . sql vs nosql
veri tabanlar? . sql vs nosql
Or?un ?olak
?
Mongodb ?dev- ?nternet programc?l???- IP2-Vize 2
Mongodb ?dev- ?nternet programc?l???- IP2-Vize 2Mongodb ?dev- ?nternet programc?l???- IP2-Vize 2
Mongodb ?dev- ?nternet programc?l???- IP2-Vize 2
gulindasdan
?
Kod günleri veritabn?
Kod günleri veritabn?Kod günleri veritabn?
Kod günleri veritabn?
Mustafa Tepe
?
Loglari nerede saklayal?m?
Loglari nerede saklayal?m?Loglari nerede saklayal?m?
Loglari nerede saklayal?m?
Ertugrul Akbas
?
?leri Seviye T-SQL Programlama - Chapter 19
?leri Seviye T-SQL Programlama - Chapter 19?leri Seviye T-SQL Programlama - Chapter 19
?leri Seviye T-SQL Programlama - Chapter 19
Cihan ?zhan
?
NoSQL Nedir MongoDB ile .NET Karde?li?i
NoSQL Nedir MongoDB ile .NET Karde?li?iNoSQL Nedir MongoDB ile .NET Karde?li?i
NoSQL Nedir MongoDB ile .NET Karde?li?i
?brahim ATAY
?
6.Oracle Day2009 Engin Senel V2
6.Oracle Day2009 Engin Senel V26.Oracle Day2009 Engin Senel V2
6.Oracle Day2009 Engin Senel V2
Ermando
?
Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)Exchange Server 2010 Database Availability Group(DAG)
Exchange Server 2010 Database Availability Group(DAG)
Serhad MAKBULO?LU, MBA
?
Da??t?k Veritaban? Sistemleri
Da??t?k Veritaban? SistemleriDa??t?k Veritaban? Sistemleri
Da??t?k Veritaban? Sistemleri
?smail ?EN
?
Ankara JUG Big Data Presentation
Ankara JUG Big Data PresentationAnkara JUG Big Data Presentation
Ankara JUG Big Data Presentation
Serkan ?zal
?
?? ZEKASININ TEMELLER?: VER?TABANLARI VE ENFORMASYON Y?NET?M?
?? ZEKASININ TEMELLER?: VER?TABANLARI VE ENFORMASYON Y?NET?M??? ZEKASININ TEMELLER?: VER?TABANLARI VE ENFORMASYON Y?NET?M?
?? ZEKASININ TEMELLER?: VER?TABANLARI VE ENFORMASYON Y?NET?M?
Abdullah Cihan
?

More from Cihan ?zhan (20)

AI and Machine Learning - Today’s Implementation Realities
AI and Machine Learning - Today’s Implementation RealitiesAI and Machine Learning - Today’s Implementation Realities
AI and Machine Learning - Today’s Implementation Realities
Cihan ?zhan
?
Mobil Uygulama Güvenli?i (Mobile Security)
Mobil Uygulama Güvenli?i (Mobile Security)Mobil Uygulama Güvenli?i (Mobile Security)
Mobil Uygulama Güvenli?i (Mobile Security)
Cihan ?zhan
?
Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)
Cihan ?zhan
?
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve Yap?lar
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve Yap?larGo Book - Fonksiyonlar, Metotlar, Arayüzler ve Yap?lar
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve Yap?lar
Cihan ?zhan
?
Golang Book - Go Programlama Dili Temelleri
Golang Book - Go Programlama Dili TemelleriGolang Book - Go Programlama Dili Temelleri
Golang Book - Go Programlama Dili Temelleri
Cihan ?zhan
?
Golang Book - Genel Bak??
Golang Book - Genel Bak??Golang Book - Genel Bak??
Golang Book - Genel Bak??
Cihan ?zhan
?
Golang Book - Giri?
Golang Book - Giri?Golang Book - Giri?
Golang Book - Giri?
Cihan ?zhan
?
MLaaS - Presenting & Scaling Machine Learning Models as Microservices
MLaaS - Presenting & Scaling Machine Learning Models as MicroservicesMLaaS - Presenting & Scaling Machine Learning Models as Microservices
MLaaS - Presenting & Scaling Machine Learning Models as Microservices
Cihan ?zhan
?
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Cihan ?zhan
?
Endüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerEndüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom Sistemler
Cihan ?zhan
?
AI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision SecurityAI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision Security
Cihan ?zhan
?
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Cihan ?zhan
?
Python Programlama Dili
Python Programlama DiliPython Programlama Dili
Python Programlama Dili
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 21
?leri Seviye T-SQL Programlama - Chapter 21?leri Seviye T-SQL Programlama - Chapter 21
?leri Seviye T-SQL Programlama - Chapter 21
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 20
?leri Seviye T-SQL Programlama - Chapter 20?leri Seviye T-SQL Programlama - Chapter 20
?leri Seviye T-SQL Programlama - Chapter 20
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 18
?leri Seviye T-SQL Programlama - Chapter 18?leri Seviye T-SQL Programlama - Chapter 18
?leri Seviye T-SQL Programlama - Chapter 18
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 17
?leri Seviye T-SQL Programlama - Chapter 17?leri Seviye T-SQL Programlama - Chapter 17
?leri Seviye T-SQL Programlama - Chapter 17
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 16
?leri Seviye T-SQL Programlama - Chapter 16?leri Seviye T-SQL Programlama - Chapter 16
?leri Seviye T-SQL Programlama - Chapter 16
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 15
?leri Seviye T-SQL Programlama - Chapter 15?leri Seviye T-SQL Programlama - Chapter 15
?leri Seviye T-SQL Programlama - Chapter 15
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 14
?leri Seviye T-SQL Programlama - Chapter 14?leri Seviye T-SQL Programlama - Chapter 14
?leri Seviye T-SQL Programlama - Chapter 14
Cihan ?zhan
?
AI and Machine Learning - Today’s Implementation Realities
AI and Machine Learning - Today’s Implementation RealitiesAI and Machine Learning - Today’s Implementation Realities
AI and Machine Learning - Today’s Implementation Realities
Cihan ?zhan
?
Mobil Uygulama Güvenli?i (Mobile Security)
Mobil Uygulama Güvenli?i (Mobile Security)Mobil Uygulama Güvenli?i (Mobile Security)
Mobil Uygulama Güvenli?i (Mobile Security)
Cihan ?zhan
?
Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)Blockchain : Decentralized Application Development (Turkish)
Blockchain : Decentralized Application Development (Turkish)
Cihan ?zhan
?
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve Yap?lar
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve Yap?larGo Book - Fonksiyonlar, Metotlar, Arayüzler ve Yap?lar
Go Book - Fonksiyonlar, Metotlar, Arayüzler ve Yap?lar
Cihan ?zhan
?
Golang Book - Go Programlama Dili Temelleri
Golang Book - Go Programlama Dili TemelleriGolang Book - Go Programlama Dili Temelleri
Golang Book - Go Programlama Dili Temelleri
Cihan ?zhan
?
Golang Book - Genel Bak??
Golang Book - Genel Bak??Golang Book - Genel Bak??
Golang Book - Genel Bak??
Cihan ?zhan
?
Golang Book - Giri?
Golang Book - Giri?Golang Book - Giri?
Golang Book - Giri?
Cihan ?zhan
?
MLaaS - Presenting & Scaling Machine Learning Models as Microservices
MLaaS - Presenting & Scaling Machine Learning Models as MicroservicesMLaaS - Presenting & Scaling Machine Learning Models as Microservices
MLaaS - Presenting & Scaling Machine Learning Models as Microservices
Cihan ?zhan
?
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Cihan ?zhan
?
Endüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom SistemlerEndüstriyel Yapay Zeka ve Otonom Sistemler
Endüstriyel Yapay Zeka ve Otonom Sistemler
Cihan ?zhan
?
AI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision SecurityAI Security : Machine Learning, Deep Learning and Computer Vision Security
AI Security : Machine Learning, Deep Learning and Computer Vision Security
Cihan ?zhan
?
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Yapay Zeka Güvenli?i : Machine Learning & Deep Learning & Computer Vision Sec...
Cihan ?zhan
?
Python Programlama Dili
Python Programlama DiliPython Programlama Dili
Python Programlama Dili
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 21
?leri Seviye T-SQL Programlama - Chapter 21?leri Seviye T-SQL Programlama - Chapter 21
?leri Seviye T-SQL Programlama - Chapter 21
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 20
?leri Seviye T-SQL Programlama - Chapter 20?leri Seviye T-SQL Programlama - Chapter 20
?leri Seviye T-SQL Programlama - Chapter 20
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 18
?leri Seviye T-SQL Programlama - Chapter 18?leri Seviye T-SQL Programlama - Chapter 18
?leri Seviye T-SQL Programlama - Chapter 18
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 17
?leri Seviye T-SQL Programlama - Chapter 17?leri Seviye T-SQL Programlama - Chapter 17
?leri Seviye T-SQL Programlama - Chapter 17
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 16
?leri Seviye T-SQL Programlama - Chapter 16?leri Seviye T-SQL Programlama - Chapter 16
?leri Seviye T-SQL Programlama - Chapter 16
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 15
?leri Seviye T-SQL Programlama - Chapter 15?leri Seviye T-SQL Programlama - Chapter 15
?leri Seviye T-SQL Programlama - Chapter 15
Cihan ?zhan
?
?leri Seviye T-SQL Programlama - Chapter 14
?leri Seviye T-SQL Programlama - Chapter 14?leri Seviye T-SQL Programlama - Chapter 14
?leri Seviye T-SQL Programlama - Chapter 14
Cihan ?zhan
?

MongoDB - NoSQL Overview

  • 2. NoSQL NoSQL Databases Cihan ?zhan | DeepLab.co | Founder, AI Engineer, Mentor
  • 3. NoSQL Nedir? ? NoSQL, temelde büyük, yap?land?r?lmam?? veri kümelerini y?netmek i?in kullan?lan bir veritaban?d?r. ? NoSQL, SQL benzeri sorgu dillerini de destekleyebileceklerini vurgulamak i?in "Yaln?zca SQL" olarak da adland?r?l?r. ? NoSQL veritabanlar?, büyük verilerde ve ger?ek zamanl? web uygulamalar?nda giderek daha fazla kullan?lmaktad?r. ? NoSQL, birden ?ok sanal sunucuda kullan?ma sunulan ?ok büyük bir veri kümesine eri?mesi ve bunlar? analiz etmesi gereken kurumsal bir uygulamada hayati bir rol oynar. ? NoSQL veritaban?, ?li?kisel Veritabanlar?nda g?rülen Performans, ?l?eklenebilirlik, Veri Modelleme ve Da??t?m s?n?rlamalar?n?n üstesinden gelmek i?in tasarlanm??t?r.
  • 4. Motivasyon ? Tasar?m Sadeli?i ? Yatay ?l?eklendirme (Horizontal Scaling) ? Eri?ilebilirlik
  • 5. Veritaban? Tarihi ? 1970'lerin ?li?kisel veritabanlar? icat edildi. – Pahal? Depolama – Normalle?tirilmi? Veriler ? 1980'lerin RDBMS'si ticarile?tirildi. – Client/Server Model – SQL’?n standart olmas? ? 1990’larda bir?eyler de?i?meye ba?lar. – Client/Server 3-Tier Mimari – ?nternet ve Web’in Yükseli?i ? 2000’ler Web 2.0 – Sosyal media ve E-Ticaret’in yükseli?i! – Hardware fiyatlar?ndaki sürekli dü?ü?.
  • 6. Yeni Bir Veritaban? Türü ?htiyac? ? Yatay ?l?eklendirme ? H?zl? Geli?tirme ? Esnek Veri Modeli ? Dü?ük Maliyet – Dü?ük Sunucu Maliyeti – Dü?ük Y?netim Maliyeti
  • 7. NoSQL ?zellikleri ? Yüksek ?l?eklenebilirlik ? SQL S?n?rlamalar?n?n ?nüne Ge?mek ? Büyük Veri Hacimleri ? Yüksek Veri ?l?eklendirme ? ACID ?zelliklerine ihtiya? duymaz ? Asenkron INSERT ve UPDATE ? Büyük Veri Hacimleri
  • 10. NoSQL Veritaban? Türleri ? Key-Value – It uses a hash table in which there exists a unique key and a pointer to a particular item of data. – There can be identical keys in different buckets. ? ?rn : Redis and Riak ? Column-Oriented – Veriler, veri sat?rlar? yerine veri sütunlar?nda gruplanm?? hücrelerde depolan?r. – ?al??ma zaman?nda olu?turulabilen neredeyse s?n?rs?z say?da sütun i?erebilir. ? ?rn : Hbase and Cassandra ? Document-Oriented – Belge odakl? bilgileri depolamak, almak ve y?netmek i?in tasarlanm??t?r. – It pair each key with a complex data structure known as a document. ? ?rn : CouchDB and MonoDB ? Graph Store – Sosyal ba?lant?lar gibi a? hakk?ndaki bilgileri depolamak i?in kullan?l?r. – Veriler sosyal ili?kiler, toplu ta??ma ba?lant?lar?, yol haritalar? vb. Olabilir.
  • 11. NoSQL Faydalar? ? Sorgu dilini destekler. ? Yatay ?l?eklenebilirlik sa?lar. ? Yüksek ?l?eklenebilirlik sa?lar. ? Elastik ?l?eklendirme ? JOIN’lerden Ka??nmak ? Verinin ?emalara Uymas?na Gerek Yok ? H?zl? ve Kolay Geli?tirme ? A? Sorunlar?yla Ba?a ??kma Kabiliyeti ? Dü?ük Gecikme ve Yüksek Performans ? NoSQL Sunucular?n?n Bak?m? Daha Ucuz ve Kolayd?r ? Entegre Cache Kabiliyeti
  • 12. Ne Zaman NoSQL? ? Büyük miktarda veriyi saklamak ve almak istedi?inizde. ? Saklad???n?z veriler aras?ndaki ili?ki o kadar da ?nemli de?ilse. ? Veriler yap?land?r?lmaz ve zamanla de?i?mez. ? Constraint ve JOIN deste?i veritaban? düzeyinde gerekli de?ilse. ? Veriler sürekli olarak büyüyor ve verileri i?lemek i?in veritaban?n? düzenli olarak ?l?eklendirmeniz gerekiyorsa.
  • 13. ACID ?zellikleri ? ?o?unlukla RDBMS’ler, ?.V. Y?netimi ve veri i?leme i?in standart bir bilgisayar dili olan SQL'i kullan?r. ? ?li?kisel veritabanlar? ACID ?zelliklerini takip eder: – Atomicity, Consistency, Isolation, Durability – Atomiklik, Tutarl?l?k, ?zolasyon, Dayan?kl?l?k ? ACID, veritaban? i?lemlerinin güvenilir ?ekilde i?lenmesini garanti eden bir dizi ?zelliktir. – Atomicity ? Atomiklik ?zelli?i, i?lemin atomik oldu?unu tan?mlar. Atomik bir i?lem ya tamamen tamamland? ya da hi? ba?lamad?. – Consistency ? Bir ?rnekteki de?erlerde yap?lan herhangi bir de?i?ikli?in, ayn? ?rnekteki di?er de?erlerdeki de?i?ikliklerle tutarl? olmas?n? sa?lar. – Isolation ? E?zamanl? i?lemler oldu?unda gereklidir. Payla??lan nesnelere eri?en birden fazla kullan?c?n?n payla??lmas? gibi ayn? anda ger?ekle?en i?lemler. – Durability ? Bir i?lem, ba?ar?l? bir ?ekilde tamamland???nda, sistemde yapt??? tüm de?i?ikliklerin kal?c? olmas? a??s?ndan dayan?kl?d?r.
  • 14. RDBMS’in Eksiklikleri ? Yap?land?r?lm?? veriler i?in kullan??l?d?r. ? Veri Patlamas? ? JOIN’lerin Ek Yükü ? ?li?kileri(Relationships) y?netmek zor.
  • 15. CAP Theorem ? Brewer’s Teoremi olarak da bilinen CAP Teoremi, da??t?k bir bilgisayar sisteminin a?a??daki garantilerin tümünü ayn? anda sa?lamas?n?n imkans?z oldu?unu belirtir: – Consistency : Tüm dü?ümler ayn? verileri ayn? anda g?rür. – Availability : Her istek, ba?ar?l? olup olmad??? hakk?nda bir yan?t al?r. – Partition-Tolerance : The system continues to operate even if there is a partition between two nodes. ? Temelde bunlardan 2'sini se?ebilirsiniz ama 3'ünü birden yapamazs?n?z.
  • 16. CAP Theorem (CAP Teoreminin Kombinasyonlar?) ? CA : Tek site kümesi, tüm dü?ümler her zaman ACID ile CA'ya odaklan?r ? AP : Some data may be inaccurate BASE focus on AP. ? CP : Baz? verilere eri?ilemeyebilir.
  • 17. BASE Properties ? BASE k?saltmas?, genellikle NoSQL veritabanlar? olmak üzere belirli veritabanlar?n?n ?zelliklerini tan?mlamak i?in kullan?l?r. ? Genellikle ACID'e bir alternatiftir. ? BASE sistemi, daha fazla Availability ve Partition tolerans?na sahip olmak i?in tutarl?l?ktan vazge?er. ? BASE consists of three principles: – Basic Availability ? NoSQL veritaban? yakla??m?, birden ?ok ar?za durumunda bile verilerin kullan?labilirli?ine odaklan?r. – Soft-State ? It indicates that the state of the system may change over time, even without input. ? Bunun nedeni nihai tutarl?l?k modelidir. – Evantual Consistency ? It indicates that the system will become consistent over time, given that the system doesn't receive input during that time.
  • 19. NoSQL vs. RDBMS ? Relationship ve JOIN i?ermez. ? ?ok daha dü?ük bak?m maliyeti. ? ACID yerine BASE kullan?r. ? Yatay ?l?ekleme sa?lar.(Horizontal Scaling) ? ?ema i?ermez(Schemaless)
  • 20. NoSQL vs. RDBMS ? Kaynak maliyetli JOIN ve Relationship’ler kullan?r. ? Yüksek y?netim maliyeti ? ACID ?zelliklerini kullan?r ? Dikey ?l?ekleme(Vertical Scaling) ? Tan?mlanm?? ?zniteliklere sahip yap? gerektirir.
  • 21. Neden NoSQL Kullanmal?? ? E?er ?l?eklenebilirlik bir endi?e ise… ? Daha sade veri modeli(JOIN’siz) ? ?ok dü?ük bir büt?eyle uygulama ve ?l?eklenmi? olmas? gerekiyor ise… ? Ger?ek Zamanl? Analizler ? Da??t?k Depolama ? Esneklik sa?lar ? H?zl? geli?tirme sa?lar ? Redundancy/Reliability ? Streaming/Volume