sql >> Databasteknik >  >> NoSQL >> MongoDB

Hantera flera databasteknologier med ClusterControl

Hantera flera databastekniker med öppen källkod i vilken miljö som helst kan vara en skrämmande uppgift, särskilt om du har färre resurser. Scenariot kan bli värre om driftsättning, övervakning och andra databashanteringsuppgifter görs manuellt. Om det här scenariot låter bekant kan den här bloggen hjälpa dig att automatisera hanteringen av heterogena databaser med öppen källkod med hjälp av databasautomatiseringsverktyg som ClusterControl.

För organisationer eller företag som letar efter företagslösningar för att hantera sina databaser med öppen källkod baserat på olika teknologier skulle ClusterControl vara ett utmärkt alternativ. ClusterControl stöder olika populära databastekniker med öppen källkod, inklusive MySQL, MongoDB, PostgreSQL, MariaDB och många fler, och används av stora organisationer och företag för både företagsapplikationer och komplexa arkitekturer.

Lösningsarkitekter kan effektivt använda ClusterControl för att passa in i sin befintliga miljö och arkitektur. ClusterControl är en monolitisk applikation men har flera komponenter som kommunicerar med cmon. Dessa komponenter samarbetar för att sömlöst hantera de olika typerna av databaser med öppen källkod som ClusterControl stöder.

Databasleverantörer som stöds av ClusterControl 

ClusterControl låter dig distribuera eller skapa ett databaskluster från början för olika databaser med öppen källkod, allt från RDBMS till NoSQL. Allt du behöver göra är att tillhandahålla serveranslutningsinformation såsom SSH-uppgifter. ClusterControl kommer att hantera alla egenheter och godbitar som krävs för att köra dina databasservrar begränsade till de Linux-operativsystem som stöds. ClusterControl kommer att lägga till de nödvändiga konfigurationsparametrarna, hjälpa till med justering och användare som den anser nödvändiga, särskilt för säkerhetskopiering, redundans och hög tillgänglighet för registrerade (eller skapade) och importerade databaser.

De flesta av de databastekniker som ClusterControl stöder (exklusive MongoDB-varianter och NDB) kan enkelt kopplas ihop med olika lastbalanserare eller proxyservrar, vilket är lätt att ställa in med några få klick med ClusterControl-gränssnittet .

Så här ser det ut när ClusterControl hanterar flera databastekniker:

ClusterControl kan hantera tusentals kluster, men detta beror på kapaciteten och resurserna på din server som är värd för ClusterControl-programvaran.

MySQL / MariaDB / Percona Server

Oracle MySQL kan distribueras eller importeras i ClusterControl och kan ställas in som en primär standby/master-slave replikering. Som standard kommer din Oracle MySQL-replikering att använda halvsynkroniserad replikering när den väl har distribuerats och konfigurerats med ClusterControl, vilket ger mer konsekvens än asynkron replikering. Detta konfigureras och ställs in som standardkonfiguration av ClusterControl-monitorn - cmon - när en primär standby-replikering distribueras.

MariaDB och Percona Server kan ställas in som en primär standby/master-slave-replikering och kan även ställas in med hjälp av Galera Replication Plugin för att skapa en synkron replikering. Samma som Oracle MySQL, den primära standby-replikeringsinställningen gäller samma sak för en primär standby-replikering.

Om MariaDB och Percona Server är konfigurerade för att distribuera ett Galera-kluster betyder det att replikeringen som ska konfigureras anses vara en synkron replikering.

MySQL-kluster (NDB)

ClusterControl stöder även MySQL Cluster (NDB), ett distribuerat databassystem som vanligtvis används inom telekommunikation eller relaterade industrier. Denna teknik är byggd för hög tillgänglighet och används i stor utsträckning i affärskritiska företagsapplikationer som kräver höga prestandanivåer. ClusterControl distribuerar NDB med ett användargränssnitt och är ganska lätt att ställa in från användarens synvinkel. Ändå är övervaknings- och hanteringsfunktionerna för NDB begränsade jämfört med vad som erbjuds för andra databasteknologier. Även om MySQL Cluster (NDB) är en komplicerad databas att hantera, kan den vara kraftfull när du väl har vant dig vid att arbeta med NDB, särskilt med dess mycket tillgängliga funktioner.

PostgreSQL/TimescaleDB

Noterat som världens mest avancerade relationsdatabas med öppen källkod, PostgreSQL kan distribueras eller importeras till ClusterControl och med många funktioner att erbjuda. ClusterControl låter användaren ställa in en PostgreSQL-replikering för att välja antingen synkron eller traditionell asynkron replikering.

TimescaleDB är ett tillägg till PostgreSQL, som främst specialiserar sig som en relationsdatabas med öppen källkod för tidsseriedata. Även om det finns väldigt få skillnader i hur cmon hanterar TimescaleDB över PostgreSQL, är de flesta, om inte alla, funktioner desamma. Det kan skilja sig åt i versioner som stöds, men hantering och övervakning för båda är desamma.

MongoDB/Percona Server för MongoDB

ClusterControl stöder MongoDB eller Percona Server för MongoDB som en del av NoSQL-familjen av databaser. Båda leverantörerna har inga skillnader i hur det hanteras och övervakas av ClusterControl. Alla funktioner som finns för att möjliggöra NoSQL-stöd av ClusterControl är tillämpliga för båda leverantörerna. Du kan distribuera ett ReplicaSet eller MongoDB Shards med ClusterControl, och det är ganska enkelt att hantera och ställa in.

Automatisk failover med ClusterControl

ClusterControl är byggd för att hantera fel automatiskt utan några ytterligare ändringar från den administrativa sidan. Fel kan komma i form av ett hårdvarufel, datakorruption eller olyckor som att process-ID dödas eller att datakatalogen raderas fysiskt. ClusterControl är byggd med automatiska återställningslägen för kluster- och nodåterställning enligt nedan:

Nodåterställning innebär att ClusterControl kan återställa en databasnod i händelse av intermittent fel genom att övervaka processen och anslutningen till databasnoderna. Processen fungerar på samma sätt som systemd, där den kommer att se till att MySQL-tjänsten startas och körs om du inte avsiktligt stoppade den via ClusterControl UI.

Å andra sidan säkerställer klusteråterställning att ClusterControl förstår databastopologin och följer bästa praxis för att utföra återställningen. För ett databaskluster som kommer med inbyggd feltolerans som Galera Cluster, NDB Cluster och MongoDB Replicaset, kommer failover-processen att utföras automatiskt av databasservern via kvorumberäkning, hjärtslag och rollbyte (om någon). ClusterControl övervakar processen och gör nödvändiga justeringar av visualiseringen som att reflektera ändringarna under Topologivyn och justera övervaknings- och hanteringskomponenten för den nya rollen, t.ex. ny primär nod i en replikuppsättning.

Om du vill läsa mer om denna process, gör det här.

Se till att din infrastruktur är säker

Säkerhet är också en av de viktigaste aspekterna av att köra en databas. Oavsett om du är en utvecklare eller en DBA, är det ditt ansvar att skydda dina data och skydda dem från obehörig åtkomst om du hanterar databaser.

Att hålla dina databaser säkra kräver uppmärksamhet på detaljer och en förståelse för kryptering, både under transport och i vila. Vissa industrier hålls till högt ansvarsfulla standarder med heftypalties för underlåtenhet att följa (tänk GDPR och liknande.) 

Istället för att låta dina team konfigurera sina databaser med öppen källkod manuellt, med ClusterControls peka-och-klicka-gränssnitt, kan du distribuera enkelt och säkert för att eliminera mänskliga fel. Den är också utrustad med avancerade säkerhetsfunktioner som ger en hög skyddsnivå till din databasinfrastruktur och håller din data säker.

Skydda dina data

ClusterControl erbjuder ett effektivt och användarvänligt användargränssnitt för att aktivera SSL, vilket automatiserar konfigurationen och konfigureringen av ditt säkra överföringslager. Till exempel, i MySQL-databasvarianter, kan detta placeras under fliken Säkerhet som visas nedan:

 ClusterControl aktiverar SSL/TLS för klient-serverkommunikation och kommunikation inom replikering i ett Galera-baserat replikeringskluster som visas i skärmdumpen ovan. ClusterControl erbjuder även avancerade säkerhetskopieringsfunktioner som låter dig aktivera kryptering i vila som visas på skärmdumpen nedan:

 

FotoförfattareFotobeskrivning

Databasautomatisering med ClusterControl

Automatiska skript krävs inte heller när du har ClusterControl. Till exempel, i ClusterControl, kan säkerhetskopior skapas och köras i farten och man kan också skapa en säkerhetskopieringspolicy och schemalägga en säkerhetskopiering så att den körs automatiskt. Så här fungerar det:

Varje åtgärd utlöser ett jobb i applikationens bakgrund, och du kommer att meddelas när jobbet är klart. Till exempel, baserat på säkerhetskopian som vi utlöste tidigare, kommer vi att se att när det här jobbet är klart kommer ett larm att utlösas och levereras på lämpligt sätt via e-post eller via ditt integrerade aviseringssystem från tredje part. Detta beror på dina inställningar inom ClusterControl. I exemplet på skärmdumpen nedan låter vi ClusterControl utlösa larmet när det meddelar dig om en lyckad säkerhetskopiering som kördes via dess automatiska miljömekanism.

Slutsats

ClusterControl gör det effektivt och enkelt att hantera stora databaser och miljöer med hjälp av flera databastekniker. Även om ClusterControl är monolitiskt, erbjuder det många fördelar och stöder olika typer av arkitekturer eftersom det kan köras via moln eller containermiljöer. Testa ClusterControl gratis i 30 dagar idag så ses vi nästa gång.


  1. Skillnad mellan Redis AOF och Tarantool WAL-logg

  2. Finns det någon gräns för antalet argument som redis-kommandon som ZADD eller HMGET kan hantera?

  3. Nodejs prestandaoptimering

  4. Mongodb lås insamling tills flaggan sätts?