Alla anpassade databasapplikationer som ser betydande tillväxt kommer så småningom att behöva skalas för att hantera en ökning av trafiken. Det är viktigt att detta görs på ett sätt som skyddar datas integritet och säkerhet. Av denna anledning rekommenderar många databashanteringsföretag skärning.
Delade databaser har fått mycket uppmärksamhet de senaste åren, men det betyder inte att de är rätt för alla. I den här artikeln kommer vi att gå in mer i detalj på delade databaser så att du kan ha en tydlig uppfattning om vad de är och om de är rätt för din organisation.
Vad är Sharding?
Sharding är ett databasarkitekturmönster som liknar horisontell partitionering, vilket är praxis att separera en tabells rader i flera olika tabeller. Dessa tabeller är kända som "partitioner." Varje partition har samma schema och kolumner, men helt olika rader. Datan som finns i varje rad är unik och oberoende av data som finns i andra partitioner.
Syftet med sharding är att dela upp data i mindre bitar. På så sätt kan din ansökan göra färre frågor. Till exempel, när din databas tar emot en förfrågan, kommer applikationen att veta vart den ska skicka förfrågan. Den har mycket mindre data att titta igenom eftersom den inte behöver gå igenom hela databasen.
Sharding Architectures
Det finns några olika sätt du kan klippa din databas. Det är viktigt att allt är korrekt inställt, eftersom du vill att dina frågor ska gå till rätt fragment. Annars kan du få långsamma frågor och förlorad data.
Nyckelbaserad sönderdelning
Nyckelbaserad skärning använder ett värde som tagits från nyskriven data och kopplar in den i en "hash-funktion" för att bestämma vilken skärva data ska gå till. Denna metod är vanlig och kan skydda data från ojämn distribution.
Räckviddsbaserad skärning
Områdesbaserad skärning innebär skärning av data baserat på intervall med ett givet värde. Det är enkelt att implementera, men det skyddar inte data från att distribueras ojämnt.
Katalogbaserad sönderdelning
Katalogbaserad delning kräver att du skapar och underhåller en "uppslagstabell" för att hålla reda på vilken shard som innehåller vilken data. Fördelen med denna metod är att den är flexibel.
Databasdelning kan vara en bra lösning om du vill skala din databas horisontellt. För att lära dig mer om skärning, om det är rätt för dig och den bästa arkitekturen att använda, kontakta Arkware idag.