Megosztás a következőn keresztül:


Az adattár kiválasztásának kritériumai

Ez a cikk az adattárak kiértékelésekor használandó összehasonlítási feltételeket ismerteti. A cél az, hogy segítséget nyújtson az aktuális megoldás igényeinek megfelelő adattárolási típus meghatározásában.

Általános megfontolások

A kiválasztáskor tartsa szem előtt az alábbi szempontokat.

Funkcionális követelmények

  • Adatformátum: Milyen típusú adatokat kíván tárolni? A gyakori típusok közé tartoznak a tranzakciós adatok, a JSON-objektumok, a telemetriaadatok, a keresési indexek és az egybesimított fájlok.
  • Adatméret: Mekkora méretű entitásokat kell tárolnia? Ezeket az entitásokat egyetlen dokumentumként kell karbantartani, vagy feloszthatók több dokumentumra, táblára és gyűjteményre?
  • Skálázás és struktúra: Mekkora teljes tárkapacitásra van szüksége? Tervezi az adatok particionálását?
  • Adatkapcsolatok: Az adatoknak támogatniuk kell az egy-a-többhöz vagy a több-a-többhöz kapcsolatokat? Maguk a kapcsolatok fontos részét képezik az adatoknak? Ugyanabból az adatkészletből vagy külső adathalmazokból származó adatokat kell összekapcsolnia vagy más módon egyesítenie?
  • Konzisztenciamodell: Mennyire fontos, hogy az egyik csomóponton végrehajtott frissítések megjelenjenek a többi csomóponton a további módosítások előtt? Elfogadható-e a végleges konzisztencia? Szüksége van-e ACID-garanciákra az egyes tranzakciókhoz?
  • Sémarugalmasság: Milyen sémákat fog alkalmazni az adatokra? Rögzített sémát, esetleg írási séma vagy olvasási séma megközelítést fog használni?
  • Egyidejűség: Milyen típusú egyidejűségi mechanizmust szeretne használni az adatok frissítése és szinkronizálása során? Az alkalmazás számos olyan frissítést hajt végre, amelyek esetleg ütközhetnek? Ha igen, szükség lehet rekordzárolásra és pesszimista egyidejűség-vezérlésre. Vagy támogathatja-e az optimista egyidejűségi vezérlőket? Ha igen, elég az egyszerű időbélyeg-alapú egyidejűség-vezérlés, vagy szüksége van a többverziós egyidejűség-vezérlés további funkcióira?
  • Adatáthelyezési: A megoldásnak ETL-feladatokat kell végrehajtania az adatok más tárolókba vagy adattárházakba való áthelyezéséhez?
  • Adatéletciklus: Az adatok írása egyszer, olvasható-több? Áthelyezhetők-e ritkán használt vagy offline tárhelyre?
  • Egyéb támogatott funkciók: Szüksége van más konkrét funkciókra, például sémaérvényesítésre, összesítésre, indexelésre, teljes szöveges keresésre, MapReduce-ra vagy más lekérdezési képességekre?

Nem funkcionális követelmények

  • Teljesítmény és méretezhetőség: Mik az adatteljesítményre vonatkozó követelmények? Vannak-e egyedi igényei az adatok betöltése és feldolgozása szempontjából? Milyen elfogadható válaszidők vannak az adatok lekérdezéséhez és összesítéséhez a betöltés után? Milyen mértékű vertikális felskálázásra lesz szüksége az adattárhoz? A munkaterhelések nagyrészt olvasási vagy nagyrészt írási műveltekből állnak?
  • Megbízhatóság: Milyen általános szolgáltatási szintű szerződést kell támogatnia? Milyen szintű hibatűrést kell biztosítania az adatfogyasztók számára? Milyen típusú biztonsági mentési és visszaállítási képességekre van szüksége?
  • Replikáció: El kell osztani az adatokat több replika vagy régió között? Milyen típusú adatreplikációs képességekre van szüksége?
  • Korlátok: Egy adott adattár korlátai támogatják-e a skálázásra, a kapcsolatok számára és az átviteli sebességre vonatkozó követelményeket?

Felügyelet és költségek

  • Felügyelt szolgáltatás: Ha lehetséges, használjon felügyelt adatszolgáltatást, kivéve, ha olyan konkrét képességekre van szüksége, amelyek csak szolgáltatásként (IaaS) üzemeltetett adattárban találhatók.
  • Régió rendelkezésre állása: Felügyelt szolgáltatások esetén a szolgáltatás minden Azure-régióban elérhető? A megoldást bizonyos Azure-régiókban kell-e üzemeltetni?
  • Hordozhatóság: Át kell-e migrálni az adatokat a helyszíni, külső adatközpontok vagy más felhőalapú üzemeltetési környezetekbe?
  • Licencelés: Előnyben részesíti a tulajdonosi és az OSS-licenctípust? Vonatkozik-e egyéb külső korlátozás a használt licenc típusára vonatkozóan?
  • Teljes költség: Milyen általános költségekkel jár a szolgáltatás használata a megoldáson belül? Hány példányt kell futtatnia az üzemidő és az átviteli sebesség követelményeinek támogatásához? Ennél a számításnál az üzemeltetés költségeit is vegye figyelembe. A felügyelt szolgáltatások használatának egyik előnye az alacsonyabb üzemeltetési költség.
  • Költséghatékonyság: Particionálja az adatokat, hogy költséghatékonyabban tárolhassa azokat? Például áthelyezhetők-e a nagy méretű objektumok egy költséges relációs adatbázisból egy objektumtárolóba?

Biztonság

  • Biztonság: Milyen típusú titkosításra van szükség? Szüksége van titkosításra inaktív állapotban? Milyen hitelesítési mechanizmust szeretne használni az adatokhoz való kapcsolódáshoz?
  • Naplózás: Milyen naplózási naplót kell létrehoznia?
  • Hálózatkezelési követelmények: Korlátoznia kell vagy más módon kezelnie kell az adatokhoz való hozzáférést más hálózati erőforrásokból? Az adatok elérésére csak az Azure-környezeten belülről van szükség? Az adatoknak adott IP-címekről vagy alhálózatokról is elérhetőnek kell lenniük? Elérhetőnek kell-e lenniük a helyszínen üzemeltetett alkalmazások vagy szolgáltatások, esetleg egyéb külső adatközpontok számára?

DevOps

  • Képességkészlet: Vannak-e olyan programozási nyelvek, operációs rendszerek vagy más technológiák, amelyeket a csapat használ? Vannak-e olyanok, amelyekkel a csapata nehezen boldogulna?
  • Ügyfelek: Van-e megfelelő ügyféltámogatás a fejlesztési nyelvekhez?

Következő lépések