
# Skaleerimine ja piirangud

storh on failipõhine salvestus, mitte relatsiooniliste päringute mootor. Praktilised piirid koos võrdlusnäitajatega lehel [võrdlustestid](https://storh.inline0.dev/et/docs/benchmarks) (50k kirjet, Apple M1 Pro):

- Üksikkirje lugemise võimalused on sisuliselt piiramatud, kui failisüsteem saab failide arvuga hakkama ja kogumis kasutatakse UUID lõpuosa järgi tükeldamist. Üksikkirje lugemine võtab mõne mikrosekundi; ühe kirje püsiv kirjutamine on fsync'i tõttu piiratud mõne tuhande kirjega sekundis.
- Segmendilogide skannimine, kursoriga lugemine ja ajavahemike lugemine on mugavad ligikaudu miljoni kirje puhul, kui segmendi suurus on töökoormuse järgi seadistatud. Hulgi lisamine saavutab kümneid tuhandeid kirjeid sekundis; pooliku lõpuosa taastamine taasesitab uuesti avamisel sadu tuhandeid kirjeid sekundis.
- Järjekorra toimingud lisavad kompaktseid sündmusi ühte püsivasse logisse, nii et töö lisamisel, hõivamisel, lõpetamisel, uuesti järjekorda panemisel ja tühjendamisel välditakse iga töö jaoks eraldi faili loomist kataloogi. Hulgihõivamisel ja lõpetamisel jaotatakse lukustamise ja fsync'i kulu terve paketi peale.
- Üksikute failide väljade skannimine mootoris `DocStore` aeglustub ligikaudu 10 000 kirje järel, sest iga sobiv skannimine peab läbima üksikfailid. Määra [indeksid](https://storh.inline0.dev/et/docs/indexes) väljadele, mille järgi filtreerid; indekseeritud võrdsuspäringud saavad vastuse umbes millisekundiga sõltumata kogumi suurusest.
- storh pole mõeldud suvalisteks relatsioonilisteks päringuteks, ühendamisteks, paljude sekundaarindeksitega filtreerimiseks ega paljude väljade analüütiliseks skannimiseks. Kui vajad selliseid lugemisviise, suuna kogumid [SQL peeglisse](https://storh.inline0.dev/et/docs/sql-mirror); hoia põhiandmeid päris andmebaasis, kui vajad mitut kirjet hõlmavaid tehinguid.

Kasuta `DocStore`, kui ülekaalus on üksikkirjete lugemine, `SegmentedLog`, kui ülekaalus on lisamine ja järjestatud lugemine, ning `Queue` lihtsaks püsivaks tööde vahendamiseks. Vaata lehte [Mootori valimine](https://storh.inline0.dev/et/docs/engines#choosing-an-engine), kus saad neid kõrvuti võrrelda.
