Kitap 04 · Özet sayfa
Veritabanları
Verinin nasıl saklandığı, sorgulandığı ve tutarlı tutulduğu: SQL, NoSQL, indeksler ve transaction'lar.
Software Dictionary · softwaredictionary.org/tr/kutuphane/databases/ozet
- 01ACIDAtomiklik, Tutarlılık, Yalıtım, Dayanıklılık
- ACID; 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.
- Atomiklik: bir transaction ya tamamen başarılı olur ya da tamamen geri alınır.
- Tutarlılık: her transaction veriyi veritabanının kurallarına göre geçerli bırakır.
- Yalıtım: eşzamanlı transaction'lar birbirlerinin bitmemiş işine karışmaz.
- 02Birincil Anahtar
- Birincil 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.
- Birincil anahtar, bir tablodaki her satırı benzersiz biçimde tanımlar.
- Birincil anahtar değerleri benzersiz olmalı ve NULL olamaz.
- Bir tablonun yalnızca bir birincil anahtarı vardır, ancak bu anahtar birkaç sütuna yayılabilir.
- 03CAP TeoremiTutarlılık, Erişilebilirlik, Bölünme Toleransı
- CAP 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.
- CAP; tutarlılık, erişilebilirlik ve bölünme toleransının kısaltmasıdır.
- Ağ bölünmesi sırasında dağıtık bir sistem tutarlılık ya da erişilebilirliği seçmek zorundadır.
- Pratikte bölünme toleransı zorunludur; dolayısıyla gerçek seçim CP ya da AP'dir.
- 04Connection PoolBağlantı Havuzu
- Connection 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.
- Havuz, veritabanı bağlantılarını açık tutar ve istekler arasında yeniden kullanır.
- Her sorgu için yeni bir bağlantının yavaş kurulumundan kaçınır.
- Temel ayarlar en büyük boyut, boşta bağlantılar ve bekleme zaman aşımıdır.
- 05Çizge Veritabanı
- Ç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.
- Veri, ikisi de özellik taşıyabilen düğümler ve ilişkiler olarak saklanır.
- Bir ilişkiyi izlemek doğrudan bir sıçramadır; bu yüzden derin gezinmeler hızlı kalır.
- Yaygın sorgu dilleri arasında Cypher, GQL ve SPARQL vardır.
- 06Data LakeVeri Gölü
- Data 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.
- Data lake, her türden ham veriyi, genellikle nesne depolamasında dosya olarak saklar.
- Yapı, veri yazılırken değil, okunurken uygulanır.
- Parquet gibi sütunlu biçimler ve bir veri kataloğu göllerin kullanılabilir olmasını sağlar.
- 07Data WarehouseVeri Ambarı
- Data 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.
- Data warehouse, bir uygulamayı çalıştırmak için değil, analitik için optimize edilmiştir.
- Birçok kaynaktan gelen veriyi tutarlı tek bir yapıda birleştirir.
- Veri ETL ya da ELT hatlarıyla yüklenir.
- 08Denormalizasyon
- Denormalizasyon, 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.
- Denormalizasyon, okumaları hızlandırmak için bilerek veri kopyaları ekler.
- Sık sorgularda birleştirmeleri ve tekrarlanan hesaplamaları azaltır.
- Her kopya senkron tutulmalıdır; bu da yazmaları daha karmaşık yapar.
- 09Doküman Veritabanı
- Dokü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.
- Her kayıt, bir koleksiyonda saklanan, kendi içinde bütün, JSON benzeri bir dokümandır.
- Dokümanlar nesne ve dizileri iç içe barındırabilir ve alanları değişebilir.
- İç içe olanlar dahil her alan indekslenip sorgulanabilir.
- 10DynamoDBAmazon DynamoDB
- Amazon DynamoDB, öğeleri anahtarla saklayan, otomatik ölçeklenen ve sorguları tek haneli milisaniyelerde yanıtlayan, AWS'de tam yönetilen NoSQL veritabanıdır.
- DynamoDB, AWS üzerinde tamamen yönetilen bir key-value ve doküman veritabanıdır.
- Öğeler bir bölüm anahtarıyla, isteğe bağlı olarak bir sıralama anahtarıyla bulunur.
- Bölümleri birçok makineye dağıtarak yatay ölçeklenir.
- 11Elasticsearch
- Elasticsearch, 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.
- Elasticsearch, Lucene üzerine kurulu dağıtık bir arama ve analiz motorudur.
- Ters indeks, hızlı tam metin arama için kelimeleri belgelere eşler.
- Alakaya göre sıralar, yazım hatalarını tolere eder ve toplamalar hesaplar.
- 12ETLÇıkar, Dönüştür, Yükle (Extract, Transform, Load)
- ETL, 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.
- Extract kaynaklardan veri çeker, transform onu temizler ve yeniden biçimlendirir, load bir hedefe yazar.
- Hatlar genellikle bir orkestratörün yönettiği zamanlanmış toplu işler olarak çalışır.
- Artımlı yüklemeler ve değişiklik verisi yakalama, her seferinde her şeyi kopyalamaktan kaçınır.
- 13Firebase
- Firebase, Google'ın web ve mobil uygulamalara veritabanı, kimlik doğrulama, depolama, hosting ve fonksiyonları backend yönetmeden sunan platformudur.
- Firebase, Google'ın web ve mobil uygulamalar için backend platformudur.
- Cloud Firestore, gerçek zamanlı güncellemeleri olan bir NoSQL doküman veritabanıdır.
- Kimlik doğrulama, depolama, hosting, fonksiyonlar ve anlık bildirimler de sunar.
- 14İlişkisel Veritabanı
- İ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.
- Veri, türlü sütunları olan tablolarda yaşar ve kayıt başına bir satır vardır.
- Birincil anahtarlar satırları tanımlar, yabancı anahtarlar tablolar arasında satırları bağlar.
- Veriyi sorgulamak için SQL kullanılır ve birleştirmeler okuma zamanında tabloları bir araya getirir.
- 15İyimser Kilitleme
- İ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.
- Her satır, her güncellemede kontrol edilen bir sürüm numarası taşır.
- Sıfır satırla eşleşen bir güncelleme çakışma anlamına gelir.
- Kullanıcı ya da program veri üzerinde çalışırken kilit tutulmaz.
- 16Key-Value StoreAnahtar-Değer Deposu
- Key-value store, her veriyi benzersiz bir anahtar altında saklayan bir NoSQL veritabanıdır; uygulama veriyi bu anahtarla çok hızlı okuyup yazabilir.
- Her kayıt, bir değerle eşleşen benzersiz bir anahtardır.
- Anahtarla arama çok hızlıdır, genellikle sabit zamana yakındır.
- Yaygın kullanımlar arasında önbellekleme, oturumlar, sayaçlar ve özellik bayrakları vardır.
- 17MongoDB
- MongoDB, veriyi tablo satırı yerine esnek, JSON benzeri belgelerde saklayan bir belge veritabanıdır; aynı koleksiyondaki kayıtların alanları farklı olabilir.
- MongoDB, JSON benzeri belgeleri (BSON) tablolardaki satırlar yerine koleksiyonlarda saklar.
- Bir koleksiyondaki belgelerin farklı alanları olabilir.
- Birlikte okunan veri genellikle birlikte saklanır; join'lere gerek kalmaz.
- 18MySQL
- MySQL, 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.
- MySQL, SQL kullanan açık kaynaklı bir ilişkisel veritabanıdır.
- Klasik LAMP yığınının M'sidir ve WordPress'in varsayılan veritabanıdır.
- InnoDB motoru transaction'lar, satır kilitleme ve dış anahtarlar sağlar.
- 19N+1 Sorgu Sorunu
- N+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.
- N+1, bir liste için bir sorgu artı listedeki her öğe için bir sorgu demektir.
- ORM lazy loading'i en yaygın gizli nedendir.
- Her sorgu hızlıdır, ancak liste büyüdükçe gidiş-dönüşler birikir.
- 20Nihai Tutarlılık
- Nihai 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.
- Replikalar kısa süre uyuşmayabilir, ancak güncellemeler durduğunda birleşir.
- Yazmalar hızla onaylanır ve arka planda diğer replikalara yayılır.
- Çakışan yazmalar son yazan kazanır ya da CRDT'ler gibi kurallarla çözülür.
- 21NoSQLNot Only SQL (Yalnızca SQL Değil)
- NoSQL, veriyi ilişkisel tablolar yerine doküman, anahtar-değer çifti, geniş sütun ya da çizge gibi başka modellerde saklayan veritabanı ailesidir.
- NoSQL, "hiç SQL yok" değil, "yalnızca SQL değil" anlamına gelir.
- Ana türler doküman, anahtar-değer, geniş sütun ve çizge veritabanlarıdır.
- Birçok NoSQL veritabanı, çok sayıda sunucuya yatay olarak ölçeklenir.
- 22OLAPÇevrimiçi Analitik İşleme
- OLAP (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.
- OLAP sistemleri büyük geçmiş veriler üzerinde karmaşık analitik sorgular çalıştırır.
- Hızlı tarama ve sıkıştırma için veriyi genellikle sütun sütun saklar.
- BigQuery, Snowflake, Redshift ve ClickHouse birer OLAP sistemidir.
- 23OLTPÇevrimiçi İşlem İşleme
- OLTP (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.
- OLTP sistemleri, günlük işlemlerden gelen çok sayıda küçük ve hızlı transaction'ı ele alır.
- Genellikle ACID transaction'lı ilişkisel veritabanlarıdır.
- Şemalar normalizedir ve veri satır satır saklanır.
- 24ORMNesne-İlişkisel Eşleme
- ORM, veritabanı tablolarını programlama dilinizdeki nesnelere eşleyen ve ham SQL yerine kodla veri okuyup yazmanızı sağlayan bir kütüphanedir.
- ORM, veritabanı tablolarını sınıflara, satırları nesnelere eşler.
- Sizin için SQL üretir; böylece programlama dilinizde çalışırsınız.
- Çoğu ORM ilişkileri, migration'ları ve parametreli sorguları yönetir.
- 25PartitioningBölümleme
- Partitioning (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.
- Partitioning, büyük bir tabloyu tek bir adın arkasında daha küçük partition'lara böler.
- Range, list ve hash partitioning, partition anahtarı üzerinde farklı kurallar kullanır.
- Partition pruning, sorguların yalnızca ilgili partition'ları okumasını sağlar.
- 26PostgreSQL
- PostgreSQL, 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.
- PostgreSQL, SQL kullanan ücretsiz ve açık kaynaklı bir ilişkisel veritabanıdır.
- Transaction'lar ACID'dir; MVCC okuyanların ve yazanların aynı anda çalışmasını sağlar.
- JSONB sütunları belge tarzı veriyi saklayıp indekslemesini sağlar.
- 27RedisRemote Dictionary Server
- Redis, 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.
- Redis bellek içi bir anahtar-değer deposudur; okuma ve yazma son derece hızlıdır.
- Değerler metin, liste, küme, sıralı küme, hash ve akış olabilir.
- Anahtarlar kendiliğinden sona erebilir; bu da önbelleklere ve oturumlara uyar.
- 28Sharding
- Sharding, 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.
- Sharding, bir veritabanının satırlarını birden fazla sunucuya böler.
- Bir shard anahtarı, her satırı hangi shard'ın saklayacağını belirler.
- Yaygın stratejiler aralık tabanlı, hash tabanlı ve dizin tabanlı sharding'dir.
- 29SQLYapılandırılmış Sorgulama Dili
- SQL, 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.
- SQL, ilişkisel veritabanları için standart dildir.
- Bildirimseldir: adımları değil, sonucu tarif edersiniz.
- Temel komutlar SELECT, INSERT, UPDATE ve DELETE'tir.
- 30SQL JOIN
- SQL 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.
- JOIN, bir eşleşme koşuluna göre birden fazla tablonun satırlarını birleştirir.
- INNER JOIN yalnızca iki tabloda da eşleşen satırları tutar.
- LEFT JOIN sol tablonun her satırını tutar; eşleşme olmayan yerlerde NULL bulunur.
- 31SQL ServerMicrosoft SQL Server
- Microsoft 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.
- SQL Server, ilk olarak 1989'da çıkan Microsoft'un ilişkisel veritabanıdır.
- Microsoft'un genişletilmiş SQL lehçesi T-SQL ile sorgulanır.
- ETL, raporlama ve analitik araçları onunla birlikte gelir.
- 32SQLite
- SQLite, 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.
- SQLite gömülü bir SQL veritabanıdır: sunucu değil, bir kütüphanedir.
- Bütün bir veritabanı diskteki sıradan tek bir dosyadır.
- ACID transaction'ları destekler ve çökmelere güvenle dayanır.
- 33Stored ProcedureSaklı Yordam
- Stored 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.
- Stored procedure, veritabanında saklanan, adlandırılmış ve yeniden kullanılabilir SQL kodudur.
- Parametre alabilir ve tek bir ağ gidiş-dönüşünde birçok ifade çalıştırabilir.
- Her veritabanı kendi prosedürel dilini kullanır; bu yüzden procedure'ler nadiren taşınabilirdir.
- 34Supabase
- Supabase, veritabanı, kimlik doğrulama, depolama, gerçek zamanlı güncelleme ve anında API sunan, PostgreSQL tabanlı açık kaynaklı bir backend platformudur.
- Supabase, PostgreSQL üzerine kurulu açık kaynaklı bir backend platformudur.
- Kimlik doğrulama, depolama, gerçek zamanlı güncellemeler ve edge fonksiyonları ekler.
- API'ler veritabanı şemasından otomatik olarak üretilir.
- 35Tam Metin Arama
- Tam 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.
- Tam metin arama yalnızca tam alan değerlerini değil, metnin içindeki sözcükleri eşleştirir.
- Her sözcüğü onu içeren dokümanlara eşleyen bir ters indekse dayanır.
- Tokenizasyon, dur sözcükleri ve kök çıkarma farklı sözcük biçimlerinin eşleşmesini sağlar.
- 36TransactionVeritabanı İşlemi
- Transaction, 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.
- Transaction, işlemleri hep ya da hiç şeklinde tek bir birimde toplar.
- COMMIT değişiklikleri kaydeder; ROLLBACK geri alır.
- ACID; atomiklik, tutarlılık, yalıtım ve dayanıklılığın kısaltmasıdır.
- 37Veritabanı
- Veritabanı, 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.
- Veritabanı, uygulamaların veriyi güvenilir biçimde kaydedip geri alabilmesi için veriyi saklar.
- PostgreSQL ya da MongoDB gibi bir DBMS, veriyi yöneten yazılımdır.
- İlişkisel veritabanları tablo ve SQL kullanır; NoSQL veritabanları başka veri modelleri kullanır.
- 38Veritabanı İndeksi
- Veritabanı indeksi, tüm tabloyu taramadan satırları hızla bulmayı sağlayan, bir kitabın sonundaki dizine benzeyen bir veri yapısıdır.
- İndeksler, tam tablo taramalarından kaçınarak okumaları hızlandırır.
- Çoğu indeks, değerleri hızlı arama için sıralı tutan B-ağaçlarıdır.
- Birincil anahtarlar otomatik olarak indekslenir.
- 39Veritabanı Migration'ı
- Veritabanı 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.
- Migration, tek bir şema değişikliğini tarif eden sürümlü bir dosyadır.
- Migration'lar kodla birlikte commit edilir ve sabit bir sırayla uygulanır.
- Araç uygulanan migration'ları kaydeder; böylece her biri veritabanı başına yalnızca bir kez çalışır.
- 40Veritabanı Normalizasyonu
- Veritabanı normalizasyonu, her bilginin yalnızca bir kez saklanması için tabloları düzenleme sürecidir; tekrarlı veriyi azaltıp tutarsız güncellemeleri önler.
- Normalizasyon, tekrarlı ve çelişkili veriyi önlemek için her bilgiyi bir kez saklar.
- Tablolar veri kopyalamak yerine birincil ve yabancı anahtarlarla bağlanır.
- 1NF, 2NF ve 3NF normal formları giderek daha katı kurallardır.
- 41Veritabanı Replikasyonu
- Veritabanı 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.
- Replikasyon, aynı veriyi birden fazla veritabanı sunucusuna kopyalar.
- Birincil-replika kurulumlarında birincil yazmaları, replikalar okumaları karşılar.
- Birincil sunucu çökerse failover bir replikayı terfi ettirir.
- 42Veritabanı Şeması
- Veritabanı ş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.
- Şema, verinin kendisini değil, veritabanının yapısını tanımlar.
- Tabloları, sütunları, veri türlerini, anahtarları ve kısıtları kapsar.
- Şema değişiklikleri genellikle sürümlü migration'larla uygulanır.
- 43Veritabanı Trigger'ıVeritabanı Tetikleyicisi
- Veritabanı 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.
- Trigger, bir tabloya veri eklendiğinde, güncellendiğinde veya silindiğinde otomatik çalışır.
- BEFORE trigger'ları gelen veriyi kontrol edebilir ya da değiştirebilir; AFTER trigger'ları tamamlanmış değişikliklere tepki verir.
- Satır düzeyindeki trigger'lar bir satırın hem eski hem yeni değerlerini okuyabilir.
- 44Veritabanı View'ıVeritabanı Görünümü
- Veritabanı view'ı, sanal bir tablo gibi davranan kayıtlı bir SQL sorgusudur; alttaki sorguyu her seferinde tekrarlamak yerine ondan adıyla seçim yapabilirsiniz.
- View, bir tablo gibi seçim yapabileceğiniz, adlandırılmış ve kaydedilmiş bir sorgudur.
- Normal bir view veri saklamaz ve her zaman güncel sonuçları gösterir.
- View'lar karmaşık birleştirmeleri basitleştirir ve kullanıcıların görebileceği sütunları sınırlayabilir.
- 45Yabancı Anahtar
- Yabancı 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.
- Yabancı anahtar, başka bir tablonun birincil anahtarına ya da benzersiz bir sütununa başvurur.
- Referans bütünlüğünü uygular: başvurular var olan satırlara işaret etmelidir.
- CASCADE ya da RESTRICT gibi ON DELETE kuralları, bir üst satır kaldırıldığında ne olacağına karar verir.
- 46Yalıtım Düzeyi
- Yalı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.
- Standart düzeyler Read Uncommitted, Read Committed, Repeatable Read ve Serializable'dır.
- Yüksek düzeyler daha fazla anomaliyi önler: kirli okumalar, tekrarlanamayan okumalar ve hayalet okumalar.
- Serializable, transaction'lar birbiri ardına çalışmış gibi davranır.
- 47Zaman Serisi Veritabanı
- Zaman 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.
- Her veri noktasının bir zaman damgası, değerleri ve tanımlayıcı etiketleri vardır.
- Veri çoğunlukla sona eklenir ve zaman aralığına göre sorgulanır.
- Zamana göre bölümleme ve sıkıştırma, devasa hacimleri saklamayı ucuz tutar.