DBAtlas · Veritabanı operasyon atlası

Karar: SQL mi NoSQL mi (hangi veritabanı ailesi)?

Doğru veritabanı ailesini seçmek, veri modelinin şekliyle, tutarlılık ve ölçek önceliğinle ve sorgu karmaşıklığınla belirlenir. 'NoSQL daha modern' gibi genellemeler yanıltıcıdır; her aile belirli erişim desenleri için tasarlanmıştır. Bu ağaç, verinin yapısından başlayarak ilişkisel, belge, anahtar-değer ve arama motorları arasında sizi doğru araca yönlendirir ve gerektiğinde poliglot yaklaşımı hatırlatır.

Verinin doğası ve baskın erişim deseni ne?

En belirleyici soruyla başla: veri güçlü ilişkilere sahip yapısal kayıtlar mı, esnek/değişken şemalı belgeler mi, basit anahtar-değer aramaları mı, yoksa metin arama gibi özel bir ihtiyaç mı? Verinin şekli ve onu nasıl sorguladığın, aileyi büyük ölçüde belirler.

  • İlişkisel, yapısal kayıtlar ve karmaşık sorgular
  • Esnek/değişken şemalı, iç içe belgeler
  • Basit anahtar-değer, çok düşük gecikme/önbellek
  • Tam metin / faceted arama, log analizi

Güçlü tutarlılık (ACID) mı yoksa yatay ölçek mi öncelikli?

Veri ilişkisel görünüyor; ama önceliğin ne? Çok tablolu join'ler, işlem bütünlüğü ve güçlü tutarlılık (ACID) mı esas, yoksa tek düğüme sığmayacak devasa hacmi yatay olarak ölçeklemek mi? İlişkisel model çoğu iş yükü için doğru varsayılandır; sınır, ölçek gerçekten tek düğümü aştığında zorlanır.

  • ACID, join ve karmaşık sorgu bütünlüğü öncelikli
  • Ölçek her şeyden önce, ilişki/join zayıf

Öneri: İlişkisel veritabanı (RDBMS)

Yapısal, güçlü ilişkili veri ve işlem bütünlüğü gerektiren yükler için doğru varsayılan. ACID garantileri, olgun SQL sorgu motoru ve join'lerle karmaşık soruları güvenle yanıtlar.

Öneri: Belge veritabanı

Esnek, iç içe ve sık değişen şemalı veriyi doğal biçimde (JSON benzeri belgeler) saklar. Çoğunlukla tek belge üzerinden okunan/yazılan, join'e az ihtiyaç duyan uygulamalar ve yatay ölçek için uygundur.

Öneri: Anahtar-değer deposu / önbellek

Anahtara göre çok hızlı okuma/yazma gereken, karmaşık sorgu istemeyen yükler için tasarlanmıştır. Genellikle bellek içi çalışır ve mikro-saniye/mili-saniye gecikme sağlar; önbellek, oturum ve sayaç gibi görevlerde idealdir.

Öneri: Arama / analiz motoru

Tam metin arama, alaka sıralaması (relevance), faceted filtreleme ve büyük hacimli log/metin analizi için özelleşmiş ters index (inverted index) tabanlı motor. İlişkisel LIKE sorgularının çözemediği arama deneyimini karşılar.

DBAtlas'ta aç →