Sdílet prostřednictvím


Kritéria pro výběr úložiště dat

Tento článek popisuje kritéria porovnání, která můžete použít při vyhodnocování úložiště dat. Cílem je pomoct vám zjistit, jaké typy úložišť můžou splňovat potřeby vašeho řešení.

Obecné aspekty

Při výběru mějte na paměti následující skutečnosti.

Požadavky na funkce

  • Formát dat: Jaký typ dat chcete uložit? Obvyklé typy zahrnují transakční data, objekty JSON, telemetrii, vyhledávací indexy nebo ploché soubory.
  • Velikost dat: Jak velké jsou entity, které potřebujete uložit? Bude potřeba tyto entity udržovat jako jeden dokument, nebo je možné je rozdělit mezi několik dokumentů, tabulek a kolekcí?
  • Škálování a struktura: Jakou celkovou kapacitu úložiště potřebujete? Předpokládáte dělení dat?
  • Relace dat: Budou vaše data muset podporovat relace 1:N nebo M:N? Jsou relace důležitou součástí dat? Budete muset spojovat nebo jinak kombinovat data ze stejné datové sady nebo z externích datových sad?
  • Model konzistence: Jak důležité je, aby se aktualizace provedené v jednom uzlu zobrazily v jiných uzlech před provedením dalších změn? Je přijatelná konzistence s prodlevou (eventual consistency)? Potřebujete pro transakce záruky „ACID“?
  • Flexibilita schémat: Jaký druh schémat použijete u svých dat? Budete používat pevné schéma, model „schéma při zápisu“, nebo „schéma při čtení“?
  • Souběžnost: Jaký druh mechanismu souběžnosti chcete použít při aktualizaci a synchronizaci dat? Bude aplikace provádět mnoho aktualizací, které by mohly potenciálně kolidovat? Pokud ano, můžete vyžadovat uzamykání záznamů a pesimistické řízení souběžnosti. Můžete případně podporovat optimistické řízení souběžnosti? Pokud ano, stačí jednoduché řízení souběžnosti na základě časových razítek, nebo potřebujete další funkce řízení souběžnosti s více verzemi?
  • Přesun dat: Bude vaše řešení muset provádět úlohy ETL pro přesun dat do jiných úložišť nebo datových skladů?
  • Životní cyklus dat: Zapisuje se data jednou, mnoho čtení? Je možné je přesouvat do studeného nebo pohotovostního úložiště?
  • Další podporované funkce: Potřebujete nějaké další specifické funkce, jako je ověřování schématu, agregace, indexování, fulltextové vyhledávání, MapReduce nebo jiné možnosti dotazů?

Jiné než funkční požadavky

  • Výkon a škálovatelnost: Jaké jsou vaše požadavky na výkon dat? Máte specifické požadavky na rychlost příjmu (ingestování) dat a zpracování dat? Jaká je přijatelná doba odezvy pro dotazování a agregaci dat po jejich ingestování? Do jaké velikosti budete potřebovat vertikálně navýšit kapacitu datového úložiště? Klade daná úloha větší nároky na čtení, nebo zápis?
  • Spolehlivost: Jakou celkovou smlouvu o úrovni služeb potřebujete podporovat? Jakou úroveň odolnosti proti chybám potřebujete zajistit pro příjemce dat? Jaký druh funkcí zálohování a obnovení potřebujete?
  • Replikace: Budou se vaše data muset distribuovat mezi několik replik nebo oblastí? Jaký druh funkcí pro replikaci dat požadujete?
  • Omezení: Budou limity konkrétního úložiště dat podporovat vaše požadavky na škálování, počet připojení a propustnost?

Správa a náklady

  • Spravovaná služba: Pokud je to možné, používejte spravovanou datovou službu, pokud nepotřebujete konkrétní funkce, které se nacházejí pouze v úložišti dat hostovaném v infrastruktuře jako službě (IaaS).
  • Dostupnost v oblastech: Je pro spravované služby dostupná ve všech oblastech Azure? Je třeba vaše řešení hostovat v určitých oblastech Azure?
  • Přenositelnost: Bude potřeba vaše data migrovat do místních, externích datacenter nebo jiných cloudových hostitelských prostředí?
  • Licencování: Dáváte přednost proprietární licenci před typem licence OSS? Existují další externí omezení, pokud jde o typ licence, který můžete použít?
  • Celkové náklady: Jaké jsou celkové náklady na používání služby v rámci vašeho řešení? Kolik instancí bude potřeba spustit, aby se podporovaly vaše požadavky na dostupnost a propustnost? Při tomto výpočtu vezměte v úvahu náklady na provoz. Jedním z důvodů, proč preferovat spravované služby, jsou nižší provozní náklady.
  • Nákladová efektivita: Můžete data rozdělit na oddíly, aby se ukládaly nákladově efektivněji? Můžete například přesunout rozsáhlé objekty z nákladné relační databáze do úložiště objektů?

Zabezpečení

  • Zabezpečení: Jaký typ šifrování požadujete? Potřebujete šifrování v klidovém stavu? Jaký mechanismus pro ověřování chcete používat pro připojení k datům?
  • Auditování: Jaký typ protokolu auditu potřebujete vygenerovat?
  • Požadavky na síť: Potřebujete omezit nebo jinak spravovat přístup k datům z jiných síťových prostředků? Je nutné, aby data vyla přístupná jen v rámci prostředí Azure? Musí být data přístupná z konkrétních IP adres nebo podsítí? Musí být přístupná z aplikací nebo služeb hostovaných v místních nebo jiných externích datových centrech?

DevOps

  • Sada dovedností: Existují programovací jazyky, operační systémy nebo jiné technologie, které váš tým umí používat? Existují jiné, které by pro váš tým byly obtížné?
  • Klienti: Existuje dobrá klientská podpora pro vaše vývojové jazyky?

Další kroky