Jakákoli vlastní databázová aplikace, která zaznamená významný růst, bude nakonec muset být škálována, aby zvládla nárůst provozu. Je důležité, aby to bylo provedeno způsobem, který chrání integritu a bezpečnost dat. Z tohoto důvodu mnoho společností pro správu databází doporučuje sharding.
Sdíleným databázím se v posledních letech dostalo velké pozornosti, ale to neznamená, že jsou vhodné pro každého. V tomto článku půjdeme do větších podrobností o sdílených databázích, abyste měli jasnou představu o tom, co to je a jestli jsou pro vaši organizaci vhodné.
Co je Sharding?
Sharding je vzor architektury databáze, který je podobný horizontálnímu dělení, což je praxe oddělení řádků jedné tabulky do několika různých tabulek. Tyto tabulky jsou známé jako „oddíly“. Každý oddíl má stejné schéma a sloupce, ale zcela odlišné řádky. Data obsažená v každém řádku jsou jedinečná a nezávislá na datech obsažených v jiných oddílech.
Účelem shardingu je rozdělit data na menší části. Vaše aplikace tak může vytvářet méně dotazů. Když například vaše databáze obdrží požadavek, aplikace bude vědět, kam má požadavek odeslat. Má mnohem méně dat k prohlížení, protože nemusí procházet celou databází.
Sharding Architectures
Existuje několik různých způsobů, jak můžete svou databázi rozdělit. Je důležité, aby bylo vše správně nastaveno, protože chcete, aby vaše dotazy směřovaly do správného fragmentu. Jinak byste mohli skončit s pomalými dotazy a ztrátou dat.
Sharding na základě klíče
Sharding založený na klíči využívá hodnotu převzatou z nově zapsaných dat a zapojuje ji do „hashovací funkce“, aby se určilo, do kterého fragmentu mají data jít. Tato metoda je běžná a může chránit data před nerovnoměrným rozložením.
Sharding na základě rozsahu
Sharding založený na rozsahu zahrnuje shardování dat na základě rozsahů dané hodnoty. Implementace je jednoduchá, ale nechrání data před nerovnoměrnou distribucí.
Sharding na základě adresáře
Sharding založený na adresáři vyžaduje, abyste vytvořili a udržovali „vyhledávací tabulku“, abyste mohli sledovat, který fragment obsahuje která data. Výhodou této metody je, že je flexibilní.
Sharding databáze může být skvělým řešením, pokud chcete svou databázi horizontálně škálovat. Chcete-li se dozvědět více o shardingu, pokud je to pro vás to pravé a nejlepší architektura k použití, kontaktujte Arkware ještě dnes.