Inlåsning av leverantörer definieras som "Proprietär inlåsning eller kundlåsning, vilket gör en kund beroende av en leverantör för sina produkter och tjänster; oförmögen att använda en annan leverantör utan betydande kostnad" ( wikipedia). Onekligen för många mjukvaruföretag som skulle vara den önskade affärsmodellen. Men är det bra för deras kunder?
Proprietära databaser har bra stöd för migrering från andra populära databasprogramvarulösningar. Men det skulle bara orsaka en annan leverantörslåsning. Är det då öppen källkod en lösning?
På grund av begränsningar valde öppen källkod för många år sedan dyra databaslösningar. Tyvärr var öppen källkod inte ett alternativ för många.
I själva verket har databasen med öppen källkod under åren fått Enterprise-stöd och mognad för att köra kritiska och komplexa datatransaktionssystem.
Med den nya versionen har databasen som Percona och MariaDB lagt till några fantastiska nya funktioner, antingen kompatibilitet eller företagsbehov som 24/7 support, säkerhet, revision, klustring, online backup eller snabb återställning. Allt som gjorde migreringsprocessen mer tillgänglig än någonsin tidigare.
Migrering kan vara ett klokt drag hur det än medför risker. Oavsett om du planerar att migrera från proprietär till öppen supportmigrering manuellt eller med hjälp av ett kommersiellt verktyg för att automatisera hela migreringsprocessen, behöver du känna till alla möjliga flaskhalsar och metoder som är involverade i processen och valideringen av resultaten.
Att ändra databassystemet är också ett utmärkt tillfälle att överväga ytterligare risker för inlåsning av leverantörer. Under migreringsprocessen kan du tänka på hur du ska undvika att bli låst med viss teknik. I den här artikeln kommer vi att fokusera på några ledande aspekter av leverantörslåsning av MySQL och MariaDB.
Undvika inlåsning för databasövervakning
Användare av databaser med öppen källkod måste ofta använda en blandning av verktyg och egenutvecklade skript för att övervaka sina produktionsdatabasmiljöer. Men även om man har sina egna hemmagjorda skript i lösningen är det svårt att underhålla det och hålla jämna steg med nya databasfunktioner.
Förhoppningsvis finns det många intressanta gratis övervakningsverktyg för MySQL/MariaDB. De mest DBA-rekommenderade gratisverktygen är PMM, Zabbix, ClusterControl Community Edition, Nagios MySQL-plugin. Även om PMM och ClusterControl är dedikerade databaslösningar.
Percona Monitoring and Management (PMM) är en helt öppen källkodslösning för hantering av MySQL-plattformsprestanda och justering av frågeprestanda. PMM är en lokal lösning som behåller all din prestanda och frågedata inom gränserna för din miljö. Du hittar PMM-demon under länken nedan.
Traditionella serverövervakningsverktyg är inte byggda för moderna distribuerade databasarkitekturer. De flesta produktionsdatabaser körs idag med hög tillgänglighet - från enklare master-slave-replikering till multi-master-kluster med redundanta lastbalanserare. Driftsteam hanterar dussintals, ofta hundratals tjänster som utgör databasmiljön.
Att ha flera databassystem innebär att din organisation blir mer flexibel på utvecklingssidan och tillåter valet för utvecklarna, men det kräver också ytterligare kunskap på driftsidan. Att utöka din infrastruktur från endast MySQL till att distribuera andra lagringsbackends som MongoDB och PostgreSQL, innebär att du också måste övervaka, hantera och skala dem. Eftersom varje lagringsbackend utmärker sig vid olika användningsfall betyder det också att du måste uppfinna hjulet på nytt för var och en av dem.
ClusterControl designades för att hantera moderna, högdistribuerade databasinställningar baserade på replikering eller klustring. Den visar statusen för hela klusterlösningen, men den kan användas mycket för en enda instans. ClusterControl kommer att visa dig många avancerade mätvärden men du kan också hitta inbyggda rådgivare som hjälper dig att förstå dem. Du hittar ClusterControl-demon under länken nedan.
Undvika inlåsning för databassäkerhetskopieringslösningar
Det finns flera sätt att ta säkerhetskopior, men vilken metod passar dina specifika behov? Hur implementerar jag punktåterställning?
Om du migrerar från Oracle eller SQL Server vill vi rekommendera ditt xtrabackup-verktyg från Percona eller liknande mariabackup från Mark.
Percona XtraBackup är den mest populära, öppen källkod, MySQL/MariaDB hot backup-programvara som utför icke-blockerande säkerhetskopieringar för InnoDB- och XtraDB-databaser. Den faller inom kategorin fysisk säkerhetskopiering, som består av exakta kopior av MySQL-datakatalogen och filer under den.
XtraBackup låser inte din databas under säkerhetskopieringsprocessen. För stora databaser (100+ GB) ger det mycket bättre återställningstid jämfört med mysqldump. Återställningsprocessen involverar att förbereda MySQL-data från säkerhetskopiorna, innan den ersätts eller byts ut mot den aktuella datakatalogen på målnoden.
Undvika inlåsning för databas med hög tillgänglighet och skalbarhet
Det sägs att om du inte designar för att misslyckas så är du på väg mot en krasch. Hur skapar man ett databassystem från grunden för att motstå fel? Detta kan vara en utmaning eftersom misslyckanden sker på många olika sätt, ibland på sätt som skulle vara svåra att föreställa sig. Det är en konsekvens av komplexiteten i dagens databasmiljöer.
Klustring är en dyr funktion i databaser som Oracle och SQL Server. Det kräver extra licenser.
Galera Cluster är ett vanligt alternativ för MySQL och MariaDB med hög tillgänglighet. Och även om det har etablerat sig som en trovärdig ersättning för traditionella MySQL master-slave-arkitekturer, är det inte en drop-in ersättare.
Galera Cluster är en synkron aktiv-aktiv databasklustringsteknik för MySQL och MariaDB. Galera Cluster skiljer sig från det som kallas Oracles MySQL Cluster - NDB. MariaDB-klustret är baserat på multi-master replikeringsplugin som tillhandahålls av Codership.
Medan Galera-klustret har vissa egenskaper som gör det olämpligt för specifika användningsfall, kan de flesta applikationer fortfarande anpassas för att köras på det.
Fördelarna är tydliga:multi-master InnoDB-installation med inbyggd failover och lässkalbarhet.
Undvika inlåsning för databasbelastningsbalansering
Proxies är byggstenar i högtillgänglighetsinställningar för MySQL. De kan upptäcka misslyckade noder och dirigera frågor till värdar som fortfarande är tillgängliga. Om din herre misslyckades och du var tvungen att marknadsföra en av dina slavar, kommer proxyservrar att upptäcka sådana topologiförändringar och dirigera din trafik därefter.
Mer avancerade proxyservrar kan göra mycket mer, till exempel dirigera trafik baserat på exakta frågeregler, cache-förfrågningar eller spegla dem. De kan till och med användas för att implementera olika typer av skärning.
De mest användbara är ProxySQL, HAproxy, MaxScale (begränsad gratis användning).
Undvika inlåsning vid migrering till molnet
Under de senaste tio åren har många företag gått över till molnbaserad teknik för att undvika budgetbegränsningar för datacenter och agil mjukvaruutveckling. Att använda molnet gör det möjligt för ditt företag och dina applikationer att dra nytta av kostnadsbesparingarna och mångsidigheten som har sitt ursprung i cloud computing.
Medan molnlösningar erbjuder företag många fördelar, innebär det fortfarande vissa risker. Till exempel är leverantörslåsningen lika hög i molnet som i datacentret.
I takt med att fler företag kör sina arbetsbelastningar i molnet, används molndatabastjänster i allt högre grad för att hantera data. En av fördelarna med att använda en molndatabastjänst istället för att underhålla din databas är att det minskar administrationskostnaderna. Databastjänster från de ledande molnleverantörerna delar många likheter, men de har individuella egenskaper som kan göra dem väl eller dåligt lämpade för din arbetsbelastning.
The Database Hosting Hybrid Model
I takt med att fler företag flyttar till molnet, blir hybridmodellen faktiskt mer populär. Hybridmodellen ses som en säker modell för många företag.
I själva verket är det utmanande att göra en hjärttransplantation och flytta över allt omedelbart. Många företag gör en långsam migrering som vanligtvis tar ett år eller till och med kanske en evighet tills allt är migrerat. Flytten bör göras i en acceptabel fred.
Hybridmodellen låter dig inte bara bygga ett skalbart system med hög tillgänglighet utan är på grund av sin natur ett utmärkt första steg för att undvika inlåsning. Genom arkitekturdesign kommer dina system att fungera i ett slags blandat läge.
Ett exempel på sådana arkitekturer kan vara ett kluster som fungerar i husets datacenter och dess kopia ligger i molnet.
Slutsats
Att migrera från en egen databas till öppen källkod kan ge flera fördelar:lägre ägandekostnad, tillgång till och användning av en databasmotor med öppen källkod, tät integration med webben. Öppen källkod har många att erbjuda och är på grund av dess natur ett utmärkt alternativ för att undvika inlåsning av leverantörer.