Unterschied zwischen transaktionalen und nicht-transaktionalen
Einfach erklärt: Was ist der Unterschied zwischen "Transactional" und "Non-Transactional"?
In meinem Fall kam ich mit dieser Frage beim Lesen der folgenden definition für "MDM":
"In computing, master data management" (MDM) umfasst eine Gruppe von
Prozesse und Instrumente, die konsequent definiert und verwaltet die
nicht-Transaktions-Daten der Entitäten einer Organisation (u. A.
Referenz-Daten)."
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, der beste Weg zu verstehen, den Unterschied zwischen Transaktionalen und Nicht-Transaktionalen Daten wird durch Beispiele
Non -Transactional (Diese Informationen sind relevant für Unternehmen, die für längere Dauer als Transaktions-Daten).
Transaktions - (Hat einer Zeit-Dimension und wird zu historischen, sobald die Transaktion abgeschlossen ist)
Beim sammeln und wickeln eine Reihe von Operationen in einem, dann wird Ihre Gruppe von Operationen sind atomic und alle sub-Betrieb scheitern wird am Ende mit einem rollback des ganzen, die macht der Satz von Operationen, zuverlässig. Die Eigenschaft dieser Art der Struktur der Operationen aufgerufen werden, wie Transaktions -.
Ein Beispiel zu geben, über einen Transaktion;
Denken, Sie haben eine Datenbank, die den Umgang mit Kunden, Bestellungen, Zahlungen und Fakturierung Sachen, so dass die Daten sehr wichtig. Sie bieten ein web-ui und web-ui aufruft, business-Paket, Klassen und Methoden. Und diese Methoden auch nach Absolvierung der bi-job aufrufen, wird der dao (steht für data access object) Klassen, um Sie zu verarbeiten crud Operationen. Also die backend-server aufbauen mit einer n-tier-Anwendungs-Modell und es gibt dom Objekte (steht für domain object model), überträgt die Daten auf beide Arten von service-Endpunkt in die Datenbank hoch und runter.
Auf ein Szenario, dass der Benutzer aktualisieren möchte, ein paar Infos lassen Sie sagen, Telefonnummer, Zahlungsart und die Kreditkarte. Während die server-Aktualisierung drei von diesen Daten, was ist, wenn ein problem auf Sie? Lassen Sie uns sagen, die Art der Bezahlung und Telefon numer ist aktualisiert, aber beim Update der Kreditkarte, ist ein Fehler aufgetreten? Sie wird am Ende der Tag oder Monat mit einem erfolglosen Versuch der Abrechnung.
Aber wenn Sie haben einen Mechanismus eingebaut, der die wickeln alle info-updates in ein info-update Gruppe, dann auf jeden Fall der Fehler, der gesamten Aktualisierung wird ein Rollback ausgeführt. Dies ist ein Beispiel für eine Transaktion.
Wenn es keine Transaktion Mechanismus, lassen Sie sagen, Sie halten alle Informationen über eine benutzerdefinierte Datei, die Sie mit den io-Mechanismus, dann Ihre Anwendung haben, um alle möglichen Fehler-Szenario.
für weitere Informationen sollten Sie Kasse diese nützlichen wikipedia-Artikel;
Grundsätzlich eine Transaktion eine oder mehr hinzufügen, aktualisieren, löschen, ändern, änderungen an der Datenbank müssen alle abgeschlossen sein, oder keiner der Schritte, die ausgeführt werden soll. Transaktionale Datenbanken sind nützlich, wenn die Integrität der Daten wichtig ist. Wenn einer der Schritte in der Transaktion fehl, so müssen die Schritte sein, ein Rollback auf den Zustand, wo es keine änderung an der Datenbank.
Ein Beispiel, wenn Sie brauchen würde, eine Transaktion, wenn Sie eine banking-Transaktion, um das bewegen von Geld von einem Konto auf ein anderes. Die Transaktion besteht aus zwei Aktionen.
1) Nehmen Sie Geld vom Konto Eines
2) Legen Sie das Geld in Konto B
Wenn Sie nicht, um Geld vom Konto Ein, dann wird die Transaktion fehlschlägt und keine kein Geld mehr vom Konto Ein und kein Geld ist platziert in Konto B
Wenn Sie erfolgreich entfernen Geld von Konto A, aber nicht das Geld auf Konto B, dann wird die Transaktion fehlschlägt und die Transaktion muss zurückgesetzt werden, so dass das Geld nicht entnommen Konto A.
Nur, wenn die kein Geld mehr vom Konto EIN UND Hinzugefügt, Konto B hat die Transaktion ein commit der änderungen an der Datenbank.
Hier ist ein link zu einem Codebeispiel für die Verwendung der SQLTransaction-Objekt zum starten einer Transaktion, commit und Rollback bei Fehler:
https://stackoverflow.com/a/21285747/311749
Einen nicht-transaktionalen Datenbank würde wahrscheinlich haben eine bessere Leistung, da Sie nicht haben, um sorgen über die änderungen rückgängig. Die einzelnen Daten werden in den nicht-transaktionalen Datenbank kann nicht verlangen, Transaktions-Verarbeitung, als würde die Verwaltung von Geld zwischen Bankkonten.
Beispiele für mögliche, nicht-transaktionale Listen beinhalten:
Kunden-Listen, Kontaktinformationen, information der Lieferanten -, Standort-Listen und Stücklisten.
Master Data Services wurde entwickelt, um die Unterstützung von nicht-Transaktions-Daten, die Sie freigeben möchten, mit mehreren Anwendungen.
Zum Beispiel, möchten Sie vielleicht die Verwendung eines einzelnen master-Liste der Firma, Kontaktinformationen und machen Sie zugänglich für andere Anwendungen. Wenn Sie viele Anwendungen, die diese Informationen, das ist viel besser als zu versuchen, pflegen einen unterschiedlichen Kontakt-Liste für jede Anwendung.
Zusätzliche Quellen:
https://en.wikipedia.org/wiki/Database_transaction
https://dba.stackexchange.com/questions/17246/diff-in-transactional-and-non-transactional-tables
Wenn es heißt " non-transactional, ich glaube, es bedeutet, dass die Daten nicht direkt zugegriffen OLTP (Online Transaction Processing) - Systeme, es ist gespeichert auf einem zentralen repository, wurden alle Systeme-feed aus-und post-updates, einmal alle X Stunden (auf einem vorbestimmten Intervall)
TRANSAKTIONS-in gemeinsamen Worten bedeutet dies, dass die DATEN, die in einer TRANSAKTION Prozess, zum Beispiel, wenn Sie sich registrieren, verkaufen oder ticket.