• image
  • http://www.orcan.se/index.php/component/comprofiler/registersBli medlem

Oracle GoldenGate

Flexibel replikering mellan olika  databaser och plattformar

Nu har det snart gått två år sedan Oracle köpte GoldenGate Software. Under denna period har de hunnit trumma upp ett rejält intresse för huvudprodukten och nu tittar många av bolagets största kunder med intresse på paketet.

goldengate GoldenGate erbjuder replikering, vilket i sig inte är märkvärdigt. I synnerhet som Oracle sedan tidigare redan erbjuder flera metoder för att kopiera data mellan miljöer. Advanced Replication har varit med i många år och Streams har blivit allt bättre i senare versioner. Vid sidan av detta har också Data Guard hanterat kopior i säkerhetssyfte.

Men det finns ett problem med alla de gamla lösningarna, de ställer ganska stora krav på den mottagande miljön vad gäller plattformar. I detta avseende är den nya produkten flexiblare. Med GoldenGate kan du till exempel skicka data från Teradata via SQL Server till Oracle – och tillbaks igen. Eller mellan två versioner av samma databas, vilket är perfekt vid uppgraderingar där minimal nertid önskas.

Knepet är att GoldenGate använder sig av speciallösningar för att läsa förändringar i alla system. Oftast handlar det om att läsa transaktionsloggar, men det finns även andra varianter. Men oavsett hur informationen hämtas lagras resultatet i ett eget format. Sedan transporteras data till måldatabasen och appliceras där med det lokala systemets språk.

För nästan alla former av replikering

Denna uppdelade hantering gör det också enkelt att köra nära nog alla typer av replikering med GoldenGate. Du kan använda produkten för att distribuera data till en eller flera mottagare, konsolidera data från olika källor eller låta två databaser vara redo att ta över om den andra skulle fallera. Inte heller är det några problem att bygga långa kedjor och det går även bra att förändra data på vägen eller bara låta en delmängd flöda vidare. Det är, kort sagt, en nära nog heltäckande lösning för att förflytta information.

Så vad kan du använda verktyget till mer praktiskt? Det finns givetvis mängder med olika situationer där det passar riktigt bra. Men också situationer där du istället bör välja en alternativ lösning.

För datalager är GoldenGate idealt, både för att hämta in data och för att skicka ut information till martarna. Eftersom det finns inbyggda funktioner för att manipulera flödet går det dessutom att bygga in delar av ETL-processen i replikeringen. Detta kan snabba upp laddtiderna och minska behovet av dubbellagring.

Uppgradera databasen under drift

Eftersom det går att köra GoldenGate mellan olika versioner kan du också använda verktyget för att uppgradera en databas i drift. Du skapar en klon, lyfter den, startar en replikeringsprocess och pekar om nya användare till den nya instansen. När alla flyttats över stänger du ner den gamla databasen och tar bort datakopieringen.

Vidare går det att använda lösningen för att skicka information till en rapportdatabas. Om du har ett tungt belastat system och en liten datamängd pressas hårt av ett läsande verktyg så kan det vara en god idé att helt enkelt replikera ut de aktuella raderna till en annan miljö. En enkel form av lastbalansering. 

När Golden Gate inte passar…

Du ska däremot inte använda GoldenGate i situationer där du vill spegla en hel miljö i säkerhetssyfte. För detta är Data Guard ett bättre, snabbare och säkrare alternativ. Inte minst om du har krav på att all data går över innan transaktionen ska anses vara klar.
Inte heller ska du använda det för att hantera bulkladdningar av information till ett datalager. Verktyget är inte byggt för att hantera stora datamängder på det sättet. Se hellre GoldenGate som ett komplement till Data Integrator än en ersättare.

Du bör också tänka dig för vad gäller aktiv/aktivuppsättningar. Att ha fulla redigeringsmöjligheter på båda sidorna av en replikering kan orsaka stora problem om konflikter är vanliga. Och det finns tyvärr inga inbyggda lösningar för att hantera dessa. Att inte ens en tidsbaserad variant finns är en klar svaghet. Vill du använda dig av klocka får du förlita dig på applikationen.

Makron ger dig funktioner

För att kunna hantera mer avancerad konflikthantering och filtrering finns ett speciellt makrospråk som fungerar över flera plattformar. Med detta kan du till exempel anropa funktioner som finns inne i databasen.
En väldigt viktig fördel med GoldenGate är att det är ett väldigt enkelt uppbyggt. Trots att det klarar av att hantera mängder med situationer är det bara en handfull processer att hålla reda på. Och när det väl är uppsatt är det lättskött.

Anta att du ska sätta upp en envägsreplikering mellan två databaser. För att detta ska fungera måste du först installera GoldenGate på båda maskinerna. Detta är enkelt gjort och tar bara några minuter för en van administratör.
Nästa steg är att konfigurera och starta upp huvudprocessen, eller Managern, på båda sidor. Denna håller reda på allt som händer och måste vara aktiv för att övriga funktioner ska kunna köra i installationen.

Sedan måste du plocka ut den information från källan som du vill skicka vidare. Detta jobb hanteras av den så kallade Extractprocessen. Du preciserar exakt vad det är du vill ha med dig ut ur databasen. Datat lagras sedan i speciella filer.

Om mottagaren befinner sig på en annan maskin kan du lagra filerna på andra sidan via en utdelad katalog. Men vanligare är att låta GoldenGate sköta transporten av datat. Detta sköts av Datapumpen. Denna kommunicerar med en Collector som lagrar ner allting lokalt. Avslutningsvis ser en Replicatprocess till att allting läses in i den mottagande databasen.

Mer än så behövs faktiskt inte. Det är i och för sig den enklaste uppsättningen, men det blir inte mycket mer komplicerat. Vill du ha hög tillgänglighet ser du bara till att konfigurera en spegelvänd lösning och lägga till konflikthantering. Ska data ut på flera ställen behöver du bara tala om det för pumpprocessen. Grundkomponenterna är desamma.

Många kommer att känna igen sig

Allt detta hanterar du genom att jobba med ett textbaserat verktyg. Är du van vid SQL Plus och RMAN kommer du att känna dig som hemma, även om det är andra kommandona. Givetvis finns hjälpfiler som leder dig rätt.

Själva konfigurationen lagras i form av textfiler. Varje process har sina egna regler och det kan bli ganska komplicerade uppsättningar om du har många databaser som skickar mycket data på flera olika vis. I synnerhet med filter och konflikthantering på plats.

Fel rapporteras både i verktyget och i speciella loggar. Meddelandena är inte alltid helt lättolkade, men i vanlig ordning finns det en hel del hjälp att hämta på Oracles supportsidor. Och i takt med att allt fler använder produkten kommer det också att bli enklare att hitta mer hjälp.

Administration via Enterprise manager på önskelistan

Tyvärr finns det, när detta skrivs, ingen plugin för administration av GoldenGate till Enterprise Manager. Ett sidoverktyg, Director, finns för den som är villig att betala för det. Men det är knöligt att behöva använda ett specialgränssnitt för att administrera en så central programvara. Sannolikt kommer detta att lösa sig i framtida versioner av gridlösningen.

Vill du hålla ner kostnaden eller konfigurera upp lösningen i ett annat verktyg så är det enkelt att skriva OS-skript som jobbar mot GoldenGate, eftersom det är en kommandotolk och textfiler du arbetar med.

Utöver allting vi nämnt ovan finns även en del andra finesser. Du kan till exempel säkra upp kommunikationen med kryptering, göra en initialladdning med GoldenGate och även ångra förändringar med en speciell funktion för tillbakarullning.

Förutom GoldenGate finns dessutom en stor konkurrent på marknaden. Quest Shareplex. Denna produkt är både till arkitektur och funktion är förvillande lik Oracles alternativ. För de flesta handlar valet mer om relationen till leverantören än om produkternas för- och nackdelar.

Funktioner från Advanced Replication och Streams kommer att bakas in i GoldenGate-paketet och på sikt kommer kanske även Data Guard att hamna där. Detta vore riktigt bra. Att bara ha en replikeringslösning för alla behov underlättar såväl administration som licenshantering. Något Oracles kunder garanterat håller med om.

Robert Ilijason

 

Logga in

Orcan – Sveriges Oracle-användarförening