Criteria voor het kiezen van een gegevensarchief

In dit artikel worden de vergelijkingscriteria beschreven die u kunt gebruiken wanneer u een gegevensarchief evalueert. Het doel is u te helpen bepalen welke typen gegevensopslag aan de vereisten van uw oplossing kunnen voldoen.

Algemene overwegingen

Houd rekening met de volgende overwegingen wanneer u uw selectie maakt.

Functionele vereisten

  • Gegevensindeling: welk type gegevens wilt u opslaan? Algemene typen zijn transactiegegevens, JSON-objecten, telemetrie, zoekindexen of platte bestanden.
  • Gegevensgrootte: hoe groot zijn de entiteiten die u wilt opslaan? Moeten deze entiteiten worden onderhouden als één document of kunnen ze worden gesplitst over meerdere documenten, tabellen en verzamelingen?
  • Schaal en structuur: wat is de totale hoeveelheid opslagcapaciteit die u nodig hebt? Bent u van plan uw gegevens te partitioneren?
  • Gegevensrelaties: moeten uw gegevens ondersteuning bieden voor een-op-veel- of veel-op-veel-relaties? Vormen relaties zelf een belangrijk onderdeel van de gegevens? Moet u gegevens uit dezelfde gegevensset of uit externe gegevenssets samenvoegen of anderszins combineren?
  • Consistentiemodel: hoe belangrijk is het dat updates die in het ene knooppunt zijn aangebracht, worden weergegeven in andere knooppunten voordat verdere wijzigingen kunnen worden aangebracht? Kunt u de uiteindelijke consistentie accepteren? Hebt u ACID-garanties voor transacties nodig?
  • Flexibiliteit van schema' s: wat voor soort schema's past u toe op uw gegevens? Gaat u gebruikmaken van een vast schema, een schema tijdens schrijfbewerkingen of een schema tijdens leesbewerkingen?
  • Gelijktijdigheid: welk soort gelijktijdigheidsmechanisme wilt u gebruiken wanneer u gegevens bijwerkt en synchroniseert? Voert de toepassing veel updates uit die mogelijk conflict kunnen veroorzaken? Als dat het zo is, hebt u mogelijk recordvergrendeling en pessimistisch gelijktijdigheidsbeheer nodig. Kunt u, als alternatief, ondersteuning bieden voor optimistisch gelijktijdigheidsbeheer? Zo ja, is eenvoudig gelijktijdigheidsbeheer op basis van tijdstempels voldoende of hebt u de toegevoegde functionaliteit van gelijktijdigheidsbeheer met meerdere versies nodig?
  • Gegevensverplaatsing: moet uw oplossing ETL-taken uitvoeren om gegevens naar andere winkels of datawarehouses te verplaatsen?
  • Levenscyclus van gegevens: is de gegevens write-once, read-many? Kunnen ze worden verplaatst naar statische of koude opslag?
  • Andere ondersteunde functies: hebt u andere specifieke functies nodig, zoals schemavalidatie, aggregatie, indexeren, zoeken in volledige tekst, MapReduce of andere querymogelijkheden?

Niet-functionele vereisten

  • Prestaties en schaalbaarheid: wat zijn uw vereisten voor gegevensprestaties? Hebt u specifieke vereisten voor opname- en verwerkingssnelheden van gegevens? Wat zijn de acceptabele reactietijden voor het uitvoeren van query's en het samenvoegen van gegevens nadat deze zijn opgenomen? Tot welke grootte moet het gegevensarchief omhoog geschaald kunnen worden? Is uw werkbelasting meer leesintensief of schrijfintensief?
  • Betrouwbaarheid: welke algemene serviceovereenkomst moet u ondersteunen? Welk niveau van fouttolerantie moet u bieden voor gegevensgebruikers? Welke mogelijkheden voor back-up en herstel hebt u nodig?
  • Replicatie: moeten uw gegevens worden gedistribueerd over meerdere replica's of regio's? Welke soort functies voor gegevensreplicatie zijn vereist?
  • Limieten: ondersteunen de limieten van een bepaald gegevensarchief uw vereisten voor schaal, aantal verbindingen en doorvoer?

Beheer en kosten

  • Beheerde service: gebruik indien mogelijk een beheerde gegevensservice, tenzij u specifieke mogelijkheden nodig hebt die alleen te vinden zijn in een iaaS-gegevensarchief (Infrastructure as a Service).
  • Beschikbaarheid van regio's: is de service voor beheerde services beschikbaar in alle Azure-regio's? Moet uw oplossing worden gehost in bepaalde Azure-regio's?
  • Draagbaarheid: moeten uw gegevens worden gemigreerd naar on-premises, externe datacenters of andere cloudhostingomgevingen?
  • Licentieverlening: Hebt u een voorkeur voor een bedrijfseigen licentie versus een OSS-licentietype? Zijn er nog andere, externe beperkingen wat betreft het type licentie dat u kunt gebruiken?
  • Totale kosten: wat zijn de totale kosten van het gebruik van de service binnen uw oplossing? Hoeveel exemplaren moeten worden uitgevoerd om uw vereisten voor uptime en doorvoer te ondersteunen? Neem de operationele kosten in deze berekening mee. Een van de redenen voor de keuze van beheerde services is de gereduceerde operationele kosten.
  • Kosteneffectiviteit: kunt u uw gegevens partitioneren om ze rendabeler op te slaan? Kunt u bijvoorbeeld grote objecten vanuit een dure relationele database verplaatsen naar een objectarchief?

Beveiliging

  • Beveiliging: welk type versleuteling hebt u nodig? Hebt u versleuteling nodig voor inactieve gegevens? Welke verificatiemethode wilt u gebruiken om verbinding te maken met uw gegevens?
  • Controle: wat voor soort auditlogboek moet u genereren?
  • Netwerkvereisten: moet u de toegang tot uw gegevens van andere netwerkbronnen beperken of anderszins beheren? Moeten gegevens alleen toegankelijk zijn vanuit de Azure-omgeving? Moeten gegevens toegankelijk zijn via specifieke IP-adressen of subnetten? Moeten gegevens toegankelijk zijn vanuit toepassingen of services die on-premises of in andere, externe databases zijn gehost?

DevOps

  • Vaardigheden: zijn er programmeertalen, besturingssystemen of andere technologie die uw team goed kan gebruiken? Zijn er die problemen voor uw team kunnen opleveren?
  • Klanten: Is er goede clientondersteuning voor uw ontwikkeltalen?

Volgende stappen