Heim Backend-Entwicklung XML/RSS-Tutorial Die XML-Datenabfragetechnologie ist heutzutage zu einem heißen Forschungsthema geworden.

Die XML-Datenabfragetechnologie ist heutzutage zu einem heißen Forschungsthema geworden.

Feb 13, 2017 pm 03:49 PM

XML (Extensible Markup Language) ist zum Standard für die Datendarstellung und den Datenaustausch in Webanwendungen geworden. Mit der rasanten Entwicklung des Internets, insbesondere der weit verbreiteten Nutzung von E-Commerce, Webdiensten und anderen Anwendungen, haben Daten vom Typ XML stark zugenommen zur aktuellen Mainstream-Datenform werden. Daher ist die XML-Datenverwaltungstechnologie, insbesondere die XML-Datenabfragetechnologie, zu einem aktuellen Forschungsschwerpunkt geworden.


Im Vergleich zu relationalen Daten hat XML verschiedene Vorteile, sein größter Nachteil ist jedoch seine Effizienz. Denn in einer relationalen Datendatei muss der Feldname der Daten nur einmal vorkommen, während in der XML-Datendatei der Elementname wiederholt vorkommt, was sich definitiv auf die Effizienz der Abfrage auswirkt. Um die Abfrageeffizienz von XML so weit wie möglich zu verbessern, ist es notwendig, eine Indexierungsfunktion für den XML-Typ bereitzustellen.


Das World Wide Web Consortium hat am 23. Januar 2007 XPath2.0 und XQuery1.0 als empfohlene Standards identifiziert und damit den vorherigen Wettbewerb zwischen verschiedenen Abfragesprachen beendet. Basierend auf diesem Standard haben neben traditionellen Herstellern auch verschiedene wissenschaftliche Forschungseinrichtungen Implementierungen von XPath und XQuery (in der Literatur werden mehr als ein Dutzend erwähnt) mit unterschiedlichen Speichermodellen, unterschiedlichen Abfragealgorithmen und Optimierungsmethoden vorgeschlagen In diesem Zusammenhang hat die Dameng Database Company auch ein eigenes XML-Abfrage-Engine-Modell vorgeschlagen, das auf ihrer eigenen Entwicklungsstrategie basiert. Derzeit befindet sich die XML-Abfrage-Engine von Dameng in intensiver Entwicklung, und die Einrichtung effektiver Indizes für XML-Daten ist ein wichtiger Faktor Datenabfrageleistung. Basierend auf einer eingehenden Analyse der Indexierungstechnologie bestehender Datenbankprodukte wird eine sinnvollere Indexstruktur für die XML-Abfrage-Engine von Dameng entworfen, damit die Engine eine optimale Leistung erzielen kann.


Einführung in die XML-Indexierungstechnologie


Derzeit gliedert sich die Forschung zu XML hauptsächlich in zwei Aspekte. Eine davon ist eine native Datenbank für die Speicherung, Abfrage und Verwaltung halbstrukturierter Daten wie XML. Die Daten und Metadaten werden vollständig in XML-Strukturen ausgedrückt und haben nichts mit dem zugrunde liegenden Datenspeicherformat (wie Objektmodell, relationales Modell) zu tun , usw.). Das andere ist die gegenseitige Konvertierung zwischen ihr und der relationalen Datenbank, wobei die ausgereifte Technologie der relationalen Datenbank zur Verarbeitung von XML-Daten verwendet wird. Da die letztere Richtung eine größere praktische Bedeutung hat, ist sie zum Schwerpunkt der XML-Forschung geworden.


Neben der Speicherlösung ist auch die Indizierungstechnologie einer der wichtigsten Faktoren bei der Bestimmung eines Datenbanksystems. Wenn für XML-Dokumente keine Indexstruktur erstellt wird, führt jede Abfrage nach XML-Daten wahrscheinlich dazu, dass der gesamte Dokumentbaum durchlaufen wird. Mit zunehmendem XML-Datensatz ist dieser Mehraufwand nicht tolerierbar. Daher ist die Forschung zur XML-Indextechnologie von hohem theoretischen und praktischen Wert.


Obwohl die traditionelle Indexierungstechnologie nach langfristiger Akkumulation relativ ausgereift ist, basiert diese Art der Indexierungstechnologie hauptsächlich auf Werten (und nicht auf Mustern mit bestimmten Beziehungen). Die Funktion zum Auffinden von Datensätzen achtet nicht besonders auf die logische Beziehung zwischen Datensätzen. Die grundlegende Funktion der XML-Datenabfrage besteht darin, Daten zu extrahieren, die dem Muster entsprechen, basierend auf der Eingabe von Mustermerkmalen (strukturelle Beziehungen, die in Form von Regelmäßigkeiten beschrieben werden). Daher besteht der Hauptinhalt der Indizierung in XML darin, Techniken zu entwerfen, die für den Mustervergleich geeignet sind.


XML-Indexklassifizierung


Pfadbasierter XML-Index


Der pfadbasierte Index basiert auf den Pfadinformationen von Knoten in der XML-Baumstruktur und verwendet eine bestimmte Reduktionsmethode, sodass die reduzierte Baumstruktur nur unterschiedliche Pfadinformationen beibehält und es keine zwei Dateien mit demselben Pfad gibt . Knoten. Zu den vorgeschlagenen Indizes gehören: DataGuides-Index, Index Fabric-Index, Adaptive Path Index für XML-Daten (APEX)


Der Dataguides-Index ist eine strukturelle Zusammenfassung des verfeinerten Pfadanfangs vom Wurzelknoten. Die durch die Verkettung von Kantenbeschriftungen gebildeten Zeichenfolgenpfade werden in den Datenleitfäden nur einmal beschrieben. Datenführer reduzieren die Anzahl der erforderlichen Knoten beim Durchlaufen von Pfadabfragen und sind beim Durchlaufen von XML-Dokumenten vom Stamm aus effizient. Allerdings erfordern Pfadabfragen, die Platzhalterzeichen enthalten, oder Pfadabfragen mit der im XPath-Standard definierten Nachkommen-oder-Selbst-Achse mehrere Verbindungsvorgänge, was zu einer geringen Abfrageeffizienz und Datenredundanz führt.


Schreiben Sie dann die Java-Objektdatei TestLob.java über diese beiden großen Felder und definieren Sie den Typ als CLOB- und BLOB-Attributfelder als String- bzw. Byte[]-Typen, sofern erforderlich to CLOB verarbeitet große Texttypen und entspricht daher dem String-Typ in Java. BLOB verarbeitet einige große Dateien, die nicht streng definiert sind und in einem binären Stream-Format gespeichert werden. Lassen Sie ihn daher den Typ byte [] verwenden und definieren Sie ihn Getter dieser beiden Attribute bzw. Setter-Methode, der relevante Code lautet wie folgt:


Der Dataguides-Index ist eine strukturelle Zusammenfassung des verfeinerten Pfads ausgehend vom Wurzelknoten. Die durch die Verkettung von Kantenbeschriftungen gebildeten Zeichenfolgenpfade werden in den Datenleitfäden nur einmal beschrieben. Datenführer reduzieren die Anzahl der erforderlichen Knoten beim Durchlaufen von Pfadabfragen und sind beim Durchlaufen von XML-Dokumenten vom Stamm aus effizient. Allerdings erfordern Pfadabfragen, die Platzhalterzeichen enthalten, oder Pfadabfragen mit der im XPath-Standard definierten Nachkommen-oder-Selbst-Achse mehrere Verbindungsvorgänge, was zu einer geringen Abfrageeffizienz und Datenredundanz führt.


Index Fabric ist eine auf dem Patricia Trie-Baum entwickelte Indexstruktur. Sie codiert jeden Markierungspfad zu jedem Elementknoten und fügt diese codierten Werte dann in den Patricia Trie-Baum ein XML-Daten entsprechend dem Pfad in der Abfrage der Zeichenfolge. Codieren Sie bei der Abfrage zunächst den Abfragepfad in eine Zeichenfolgenform und durchsuchen Sie ihn dann im Indexbaum. Der Vorteil des Index Fabric-Index besteht darin, dass er die hierarchischen Strukturinformationen von XML-Daten speichert, den Abruf von XML-Daten mit Schema- und schemalosen Informationen einheitlich handhabt und den Zeitaufwand für die Abfrage und Aktualisierung von XML-Daten im Zusammenhang mit der Hierarchie verringert Die Länge des Indexschlüssels hängt damit zusammen. Der Nachteil des Index Fabric-Index besteht darin, dass die strukturelle Beziehung zwischen Elementknoten verloren geht, da nur die Informationen von Elementknoten mit Textwerten gespeichert werden. Aus diesem Grund sind Index Fabric-Indizes, ähnlich wie DataGuides-Indizes, nicht effizient bei der Verarbeitung von Teilübereinstimmungsabfrageausdrücken mit Nachkommen-oder-Selbst-Achsen, die im XPath-Standard


definiert sind. APEX [14] führt Informationen ein, die von der Verteilung von XML-Datenabfragen abhängen: Label-Knoten, die häufig vorkommenden XML-Abfrageanweisungen entsprechen, werden vorab in einer Hash-Struktur gespeichert. Seine Funktion ähnelt der Funktion von Cache: Wenn eine neue Abfrage verarbeitet werden muss, durchsucht es zunächst die Hash-Tabelle, um festzustellen, ob ein zufriedenstellender Knotensatz vorhanden ist. Für Abfrageausdrücke mit Elementwerten oder Attributwerten ist es jedoch weniger effizient.


Knotenbasierter Index


Knotenbasierter Index zerlegt XML-Daten im Wesentlichen in Dateneinheiten. Datensatzerfassung und -speicherung die Standortinformationen der Einheit in den XML-Daten im Datensatz. Im Gegensatz zu pfadbasierten Indizes durchbrechen knotenbasierte Indizes die Einschränkung, dass Knoten über Etikettenpfade gefunden werden müssen, und zerlegen XML-Daten in kanonischer Form in Knotendatensätze. Da er die Standortinformationen von Knoten speichert und sich gut in ausgereifte relationale Datenbankverwaltungssysteme integrieren lässt, ist er derzeit der am weitesten verbreitete Index.


Je nach den verschiedenen Kodierungsmethoden von Standortinformationen können knotenbasierte Indizes im Allgemeinen in die folgenden Kategorien unterteilt werden:


1. Präfixbasierter Index


Der präfixbasierte Index ist hauptsächlich ein Index, der auf der Kodierung von Dewey[12] im Dokument [13] basiert. verwendet ebenfalls eine ähnliche Methode und bietet eine Methode zum Komprimieren von ORDPATH, die auf die Indexorganisation von SQL Server 2005 angewendet wurde.



Die Grundidee der Präfixkodierung besteht darin, die Kodierung des übergeordneten Knotens eines Knotens direkt als Präfix der Knotenkodierung zu verwenden Um zu bestimmen, ob ein Knoten v ein Nachkomme eines anderen Knotens u ist, muss für die Präfixkodierung einfach ermittelt werden, ob der Code von u das Präfix des Codes von v ist. Eine wichtige Eigenschaft von Präfix-Kodierungsindizes ist ihre Wörterbuchreihenfolge: Für jeden Knoten u im Teilbaum mit Wurzel am Knoten r ist seine Präfix-Kodierung c(u) größer (kleiner als) sein linker Geschwister-Teilbaum (rechter Geschwister-Teilbaum). Die Präfix-Kodierung aller Knoten in . Daher können präfixbasierte Indizes nicht nur die Berechnung von Einschlussbeziehungen, sondern auch die Berechnung von Dokumentpositionsbeziehungen effektiv unterstützen.


2. Index basierend auf Intervallcodierung


Für den Intervallcodierungsindex ist jeder Knoten im Baum T angegeben ein Intervallcode [Anfang, Ende], der Folgendes erfüllt: Der Intervallcode eines Knotens enthält den Intervallcode seiner Nachkommenknoten. Mit anderen Worten: Knoten u im Baum T ist genau dann der Vorfahre von Knoten v, wenn Start (u)


Das erste Intervallcodierungsschema ist die Dietz-Codierung. Jedem Knoten im Baum T wird eine Durchlaufsequenznummer vor der Bestellung und eine Durchlaufsequenznummer nach der Bestellung zugewiesen. Da ein Vorfahrenknoten u im Baum T vor (nach) seinem Nachkommenknoten v in der Durchquerung vor der Bestellung (Durchquerung nach der Bestellung) erscheinen muss, sind die Knoten u und v Vorfahren/Nachkommen-Beziehungen, wenn PRe(u)


Ein weiteres typisches Beispiel für einen intervallcodierten Index ist der XISS-Index, der jedem Knoten ein Zahlenpaar zuweist, wobei die Reihenfolge erweitert wird. Vorbestellungscodierung, Größe ist der Bereich der Nachkommen des Knotens. Für alle Knoten X und Y in einem Dokumentbaum gilt genau dann, wenn order(x)


XISS-Index die ursprüngliche Abfrageanweisung in Unterausdrücke zerlegt. Implementieren Sie dann die Abfrage für diese Unterausdrücke und verknüpfen Sie schließlich diese Zwischenergebnisse, um den Abfrageergebnissatz zu erhalten. Dadurch können Abfrageanweisungen mit Platzhalterzeichen besser unterstützt werden. Das endgültige Abfrageergebnis wird jedoch nach der Verkettung der einzelnen Zwischenergebnisse erhalten. Obwohl eine solche Methode tatsächlich alle Wildcard-Probleme lösen kann, dürfte die Verkettung solcher Zwischenergebnisse insbesondere bei einfachen Ausdrücken mit langen Pfaden sehr zeitaufwändig sein.


Vergleich zweier Indizierungsmechanismen


Die pfadbasierte Indizierung basiert hauptsächlich auf der Strategie der Knotenverschmelzung durch Knoten usw. Mit Techniken wie Valenz und Pfadäquivalenz können wir eine Indexstruktur erhalten, die viel kleiner ist als das Originaldokument. Ihre Struktur ist immer noch baumförmig, sodass wir bei der Verarbeitung von Abfragen grundsätzlich immer noch den gesamten Index durchlaufen müssen Baum, um die Ergebnisse zu erhalten. Pfadbasierte Indizes können einfache Pfadausdrucksabfragen sehr gut unterstützen, bei regulären Pfadausdrücken funktioniert dies jedoch nicht sehr gut.


Knotenbasierter Index indiziert jeden Knoten durch Kodierung. Die strukturelle Beziehung zwischen Knoten kann durch Kodierung in konstanter Zeit bestimmt werden. Er kann reguläre Pfadausdrücke gut unterstützen, insbesondere wenn die Abfrage viele Zwischenergebnisse liefert , der Join-Vorgang des Knotenindex ist teuer.


Pfadbasierte Indizierung und knotenbasierte Indizierung haben jeweils ihre eigenen Vor- und Nachteile, können sich jedoch gegenseitig ergänzen. Derzeit wird die knotenbasierte Indizierung in praktischen Anwendungen häufiger verwendet und die Forschung ist relativ ausgereift. Daher konzentriert sich die Forschung der Dameng Company zur XML-Indexstruktur hauptsächlich auf die knotenbasierte Indizierung und führt entsprechende Verbesserungen in Bezug auf die pfadbasierte Indizierung durch .

Das Obige ist der Inhalt der XML-Datenabfragetechnologie, der heute zu einem heißen Forschungsthema geworden ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Kann ich eine XML-Datei mit PowerPoint öffnen? Kann ich eine XML-Datei mit PowerPoint öffnen? Feb 19, 2024 pm 09:06 PM

Können XML-Dateien mit PPT geöffnet werden? XML, Extensible Markup Language (Extensible Markup Language), ist eine universelle Auszeichnungssprache, die häufig im Datenaustausch und in der Datenspeicherung verwendet wird. Im Vergleich zu HTML ist XML flexibler und kann eigene Tags und Datenstrukturen definieren, wodurch die Speicherung und der Austausch von Daten komfortabler und einheitlicher werden. PPT oder PowerPoint ist eine von Microsoft entwickelte Software zum Erstellen von Präsentationen. Es bietet eine umfassende Möglichkeit

Verwendung von Python zum Zusammenführen und Deduplizieren von XML-Daten Verwendung von Python zum Zusammenführen und Deduplizieren von XML-Daten Aug 07, 2023 am 11:33 AM

Verwenden von Python zum Zusammenführen und Deduplizieren von XML-Daten XML (eXtensibleMarkupLanguage) ist eine Auszeichnungssprache, die zum Speichern und Übertragen von Daten verwendet wird. Bei der Verarbeitung von XML-Daten müssen wir manchmal mehrere XML-Dateien zu einer zusammenführen oder doppelte Daten entfernen. In diesem Artikel wird erläutert, wie Sie mit Python die Zusammenführung und Deduplizierung von XML-Daten implementieren und entsprechende Codebeispiele angeben. 1. XML-Daten zusammenführen Wenn wir mehrere XML-Dateien haben, müssen wir sie zusammenführen

XML-Daten mit Python filtern und sortieren XML-Daten mit Python filtern und sortieren Aug 07, 2023 pm 04:17 PM

Implementieren des Filterns und Sortierens von XML-Daten mit Python Einführung: XML ist ein häufig verwendetes Datenaustauschformat, das Daten in Form von Tags und Attributen speichert. Bei der Verarbeitung von XML-Daten müssen wir die Daten häufig filtern und sortieren. Python bietet viele nützliche Tools und Bibliotheken zum Verarbeiten von XML-Daten. In diesem Artikel wird erläutert, wie Sie mit Python XML-Daten filtern und sortieren. Lesen der XML-Datei Bevor wir beginnen, müssen wir die XML-Datei lesen. Python verfügt über viele XML-Verarbeitungsbibliotheken.

Konvertieren Sie XML-Daten in Python in das CSV-Format Konvertieren Sie XML-Daten in Python in das CSV-Format Aug 11, 2023 pm 07:41 PM

Konvertieren Sie XML-Daten in Python in das CSV-Format. XML (ExtensibleMarkupLanguage) ist eine erweiterbare Auszeichnungssprache, die häufig zur Datenspeicherung und -übertragung verwendet wird. CSV (CommaSeparatedValues) ist ein durch Kommas getrenntes Textdateiformat, das häufig für den Datenimport und -export verwendet wird. Bei der Datenverarbeitung ist es manchmal erforderlich, XML-Daten zur einfachen Analyse und Verarbeitung in das CSV-Format zu konvertieren. Python ist mächtig

Python implementiert die Konvertierung zwischen XML und JSON Python implementiert die Konvertierung zwischen XML und JSON Aug 07, 2023 pm 07:10 PM

Python implementiert die Konvertierung zwischen XML und JSON. Einführung: Im täglichen Entwicklungsprozess müssen wir häufig Daten zwischen verschiedenen Formaten konvertieren. XML und JSON sind gängige Datenaustauschformate. In Python können wir verschiedene Bibliotheken zum Konvertieren zwischen XML und JSON verwenden. In diesem Artikel werden mehrere häufig verwendete Methoden mit Codebeispielen vorgestellt. 1. Um XML in Python in JSON zu konvertieren, können wir das Modul xml.etree.ElementTree verwenden

Behandeln von Fehlern und Ausnahmen in XML mit Python Behandeln von Fehlern und Ausnahmen in XML mit Python Aug 08, 2023 pm 12:25 PM

Behandeln von Fehlern und Ausnahmen in XML mit Python XML ist ein häufig verwendetes Datenformat zum Speichern und Darstellen strukturierter Daten. Wenn wir Python zum Verarbeiten von XML verwenden, können manchmal Fehler und Ausnahmen auftreten. In diesem Artikel werde ich die Verwendung von Python zur Behandlung von Fehlern und Ausnahmen in XML vorstellen und einige Beispielcodes als Referenz bereitstellen. Verwenden Sie Try-Exception-Anweisungen, um XML-Parsing-Fehler abzufangen. Wenn wir Python zum Parsen von XML verwenden, können manchmal Fehler auftreten

Python analysiert Sonderzeichen und Escape-Sequenzen in XML Python analysiert Sonderzeichen und Escape-Sequenzen in XML Aug 08, 2023 pm 12:46 PM

Python analysiert Sonderzeichen und Escape-Sequenzen in XML. XML (eXtensibleMarkupLanguage) ist ein häufig verwendetes Datenaustauschformat, das zum Übertragen und Speichern von Daten zwischen verschiedenen Systemen verwendet wird. Bei der Verarbeitung von XML-Dateien kommt es häufig vor, dass Sonderzeichen und Escape-Sequenzen enthalten sind, die zu Analysefehlern oder einer Fehlinterpretation der Daten führen können. Daher müssen wir beim Parsen von XML-Dateien mit Python verstehen, wie mit diesen Sonderzeichen und Escape-Sequenzen umgegangen wird. 1. Sonderzeichen und

Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung Oct 09, 2023 pm 06:15 PM

Für den Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung sind spezifische Codebeispiele erforderlich. In der modernen Softwareentwicklung sind XML und JSON zwei weit verbreitete Datenformate. XML (Extensible Markup Language) ist eine Auszeichnungssprache zum Speichern und Übertragen von Daten, während JSON (JavaScript Object Notation) ein leichtes Datenaustauschformat ist. Bei der C#-Entwicklung müssen wir häufig XML- und JSON-Daten verarbeiten und verarbeiten. Dieser Artikel konzentriert sich auf die Verwendung von C# zum Verarbeiten und Anhängen dieser beiden Datenformate

See all articles