Zowel mirroring als replicatie zijn voordelig en verhogen de beschikbaarheid en prestaties van de gegevens of database.
Vergelijkingstabel
Basis voor vergelijking | mirroring | kopiëren |
---|---|---|
basis- | Creëren van een databasekopie op een andere locatie (machine). | Oprichting van gegevens- en databaseobjecten om de distributieactiviteiten te verbeteren. |
Uitgevoerd op | Database | Alleen gegevens- en database-objecten |
Gelegen op | Verschillende machine | Verschillende database |
Kosten | Erg duur | Goedkoop |
Gedistribueerde database | Geen voorziening voor gedistribueerde databaseondersteuning | Ondersteunt gedistribueerde database |
Definitie van mirroring
Mirroring is het genereren van meerdere kopieën van databases en wordt ook wel shadowing genoemd . Deze databasekopie bevindt zich meestal op een andere machine. Als een primaire server crasht of wordt gebruikt voor onderhoud, kan het systeem op dat moment automatisch failoveren naar de gespiegelde database. Op elk willekeurig moment is slechts één exemplaar toegankelijk.
De nauwe koppeling tussen de primaire database en de gespiegelde database wordt tot stand gebracht met behulp van het verzenden van blokken van het transactielogboek naar de gespiegelde database. In het geval van een storing, is het ook in staat om de gegevens te herstellen door het van de ene naar de andere database te kopiëren. Wanneer een failover plaatsvindt, wordt de mirror-database de hoofddatabase.
Mirroring omvat het opnieuw uitvoeren van de update, invoegen en verwijderen van bewerkingen die zijn vastgelegd in een primaire database on-to-mirrored database zonder enige vertraging. In een volledig beveiligde modus kan een transactie pas worden vastgelegd nadat de logboekrecords voor de transactie de schijf op de mirror hebben gemaakt. Mirroring ondersteunt geen gedistribueerde database.
Definitie van replicatie
Replicatie is het proces van het creëren van distribuerende redundante gegevens en database-objecten in verschillende databases om de beschikbaarheid van de gegevens te verbeteren. Het is in staat om de bedrijfsgegevens van geografisch verspreide sites op te rollen en de gegevens te verspreiden naar externe gebruikers op lokale netwerken of internet. Het verhoogt de uitvoering van de parallelle commando's.
In Microsoft SQL-server is de uitgever een entiteit die de gegevens voor replicatie levert aan andere servers. De abonnee is een server die gewoonlijk de gerepliceerde gegevens van een uitgever ontvangt.
Er zijn drie soorten opties beschikbaar in de Microsoft SQL-server voor replicatie: Snapshot-replicatie, transactie-replicatie en replicatie samenvoegen.
- Snapshot-replicatie kopieert de gegevens- en database-objecten op dezelfde manier als ze in een oogwenk verschijnen.
- Transactiereplicatie genereert een eerste momentopname van de gegevens naar de abonnee, waarna de incrementele modificatie ervan naar de abonnee wordt verzonden als een afzonderlijk proces. Er zijn twee replicatieprocessen gedefinieerd onder transactionele replicatie, namelijk logreaderagent en distributiemiddel. De voormalige proceslogreaderagent leest de transacties uit het databasetransactielogboek, past een optioneel filter toe en slaat deze op in een distributiedatabase, die lijkt op een wachtrij ondersteunende winkel en voorwaarts mechanisme van transactionele replicatie. De laatste procesverdelingsagent stuurt de wijzigingen naar elke abonnee door.
- Door replicatie samen te voegen, kan elke replica zelfregulerend zijn, ongeacht of deze online of offline is. Wanneer een wijziging wordt doorgevoerd in de metagegevens van het gepubliceerde object, wordt deze teruggeleid naar het einde van de abonnee en de uitgever. Het repliceert het exemplaar van gegevens- en databaseobjecten niet.
De gegevens kunnen worden gerepliceerd met behulp van databasetriggers met behulp van een aantal specifieke hulpmiddelen. De gespecialiseerde opgeslagen procedure in de database signaleert de replicerende agent om de wijzigingen vast te leggen en te transporteren. Replicatie kan ook worden gebruikt met databasespiegeling, die een distributeur moet hebben.
Belangrijkste verschillen tussen mirroring en replicatie
- Mirroring omvat de duplicatie van een database die op verschillende computers is opgeslagen, waarbij de oorspronkelijke database de primaire database is en de gekopieerde database een mirror is. Aan de andere kant is replicatie de duplicatie van gegevens en databaseobjecten die op de andere locatie zijn opgeslagen om de prestaties van de distributiedatabase te verbeteren.
- Mirroring wordt uitgevoerd op de database, terwijl replicatie wordt geïmplementeerd op gegevens- en database-objecten.
- De spiegeldatabase is meestal te vinden in de andere machine vanuit de primaire database. Daar tegenover staan de gerepliceerde gegevens en database-objecten in een andere database.
- Het spiegelen van database kost meer dan replicatie.
- Mirroring ondersteunt geen gedistribueerde omgeving terwijl replicatie werd bedacht voor de gedistribueerde database.
Conclusie
Spiegeling en replicatie zijn de methoden die helpen bij het improviseren van de beschikbaarheid, betrouwbaarheid en prestaties van de gegevens. Spiegelen heeft echter betrekking op overbodige kopieën van een database, terwijl replicatie de duplicatie van gegevens en databaseobjecten omvat, zoals tabellen, opgeslagen procedures, door de gebruiker gedefinieerde functies, weergaven, gematerialiseerde weergaven, enzovoort.