Välja en lagringslösning för Azure

Slutförd

Du kan få bättre prestanda, lägre kostnader och ökad hanterbarhet genom att välja rätt lagringslösning. Varje typ av data har olika lagringskrav. Det är ditt jobb att avgöra vilken lagringslösning som är bäst för de typer av data som företaget använder. Du bör alltid överväga datakategori, vilka åtgärder som utförs, förväntade svarstider och behovet av transaktionsstöd.

Här kan du använda det du har lärt dig om data i ditt online-detaljhandelsscenario och hitta den bästa Azure-tjänsten för varje datauppsättning.

Data i produktkatalogen

Dataklassificering: Halvstrukturerad på grund av behovet av att utöka eller ändra schemat för nya produkter.

Åtgärder: Kunder kräver ett stort antal läsåtgärder, med möjlighet att köra frågor mot många fält i databasen. Dessutom kräver verksamheten ett stort antal skrivåtgärder för att spåra det ständigt föränderliga lagret.

Svarstid och dataflöde: Högt dataflöde och låg svarstid.

Transaktionsstöd: Eftersom produktdata är knutna till betalning och inventering krävs transaktionsstöd.

Azure Cosmos DB stöder halvstrukturerade data eller NoSQL-data avsiktligt. Därför kan du göra något med Azure Cosmos DB om du stöder nya fält som "Bluetooth-aktiverat" eller eventuella nya fält som du behöver i framtiden.

Azure Cosmos DB stöder SQL för frågor och varje egenskap indexeras som standard. Du kan skapa frågor så att dina kunder kan filtrera en egenskap i katalogen.

Azure Cosmos DB är även ACID-kompatibelt, så du kan vara säker på att dina transaktioner utförs enligt dessa strikta krav. En OLTP-anslutningsapp är tillgänglig för Azure Cosmos DB.

Som ett extra plus kan du också använda Azure Cosmos DB för att enkelt replikera dina data var som helst i världen. Om din e-handelswebbplats har användare som är koncentrerade till USA, Frankrike och England kan du replikera dina data till datacenter i dessa regioner. Svarstiden minskar eftersom du fysiskt har flyttat data närmare dina användare.

Även med data som replikeras runt om i världen kan du välja mellan en av fem konsekvensnivåer. Du kan bestämma hur du vill kompromissa gällande konsekvens, tillgänglighet, svarstid och dataflöde genom att välja rätt konsekvensnivå. Du kan skala upp för att hantera högre kundefterfrågan under tider med hög shopping eller skala ned under långsammare tider för att spara på kostnaderna.

Varför inte andra Azure-tjänster?

Azure SQL Database skulle vara ett utmärkt val för den här datamängden om du kunde identifiera den delmängd av egenskaper som är vanliga för de flesta produkter och de variabelegenskaper som kanske inte finns i vissa produkter. Du kan använda Azure SQL Database för att kombinera strukturerade data i kolumnerna och halvstrukturerade data som lagras som JSON-kolumner som enkelt kan utökas. Azure SQL Database kan ge många av samma fördelar med Azure Cosmos DB. Det ger dock liten nytta om strukturen för dina data ändras i olika entiteter och du inte kan fördefiniera en uppsättning vanliga egenskaper som upprepas i de flesta entiteter. Till skillnad från Azure Cosmos DB, som indexerar varje egenskap i dokumenten, måste Azure SQL Database uttryckligen definiera vilka egenskaper i halvstrukturerade dokument som ska indexeras. Azure Cosmos DB är ett bättre alternativ för mycket ostrukturerade och varierande data där du inte kan förutsäga vilka egenskaper som ska indexeras. Azure SQL Database stöder OLTP.

Andra Azure-tjänster, till exempel Azure Table Storage, Apache HBase i Azure HDInsight och Azure Cache for Redis, kan också lagra NoSQL-data. I det här scenariot är Azure Cosmos DB ett bättre alternativ eftersom användarna vill fråga på flera fält. Azure Cosmos DB indexerar alla fält som standard, medan andra Azure-tjänster är begränsade i de data som de indexerar. Frågor om icke-indexerade fält ger sämre prestanda.

Foton och videor

Dataklassificering: Ostrukturerad.

Åtgärder: Hämta endast efter ID, kunder kräver ett stort antal läsåtgärder med låg svarstid, och skapandeåtgärder och uppdateringsåtgärder blir mindre frekventa och kan ha högre svarstid än läsåtgärder.

Svarstid och dataflöde: Hämtningar efter ID måste ha stöd för låg svarstid och högt dataflöde. Skapa åtgärder och uppdateringsåtgärder kan ha högre svarstid än läsåtgärder.

Transaktionsstöd: Krävs inte.

Azure Blob Storage stöder lagring av filer som foton och videor. Det fungerar också med Azure Content Delivery Network genom att cachelagra det mest använda innehållet och sedan lagra det på gränsservrar. Azure Content Delivery Network minskar svarstiden när du betjänar avbildningarna till dina användare.

I Azure Blob Storage kan du också flytta avbildningar från frekvent lagringsnivå till lågfrekvent lagringsnivå eller arkivlagringsnivå. Detta bidrar till att minska kostnaderna och fokusera dataflödet på de mest visade bilderna och videorna.

Varför inte andra Azure-tjänster?

Du kan ladda upp dina avbildningar till Azure App Service, så att samma server som kör appen hanterar dina bilder. Lösningen skulle fungera om du inte har så många filer. Men om du har många filer och en global publik får du bättre prestanda genom att använda Azure Blob Storage med Azure Content Delivery Network.

Affärsdata

Dataklassificering: Strukturerad.

Åtgärder: Skrivskyddade, komplexa analysfrågor över flera databaser.

Svarstid och dataflöde: Viss svarstid i resultatet förväntas baserat på frågornas komplexa karaktär.

Transaktionsstöd: Krävs inte.

Affärsanalytiker kommer troligen att köra frågor mot affärsdata med HJÄLP av SQL, eftersom de är mer kunniga på det här frågespråket än något annat. Du kan använda Azure SQL Database som en lösning på egen hand. Men om du parkopplar den med Azure Analysis Services kan dataanalytiker skapa en semantisk modell över data i Azure SQL Database. Dataanalytiker kan sedan dela modellen med företagsanvändare, som bara behöver ansluta till modellen från något BI-verktyg (Business Intelligence) för att omedelbart utforska data och få insikter. Azure Analysis Services stöder OLAP.

Varför inte andra Azure-tjänster?

Azure Synapse Analytics stöder OLAP-lösningar och SQL-frågor, men dina affärsanalytiker måste utföra frågor mellan databaser, vilket Azure Synapse Analytics inte stöder.

Azure Stream Analytics är ett bra när du vill analysera data och omvandla dem till användbara insikter, men fokus ligger på realtidsdata som strömmar in. I det här scenariot tittar våra affärsanalytiker bara på historiska data.