
# Ölçekleme ve Sınırlar

storh, ilişkisel bir sorgu motoru değil, dosya öncelikli depolamadır. [kıyaslamalar](https://storh.inline0.dev/tr/docs/benchmarks) kaynak alınarak belirlenen pratik sınırlar (50k kayıt, Apple M1 Pro):

- Dosya sistemi dosya sayısını kaldırabildiğinde ve koleksiyon UUID-kuyruk parçalamayı kullandığında tekil erişimin pratikte sınırı yoktur. Tekil bir okuma birkaç mikrosaniye sürer; kalıcı tek kayıt yazma hızı saniyede birkaç bin işlemdir ve fsync ile sınırlıdır.
- Bölümlenmiş günlük taramaları, imleç okumaları ve zaman aralığı okumaları, iş yüküne göre ayarlanmış segment boyutlarıyla yaklaşık 1M kayda kadar rahatça ölçeklenir. Toplu eklemeler saniyede on binlerce kayda ulaşır; yarım kalmış son satır kurtarma, yeniden açılışta saniyede yüz binlerce kaydı yeniden oynatır.
- Kuyruk işlemleri sıkıştırılmış olayları tek bir kalıcı günlüğe ekler; böylece kuyruğa ekleme, talep etme, tamamlama, yeniden kuyruğa alma ve temizleme işlemleri her iş için ayrı dosya oluşturan dizin hareketliliğini önler. Toplu talep ve tamamlama, kilitleme ve fsync maliyetini tüm gruba yayar.
- `DocStore` içinde dosya başına alan taramaları yaklaşık 10k kaydı aşınca yavaşlar; çünkü her eşleşen tarama ayrı dosyaları dolaşmak zorundadır. Filtrelediğiniz alanlar için [dizinler](https://storh.inline0.dev/tr/docs/indexes) tanımlayın; dizinlenmiş eşitlik sorguları koleksiyon boyutundan bağımsız olarak yaklaşık bir milisaniyede yanıt verir.
- storh, gelişigüzel ilişkisel sorgular, birleştirmeler, ikincil dizin ağırlıklı filtreleme veya birçok alanı kapsayan analitik taramalar için uygun değildir. Bu okuma biçimlerine ihtiyaç duyduğunuzda koleksiyonları bir [SQL yansımasına](https://storh.inline0.dev/tr/docs/sql-mirror) aktarın; birden çok kayıt üzerinde işlem gerektiğinde asıl kayıt sistemini gerçek bir veritabanında tutun.

Tekil okumalar ağırlıklıysa `DocStore`, ekleme ve sıralı okumalar ağırlıklıysa `SegmentedLog`, basit ve kalıcı iş dağıtımı içinse `Queue` kullanın. Yan yana karşılaştırma için [Bir motor seçin](https://storh.inline0.dev/tr/docs/engines#choosing-an-engine) sayfasına bakın.
