Ana içeriğe geç

Kitap 04

Veritabanları

Verinin nasıl saklandığı, sorgulandığı ve tutarlı tutulduğu: SQL, NoSQL, indeksler ve transaction'lar.

İçindekiler

  1. 01ACID1ACID; atomiklik, tutarlılık, yalıtım ve dayanıklılıktan oluşan, hata ya da çökme olsa bile veritabanı transaction'larını güvenilir tutan dört garantidir.
  2. 02Birincil Anahtar2Birincil anahtar, bir veritabanı tablosundaki her satırı benzersiz biçimde tanımlayan, asla boş ya da tekrarlı olamayan bir sütun veya sütun kümesidir.
  3. 03CAP Teoremi3CAP teoremi, ağ arızası dağıtık bir veritabanını böldüğünde sistemin tutarlılık ile erişilebilirlikten birini seçmesi gerektiğini söyler; ikisi birden olamaz.
  4. 04Connection Pool4Connection pool, bir uygulamanın istekler arasında yeniden kullandığı açık veritabanı bağlantıları önbelleğidir; her seferinde bağlantı açma maliyetini önler.
  5. 05Çizge Veritabanı5Çizge veritabanı, veriyi ilişkilerle bağlı düğümler olarak saklar; arkadaşların arkadaşları ya da öğe bağımlılıkları gibi bağlantıları izlemeyi hızlandırır.
  6. 06Data Lake6Data lake, büyük miktarda ham veriyi, yapılandırılmış olsun ya da olmasın, biri analiz etmek isteyene kadar özgün biçiminde tutan merkezi bir depolama alanıdır.
  7. 07Data Warehouse7Data warehouse, birçok kaynaktan geçmiş veriyi toplayan ve ekiplerin büyük raporlama sorgularını hızla çalıştırdığı analitik amaçlı merkezi bir veritabanıdır.
  8. 08Denormalizasyon8Denormalizasyon, sık okumalar daha az birleştirme gerektirsin diye verinin tablo ya da dokümanlara bilerek çoğaltılmasıdır; bedeli daha karmaşık yazmalardır.
  9. 09Doküman Veritabanı9Doküman veritabanı, kayıtları genellikle JSON benzeri, kendi içinde bütün dokümanlar olarak saklayan, alanları kayıttan kayda değişebilen NoSQL veritabanıdır.
  10. 10DynamoDB10Amazon DynamoDB, öğeleri anahtarla saklayan, otomatik ölçeklenen ve sorguları tek haneli milisaniyelerde yanıtlayan, AWS'de tam yönetilen NoSQL veritabanıdır.
  11. 11Elasticsearch11Elasticsearch, JSON belgelerini indeksleyip büyük veri üzerinde hızlı tam metin arama, filtreleme ve toplama yapan dağıtık bir arama ve analiz motorudur.
  12. 12ETL12ETL, kaynak sistemlerden veriyi çıkaran, temiz ve tutarlı bir biçime dönüştüren ve bir hedef depoya yükleyen bir veri entegrasyonu sürecidir.
  13. 13Firebase13Firebase, Google'ın web ve mobil uygulamalara veritabanı, kimlik doğrulama, depolama, hosting ve fonksiyonları backend yönetmeden sunan platformudur.
  14. 14İlişkisel Veritabanı14İlişkisel veritabanı, veriyi satır ve sütunlardan oluşan tablolarda saklar, tabloları anahtarlarla bağlar ve veriyi SQL ile sorgulayıp birleştirmeyi sağlar.
  15. 15İyimser Kilitleme15İyimser kilitleme, transaction'ları kilit tutmadan ilerleten ve çakışmaları kayıt anında sürüm numarasına bakarak yakalayan bir eşzamanlılık tekniğidir.
  16. 16Key-Value Store16Key-value store, her veriyi benzersiz bir anahtar altında saklayan bir NoSQL veritabanıdır; uygulama veriyi bu anahtarla çok hızlı okuyup yazabilir.
  17. 17MongoDB17MongoDB, veriyi tablo satırı yerine esnek, JSON benzeri belgelerde saklayan bir belge veritabanıdır; aynı koleksiyondaki kayıtların alanları farklı olabilir.
  18. 18MySQL18MySQL, SQL ile sorgulanan popüler, açık kaynaklı bir ilişkisel veritabanıdır; uzun süredir WordPress'in ve klasik LAMP yığınının veritabanı olarak bilinir.
  19. 19N+1 Sorgu Sorunu19N+1 sorgu sorunu, kodun bir listeyi tek sorguyla yükleyip sonra her öğe için bir sorgu daha çalıştırdığı, hepsini birden getirmediği bir performans hatasıdır.
  20. 20Nihai Tutarlılık20Nihai tutarlılık, yeni güncelleme yapılmazsa dağıtık bir sistemdeki bir verinin tüm kopyalarının zamanla özdeş hale geleceğine dair bir garantidir.
  21. 21NoSQL21NoSQL, veriyi ilişkisel tablolar yerine doküman, anahtar-değer çifti, geniş sütun ya da çizge gibi başka modellerde saklayan veritabanı ailesidir.
  22. 22OLAP22OLAP (online analytical processing), büyük miktarda geçmiş veri üzerindeki karmaşık analitik sorulara hızla yanıt vermek için kurulmuş sistemleri anlatır.
  23. 23OLTP23OLTP (online transaction processing), sipariş vermek gibi günlük işlemlerin çok sayıda küçük, hızlı okuma ve yazması için kurulmuş veritabanlarını anlatır.
  24. 24ORM24ORM, veritabanı tablolarını programlama dilinizdeki nesnelere eşleyen ve ham SQL yerine kodla veri okuyup yazmanızı sağlayan bir kütüphanedir.
  25. 25Partitioning25Partitioning (bölümleme), büyük bir tabloyu tarih aralığı gibi bir kurala göre partition'lara böler; sorgular ilgisiz veriyi atlar, eski veri kolayca silinir.
  26. 26PostgreSQL26PostgreSQL, güvenilirliği, standartlara sıkı uyumu ve eklentileriyle bilinen ücretsiz, açık kaynaklı ilişkisel veritabanıdır; web uygulamalarında yaygındır.
  27. 27Redis27Redis, okuma ve yazmayı milisaniyenin çok altında yapan bellek içi bir anahtar-değer deposudur; önbellek, oturum deposu ve mesaj aracısı olarak yaygındır.
  28. 28Sharding28Sharding, bir veritabanının verisini shard adı verilen birkaç sunucuya bölerek ölçeklendirme yöntemidir; her biri toplamın yalnızca bir kısmını saklar ve işler.
  29. 29SQL29SQL, ilişkisel veritabanlarıyla çalışmanın standart dilidir; tablo oluşturmak ve içindeki veriyi eklemek, sorgulamak, güncellemek ve silmek için kullanılır.
  30. 30SQL JOIN30SQL JOIN, iki ya da daha fazla tablonun satırlarını yabancı anahtar gibi ilişkili sütunlar üzerinden eşleştirerek tek bir sonuçta birleştiren sorgu işlemidir.
  31. 31SQL Server31Microsoft SQL Server, T-SQL lehçesiyle sorgulanan, iş uygulamalarında özellikle .NET ve Windows ile yaygın kullanılan, Microsoft'un ilişkisel veritabanıdır.
  32. 32SQLite32SQLite, uygulamanızın içinde çalışan ve bütün bir veritabanını tek bir dosyada saklayan küçük bir SQL veritabanı motorudur; yönetilecek ayrı sunucu yoktur.
  33. 33Stored Procedure33Stored procedure, veritabanında saklanan adlandırılmış bir SQL ifadeleri kümesidir; uygulamalar her sorguyu göndermek yerine onu tek çağrıyla çalıştırabilir.
  34. 34Supabase34Supabase, veritabanı, kimlik doğrulama, depolama, gerçek zamanlı güncelleme ve anında API sunan, PostgreSQL tabanlı açık kaynaklı bir backend platformudur.
  35. 35Tam Metin Arama35Tam metin arama, verilen sözcükleri ya da ifadeleri içeren dokümanları bir metin indeksinde arayarak bulan ve sonuçları alaka düzeyine göre sıralayan tekniktir.
  36. 36Transaction36Transaction, tek bir bütün olarak başarılı ya da başarısız olan veritabanı işlemleri grubudur; böylece veri asla yarım kalmış, tutarsız bir durumda bırakılmaz.
  37. 37Veritabanı37Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
  38. 38Veritabanı İndeksi38Veritabanı indeksi, tüm tabloyu taramadan satırları hızla bulmayı sağlayan, bir kitabın sonundaki dizine benzeyen bir veri yapısıdır.
  39. 39Veritabanı Migration'ı39Veritabanı migration'ı, bir sütun eklemek gibi veritabanı şemasını değiştiren sürümlü bir betiktir; her ortam aynı değişiklikleri aynı sırayla uygular.
  40. 40Veritabanı Normalizasyonu40Veritabanı normalizasyonu, her bilginin yalnızca bir kez saklanması için tabloları düzenleme sürecidir; tekrarlı veriyi azaltıp tutarsız güncellemeleri önler.
  41. 41Veritabanı Replikasyonu41Veritabanı replikasyonu, verinin bir sunucudan diğerlerine sürekli kopyalanmasıdır; böylece birkaç sunucu güvenilirlik ve ölçek için aynı veriyi tutar.
  42. 42Veritabanı Şeması42Veritabanı şeması, bir veritabanının tablolarını, sütunlarını, veri türlerini, ilişkilerini ve saklanan verinin uyması gereken kuralları tanımlayan planıdır.
  43. 43Veritabanı Trigger'ı43Veritabanı trigger'ı, bir tabloda ekleme, güncelleme ya da silme gibi seçilmiş bir olay gerçekleştiğinde otomatik çalışan, veritabanında saklanan koddur.
  44. 44Veritabanı View'ı44Veritabanı view'ı, sanal bir tablo gibi davranan kayıtlı bir SQL sorgusudur; alttaki sorguyu her seferinde tekrarlamak yerine ondan adıyla seçim yapabilirsiniz.
  45. 45Yabancı Anahtar45Yabancı anahtar, bir veritabanı tablosunda başka bir tablonun birincil anahtarına başvuran sütundur; ilişkili satırları bağlar ve başvuruları geçerli tutar.
  46. 46Yalıtım Düzeyi46Yalıtım düzeyi, eşzamanlı transaction'ların birbirinin değişikliklerini ne kadar görebileceğini belirleyen ve katılıkla hızı dengeleyen veritabanı ayarıdır.
  47. 47Zaman Serisi Veritabanı47Zaman serisi veritabanı, sensör okumaları ya da metrikler gibi zaman damgalı ölçümleri sırayla saklayıp sorgulamak için optimize edilmiş bir veritabanıdır.

Kütüphaneye dönSonraki kitap: DevOps ve Bulut

Rastgele bir sayfa oku
Bugünkü tekrarı aç
Koyu temaya geç
Read this page in English

Daha fazla

Ayarlar