NoSQL (kavram) - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Tarihçe
  • 2 Mimarisi
  • 3 Sınıflandırma
    • 3.1 Doküman tabanlı
    • 3.2 Çizelge
    • 3.3 Anahtar-değer deposu
      • 3.3.1 Sonunda tutarlı anahtar-değer deposu
      • 3.3.2 Aşamalı anahtar-değer deposu
    • 3.4 Konuklanmış hizmetler (İng. hosted services)
      • 3.4.1 Anahtar-değer RAM'da önbellekte
      • 3.4.2 Paxos algoritmasını uygulayan anahtar-değer depoları
      • 3.4.3 Diskte anahtar-değer depoları
    • 3.5 Çoklu değer veritabanları
    • 3.6 Nesnel veritabanları
      • 3.6.1 Kerte anahtar-değer deposu
    • 3.7 Çizelge halinde
    • 3.8 Değişkenler grubu deposu
  • 4 Ayrıca bakınız
  • 5 Kaynakça
  • 6 Dış bağlantılar

NoSQL (kavram)

  • العربية
  • Azərbaycanca
  • Беларуская
  • Български
  • Català
  • Čeština
  • Deutsch
  • English
  • Esperanto
  • Español
  • Eesti
  • Euskara
  • فارسی
  • Suomi
  • Français
  • עברית
  • Magyar
  • Bahasa Indonesia
  • Igbo
  • Íslenska
  • İtaliano
  • 日本語
  • 한국어
  • Latina
  • മലയാളം
  • Монгол
  • Nederlands
  • Norsk bokmål
  • Polski
  • Português
  • Русский
  • Simple English
  • Shqip
  • Српски / srpski
  • Svenska
  • தமிழ்
  • Українська
  • اردو
  • Tiếng Việt
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Wikimedia Commons
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
Bu maddenin içeriğinin Türkçeleştirilmesi veya Türkçe dilbilgisi ve kuralları doğrultusunda düzeltilmesi gerekmektedir. Bu maddedeki yazım ve noktalama yanlışları ya da anlatım bozuklukları giderilmelidir.
(Yabancı sözcükler yerine Türkçe karşılıklarının kullanılması, karakter hatalarının düzeltilmesi, dilbilgisi hatalarının düzeltilmesi vs.) Düzenleme yapıldıktan sonra bu şablon kaldırılmalıdır.

Bilgisayar bilimleri'nde NoSQL, klasik ilişkisel veritabanı yönetim sistemlerinden (İVTYS) bir şekilde farklı olan veritabanı yönetim sistemleri için kullanılan bir kavramdır. Bu veri depolarının sabit tabela düzenlerine ihtiyaçları olmayabilir, alışılagelmiş join işlemleri kullanılmaz, tipik olarak yatay ölçeklemeye gidilir. Akademisyenlerce ve makalelerde tipik olarak böyle veri depolarına yapılanmış bellek (structured storage) denir.[1][2][3][4] Bu kavram klasik ilişkisel veritabanlarını altküme olarak görür. Bu kavram aynı zamanda SQL ve Daha Fazlası (Not Only SQL) olarak da adlandırılmaktadır.

Tarihçe

[değiştir | kaynağı değiştir]

NoSQL kavramı 1998'de çıkarılan SQL arayüzü olmayan hafif bir açık kaynak ilişkisel veritabanı. Tasarımcısı Carlo Strozzi, NoSQL hareketi "ilişkisel modelden tamamen ayrılırken ona bundan dolayı daha uygun olarak ilişkisel olmayan anlamında 'NoREL' (İng. no relation) veya benzeri bir ad vermek gerektiğini ileri sürer."[5]

Rackspace'ın bir çalışanı olan Eric Evans, NoSQL kavramını Last.fm'den Johan Oskarsson açık kaynak dağıtık veritabanlarının görüşüleceği bir toplantı plânlamak istediğinde 2009 başında tekrar kullanmaya başlandı.[6] Bu adla artan sayıda ortaya çıkan ve ilişkisel olmayan ve çoğu zaman ACID garantisini vermeyi amaçlamayan dağıtık veri depolarına damgasını vurmak istemişti. ACID, IBM DB2, MySQL, Microsoft SQL Server, PostgreSQL, Oracle İVTYS, Informix gibi klasik ilişkisel veritabanı sistemlerinde sağlanan temel özelliklerdendir.

2009'da Atlanta'daki "no:sql(east)" konferansının NoSQL tartışması üzerinde derin etkileri oldu. Kendisini "ilişkisel olmayan veri depolarıyla ilgili bir konferansı" olarak görmekte olan ve sloganı "eğlenceyi seç, ilişkisel=yanlış; olan gerçek Dünyâ'dan faydalan" (İng. "select fun, profit from real_world where relational=false;") olan bu konferansın NoSQL tartışmasına etkisi olmuştur. Böylece "NoSQL" 'in en genel yorumu, anlamı anti-İVTYS olmayıp anahtar-değer depoları, belge veritabanları ve Graph veritabanlarının kullanımının altını çizmesine rağmen "ilişkisel olmayan"'dır .[kaynak belirtilmeli]

Mimarisi

[değiştir | kaynağı değiştir]

Tipik modern ilişkisel veritabanları çok sayıda belgeyi indeksleme, yoğun trafiği olan sunan Web sayfalarında ve streaming medya sağlama gibi kimi yoğun veri uygulamalarında yetersiz edim göstermişlerdir.[7] Tipik İVTYS uygulamaları ya küçük fakat sıkça oku/yaz işlemleri ya da ender yazaz büyük komut listesi komut liste (İng. batch) hareketleri (işlemleri) ayarlanır. Diğer taraftan NoSQL, yoğun oku/yaz hizmeti verir.[7] Gerçek Dünya NoSQL yerleşimleri green badges (sosyal ağlarda başkalarınca değerlendirilen hikâyeleri gösteren belirleyiciler) için Digg'in 3 TB'lı çözümü,[8] Facebook'un gelen postaları arama için 50 TB ve eBay'in bütün verileri için 2 PB.

NoSQL mimarileri çoğu zaman sonunda tutarlı (İng. eventual consistency) veya tek veri maddesiyle sınırlı işlemlerde zayıf tutarlılık garantisi verir. Fakat kimi sistemler, yardımcı özel yazılım tabakası ekleyerek bazı oluşumlarda tam ACID garantisi verirler (mesela CloudTPS).[9] Sütun depoları için şipşak yalıtım sağlayan iki sistem geliştirilmiştir. Bunlar Google'un BigTable'e dayanan Percolator sistemi[10] ve Waterloo Üniversitesi'nde HBase için geliştirilmiş hareketsel sistem (İng. transactional system).[11] Ayrı ayrı geliştirilmiş bu sistemler, benzer kavramlar şipşak yalıtım kullanarak veri yönetimi için fazladan işlemlere, ara yazılım yerleştirmesi (İng. middleware system deployment) veya ara yazılım tabakasından kaynaklanan bakıma gerek duymadan altındaki sütun deposu için garantili çok satırlı dağıtık ACID işlemleri sağlar.

Birçok NoSQL sistemi, verilerin farklı sunucularda yedeklemesini yapan dağıtık mimariyi kullanır. Bu saklamalar genelde dağıtık hash çizelgeleri ile yapılır. Böylece sistem kolayca yeni sunucular eklenerek büyütülebilir ve bir sunucunun arızalanmasına katlanılabilir.[12]

Kimi NoSQL savunucuları[kim?] birleşik dizinler (İng. associative array) veya anahtar-değer çiftleri gibi çok basit arayüzlerine ağırlık verir. Doğal XML veritabanları gibi diğer sistemler XQuery standardını destekler.[kaynak belirtilmeli] CloudTPS gibi daha yeni sistemler ayrıca join sorgulamalarını da içermektedir.[13]

Sınıflandırma

[değiştir | kaynağı değiştir]

NoSQL uygulamalarını yapılışlarına göre sınıflamak mümkündür:

Doküman tabanlı

[değiştir | kaynağı değiştir]
Ad Dil Notlar
BaseX XQuery XML veritabanı
CouchDB Erlang
eXist XQuery XML veritabanı
Jackrabbit Java
Lotus Notes ??? birden çok değerli
MarkLogic Server XQuery XML veritabanı
MongoDB C++
SimpleDB Erlang
Terrastore Java

Çizelge

[değiştir | kaynağı değiştir]
Ad Dil Notlar
AllegroGraph SPARQL RDF GraphStore
Neo4j Java
DEX Java, .NET Yüksek performanslı Graph veritabanı
FlockDB Scala

Anahtar-değer deposu

[değiştir | kaynağı değiştir]

Anahtar-değer depoları düzeni olmayan veri depoları olup uygulamaların verilerini saklamaya yararlar. Veri alışılageldiği şekilde seçilen programlama dilinin veri türünde veya bir nesnede saklanır. Böyece sâbit bir veri modeline gerek yoktur.[14] Şu türler vardır:

Sonunda tutarlı anahtar-değer deposu

[değiştir | kaynağı değiştir]
  • Cassandra
  • Dynamo
  • Hibari
  • Project Voldemort
  • Riak [15]

Aşamalı anahtar-değer deposu

[değiştir | kaynağı değiştir]
  • GT.M
  • GlobalsDB

Konuklanmış hizmetler (İng. hosted services)

[değiştir | kaynağı değiştir]
  • Freebase

Anahtar-değer RAM'da önbellekte

[değiştir | kaynağı değiştir]
  • Citrusleaf veritabanı
  • memcached
  • Oracle Coherence
  • Redis
  • Tuple space
  • Velocity

Paxos algoritmasını uygulayan anahtar-değer depoları

[değiştir | kaynağı değiştir]
  • Keyspace

Diskte anahtar-değer depoları

[değiştir | kaynağı değiştir]
  • BigTable
  • CDB
  • Citrusleaf veritabanı
  • Dynomite
  • Keyspace
  • membase
  • Memcachedb
  • Redis
  • Tokyo Cabinet
  • TreapDB
  • Tuple space

Çoklu değer veritabanları

[değiştir | kaynağı değiştir]
  • Extensible Storage Engine (ESE/NT)
  • OpenQM
  • Revelation Software'in OpenInsight'ı
  • Rocket U2

Nesnel veritabanları

[değiştir | kaynağı değiştir]
  • db4o
  • GemStone/S
  • InterSystems Caché
  • JADE
  • Objectivity/DB
  • ObjectStore
  • Versant Object veritabanı
  • ZODB

Kerte anahtar-değer deposu

[değiştir | kaynağı değiştir]
  • Berkeley DB
  • IBM Informix C-ISAM
  • Memcachedb
  • NMDB

Çizelge halinde

[değiştir | kaynağı değiştir]
  • BigTable
  • Hbase
  • Hypertable
  • Mnesia

Değişkenler grubu deposu

[değiştir | kaynağı değiştir]
  • Apache River

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • CAP kuramı
  • Nesnel veritabanı yönetim sistemlerinin listesi
  • Nesnel veritabanı yönetim sistemlerinin karşılaştırması
  • Yapılandırılmış depolama yazılımlarının karşılaştırması
  • Yönlü arama (İng. faceted search)
  • Triplestore

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ Hamilton, James (3 Kasım 2009). "Perspectives: One Size Does Not Fit All". 26 Kasım 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Kasım 2009. 
  2. ^ Lakshman, Avinash; Malik, Prashant. "Cassandra — A Decentralized Structured Storage System" (PDF). Cornell University. 23 Kasım 2009 tarihinde kaynağından arşivlendi (PDF)13 Kasım 2009. 
  3. ^ Chang, Fay. "Bigtable: A Distributed Storage System for Structured Data" (PDF). Google. 11 Mayıs 2008 tarihinde kaynağından (PDF) arşivlendi13 Kasım 2009. 
  4. ^ Kellerman, Jim. "HBase: structured storage of sparse data for Hadoop" (PDF). Erişim tarihi: 13 Kasım 2009. 
  5. ^ "NoSQL Relational Database Management System: Home Page". Strozzi.it. 2 Ekim 2007. 20 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Mart 2010. 
  6. ^ "NOSQL 2009". Blog.sym-link.com. 12 Mayıs 2009. 16 Temmuz 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Mart 2010. 
  7. ^ a b Agrawal, Rakesh; ve diğerleri. (2008). "The Claremont report on veritabanı research" (PDF). SIGMOD Record. 37 (3). ACM. ss. 9-19. doi:10.1145/1462571.1462573. ISSN 0163-5808. 16 Temmuz 2011 tarihinde kaynağından arşivlendi (PDF)17 Nisan 2011. KB1 bakım: Diğerlerinin yanlış kullanımı (link)
  8. ^ "Looking to the future with Cassandra | Digg About". About.digg.com. 9 Eylül 2009. 22 Temmuz 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Mart 2010. 
  9. ^ "CloudTPS: Scalable Transactions for Web Applications in the Cloud". Globule.org. 30 Haziran 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 29 Mart 2010. 
  10. ^ "Large-scale Incremental Processing Using Distributed Transactions and Notifications". The 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2010), Oct 4–6, 2010, Vancouver, BC, Canada. 5 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Ekim 2010. 
  11. ^ "Supporting Multi-row Distributed Transactions with Global Snapshot Isolation Using Bare-bones HBase" (PDF). The 11th ACM/IEEE International Conference on Grid Computing (Grid 2010), Oct 25-29, 2010, Brussels, Belgium. 29 Haziran 2011 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 15 Ekim 2010. 
  12. ^ "Cassandra: Structured Storage System over a P2P Network" (PDF). 24 Ağustos 2009 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 29 Mart 2010. 
  13. ^ "Consistent Join Queries in Cloud Data Stores". Globule.org. 7 Ocak 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Ocak 2011. 
  14. ^ Marc Seeger (21 Eylül 2009). "Key-Value Stores: a practical overview". http://www.slideshare.net/marc.seeger/keyvalue-stores-a-practical-overview: slideshare. 16 Temmuz 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Mart 2010. Key value stores allow the application developer to store schema-less data. This data is usually consisting of a string that represents the key, and the actual data that is considered to be the value in the "key - value" relationship. The data itself is usually some kind of primitive of the programming language (a string, an integer, an array) or an object that is being marshalled by the programming languages bindings to the key value store. This replaces the need for fixed data model and makes the requirement for properly formatted. 
  15. ^ "Riak: An Open Source Scalable Data Store". 28 Kasım 2010. 4 Aralık 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Kasım 2010. 

Dış bağlantılar

[değiştir | kaynağı değiştir]
  • [1] 20 Temmuz 2011 tarihinde Wayback Machine sitesinde arşivlendi. on [ODBMS.ORG: NoSQL Data Stores Section]
  • NoSQL User Group 2 Mart 2011 tarihinde Wayback Machine sitesinde arşivlendi. on LinkedIn
  • nosql-discussion 20 Ağustos 2011 tarihinde Wayback Machine sitesinde arşivlendi. on Google Groups
  • nosqldatabases.com
  • myNoSQL: news, articles ve links about NoSQL 26 Nisan 2011 tarihinde Wayback Machine sitesinde arşivlendi.
  • nosql-databases.org 11 Ekim 2019 tarihinde Wayback Machine sitesinde arşivlendi.
  • computerworld.com : No to SQL? Anti-veritabanı movement gains steam
  • Is Microsoft Feeling the "NoSQL" Heat? 15 Temmuz 2011 tarihinde Wayback Machine sitesinde arşivlendi.
  • Information Week "The NoSQL Alternative" 28 Mayıs 2010 tarihinde Wayback Machine sitesinde arşivlendi.
  • How RDF veritabanları Differ from Other NoSQL Solutions
  • CouchOne
  • NoSql Tapes 14 Temmuz 2019 tarihinde Wayback Machine sitesinde arşivlendi.
  • g
  • t
  • d
Veritabanı yönetim sistemi
Türler
Nesne veritabanı (karşılaştırma) · Sütun yönelimli veritabanı yönetim sistemi · Belge yönelimli veritabanı · Grafik veritabanı · İlişkisel veritabanı · İlişkisel veritabanı yönetim sistemi · Anahtar-değer veritabanı · Bellek içi veritabanı · Çoklu model veritabanı · Bulut veritabanı · Aday anahtar · Yabancı anahtar · Ana anahtar · Superkey · Vekil anahtar
Kavramlar
Veritabanı · ACID · Armstrong'un aksiyomları · Codd'un 12 kuralı · CAP teoremi · CRUD · Null · Aday anahtarı · Yabancı anahtar · Süperanahtar · Vekil anahtar · Özel anahtar
Nesneler
İlişki (Tablo · Sütun · Satır) · Görünüm · Transaction · Trigger · Veritabanı dizini · Kaydedilmiş işlev · Cursor · Kayıt · Aktarım · Partition
SQL
NoSQL · NewSQL · Select · Insert · Update · Merge · Delete · Join · Union · Create · Drop · Begin work · Commit · Rollback · Truncate · Alter
Bileşenler
Eşzamanlılık denetimi · Veri sözlüğü · JDBC · ODBC · Sorgulama dilleri · Sorgu hızlandırıcı · Sorgu planı
İlgili konular
Veritabanı modelleri · Ayrıştırma · Veritabanında saklama · Dağıtık veritabanı · Federe veritabanı sistemi · Veri tutarlılığı · İlişkisel bütünlük · Bağıntısal cebir · İlişkisel hesap · İlişkisel model · Nesne-ilişkisel veritabanı · Hareket işleme
Kategori Kategori
"https://tr.wikipedia.org/w/index.php?title=NoSQL_(kavram)&oldid=35607613" sayfasından alınmıştır
Kategoriler:
  • Veritabanı yönetim sistemleri
  • NoSQL
  • Dağıtık veri depoları
  • Veri yönetimi
Gizli kategoriler:
  • KB1 bakım: Diğerlerinin yanlış kullanımı
  • Türkçeleştirilmesi gereken sayfalar
  • Kaynaksız anlatımlar içeren maddeler
  • Webarşiv şablonu wayback bağlantıları
  • Sayfa en son 00.44, 8 Temmuz 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
NoSQL (kavram)
Konu ekle