Arbeitsauslastungsübergreifende Tabellenwartung und Optimierung in Microsoft Fabric

Delta-Tabellen in Microsoft Fabric können Spark, SQL Analytics Endpoint, Power BI Direct Lake, Warehouse und andere Fabric-Erfahrungen aus in OneLake gespeicherten Daten bereitstellen. Die optimale Leistung zwischen Arbeitslasten hängt von zwei Faktoren ab:

  • Der Workload, der die Tabelle erstellt und verwaltet.
  • Die Motoren, die den Tisch verschlingen.

Lakehouse-Tabellen werden üblicherweise von Spark, Fabric pipeline Copy-Aktivität oder Dataflow Gen2 verwaltet. Spark ist das am häufigsten verwendete Schreibmodul und bietet die umfassendsten Steuerungsmöglichkeiten für Layout und Wartung. Lager- und Datenbankspiegelung verwalten ihre physischen Layouts automatisch. Gespiegelte Kataloge behalten das im Quellcode verwaltete Layout bei. Verbraucheranforderungen sind im Allgemeinen kompatibel, aber Power BI Direct Lake hat zusätzliche Speicheranforderungen für optimale Leistung.

Verwenden Sie eine geteilte Tabelle, wann immer deren Anforderungen kompatibel sind. Für die Ausnahmen, die eine andere Tabelle rechtfertigen, siehe Wann eine weitere Tabelle erstellt werden soll.

Verstehen Sie den Eigentümer des Layouts

Ermitteln Sie zunächst, welcher Workload für das physische Tabellenlayout verantwortlich ist. Die in der folgenden Tabelle enthaltenen Steuerungen sind die wichtigsten Steuerungen, die für das Layout und die Wartung der Arbeitslasttabelle relevant sind, nicht eine vollständige Liste der Fähigkeiten jedes Triebwerks.

Datenspeicher Schreiber- oder Erfassungsmethode Layout- und Wartungsverantwortung Tastensteuerelemente
Lakehouse Spark Vom Benutzer verwaltet Dateigröße: adaptive Ziel-Dateigröße und Datei-Level-Verdichtungsziele.
Schreiben und Wartung: Löschvektoren, automatische Verdichtung, SchreiboptimierungOPTIMIZE und VACUUM.
Datenorganisation: Flüssigkeitsclustering, Partitionierung, Z-Ordnung und V-Ordnung.
Lakehouse Fabric-Pipeline-Kopieraktivität oder Dataflow Gen2 Der Dienst schreibt die Daten; der Besitzer des Lakehouse verwaltet die Tabelle Zielspezifische Schreibeinstellungen. Führen Sie kompatible Wartungen separat durch Spark, Lakehouse-Wartung oder eine Pipeline-Wartungsaktivität durch.
Lagerhalle Fabric Data Warehouse, Fabric-Pipeline-Kopieraktivität oder Dataflow Gen2 Lagerverwaltet Datengruppierung und die V-Order-Einstellung auf Warehouse-Ebene.
Gespiegeltes Element Spiegelungsdienst Das hängt vom Spiegelungstyp ab Datenbankspiegelung verwendet ein systemverwaltetes V-Ordered Delta-Layout ohne direkte Layoutsteuerungen. Gespiegelte Kataloge behalten das Quelldatei-Layout bei, das man im Quellcodesystem optimieren kann, wenn es unterstützt wird.

Workloadübergreifender Leitfaden

Die folgende Tabelle fasst den empfohlenen Ansatz von Produzent und Verbraucher zusammen.

Producer Consumer Empfohlener Ansatz
Lakehouse: Spark-Autor Spark Verwenden Sie Fabric Spark Laufzeit 2.0 oder neuere Standardeinstellungen und aktivieren Sie die automatische Kompaktierung. Ziehen Sie Liquid Clustering in Betracht, wenn ausgewertete Prädikate von einem verbesserten Überspringen von Dateien profitieren.
Lakehouse: Spark-Schreiber SQL-Analyseendpunkt Verwende das gleiche Layout, das für Spark empfohlen wird. Setze keine statische Ziel-Dateigröße, beliebige Zeilenbegrenzung oder V-Order ausschließlich für die Leistung des SQL-Analytics-Endpunkts.
Lakehouse: Spark-Autor Power BI Direct Lake Verwenden Sie dasselbe Layout, das für Spark empfohlen wird, und aktivieren Sie zusätzlich V-Order oder verwenden Sie das readHeavyForPBI Ressourcenprofil.
Lakehouse: Fabric Pipeline oder Dataflow Gen2-Schreibmodul Spark, SQL Analytics Endpoint oder Power BI Direct Lake Überwachen Sie die resultierende Dateistruktur und planen Sie kompatible Lakehouse-Wartung separat. Einige Zielmodi, wie die inkrementelle Aktualisierung in Dataflow Gen2, unterliegen Wartungseinschränkungen.
Lagerhalle Fabric Data Warehouse oder Spark Verwenden Sie das systemverwaltete Layout. Fabric Data Warehouse verwaltet automatisch Verdichtung und andere Wartungsarbeiten. Verwenden Sie Datenclustering, um das Dateiüberspringen bei Workloads mit wiederkehrenden selektiven Prädikaten zu verbessern.
Lagerhalle Power BI Direct Lake Behalte die Standardeinstellung Warehouse V-Order. Verwenden Sie Datenclustering, wenn es gemeinsamen Abfragemustern zugutekommt.
Spiegelung Spark, SQL Analytics Endpoint oder Power BI Direct Lake Für Datenbankspiegelung verwenden Sie das systemverwaltete V-Ordered Delta-Layout. Für gespiegelte Kataloge optimieren Sie die zugrunde liegenden Dateien im Quellcodesystem, wenn sie unterstützt werden. Sieh mal: Was ist Mirroring in Fabric?.

Lakehouse-Tabellen optimieren

Lakehouse-Delta-Tabellen erfordern eine explizite Wartungsstrategie, unabhängig davon, ob Spark, Pipeline Copy-Aktivität oder Dataflow Gen2 sie schreibt. Spark ist das Hauptbeispiel in diesem Abschnitt, da es die umfassendsten Layout- und Wartungskontrollen in Fabric bietet.

Von Bedeutung

Die Tabellenpflege ist entscheidend für eine optimale Schreib- und Leseleistung über Engines hinweg. Selbst Append-only-Workloads, die anfangs ohne Wartung gut funktionieren, können übermäßig kleine Dateien ansammeln, was Spark, SQL-Analytics-Endpunkt, Direct Lake und externe Datenleser betrifft. Siehe Komprimierung von Delta-Tabellen für automatische und manuelle Komprimierungsmethoden.

Verwenden Sie die Spark-Laufzeit-Standardeinstellungen

Wenn Spark die Tabelle schreibt, verwenden Sie die Standardeinstellungen von Fabric Spark Runtime 2.0 oder neuer:

  • Halte die adaptive Ziel-Dateigröße aktiviert. Es wählt automatisch ein Ziel für jede Tabelle von 128 MB bis 1 GB.
  • Halte Datei-Kompressionsziele aktiviert, um das Umschreiben von Dateien zu vermeiden, die ein früheres adaptives Ziel erreicht haben.
  • Löschvektoren aktiviert lassen.
  • Erzwingen Sie keine willkürliche maximale Zeilenanzahl pro Datei. Die Zeilenbreite variiert, daher kann eine Zeilenbegrenzung zu übermäßig kleinen Dateien für schmale Tabellen führen.

In Fabric Spark Laufzeit 1.3 stehen adaptive Ziel-Dateigröße, Datei-Kompressionsziele und Löschvektoren als Opt-in-Einstellungen zur Verfügung.

Wenn Pipeline Copy-Aktivität oder Dataflow Gen2 die Tabelle schreibt, inspizieren Sie das resultierende Dateilayout und planen Sie die Wartung separat. Gehen Sie nicht davon aus, dass diese Autoren Spark-Laufzeit-Standardwerte anwenden.

Von Bedeutung

Dataflow Gen2 Lakehouse-Ziele, die inkrementelle Aktualisierung verwenden, unterstützen OPTIMIZE und REORG TABLE nicht. Beachten Sie die Einschränkungen für die inkrementelle Aktualisierung von Dataflow Gen2.

Kleine Dateien verhindern und komprimieren

Für von Spark geschriebene Tabellen bevorzugen Sie die automatische Verdichtung. Diese Funktion bewertet die Tabellenfragmentierung nach dem Schreiben und führt Verdichtung nur bei Bedarf aus. Dadurch entfällt die Notwendigkeit einer separaten Prüfung des Tabellenzustands vor Wartungsläufen.

Verwenden Sie folgende Leitlinien für Ausnahmen und ergänzende Merkmale:

Scenario Empfohlener Ansatz
mit Spark geschriebene Tabelle Aktivieren Sie die automatische Verdichtung als Standard-Wartungsstrategie.
Streaming- oder Mikrobatch-Schreibvorgänge Automatische Verdichtung aktivieren und den Schreib optimieren , um die Akkumulation kleiner Dateien zu reduzieren.
Workloads mit strengen Anforderungen an die Schreiblatenz OPTIMIZE separat planen, anstatt die synchrone automatische Komprimierung auszuführen.
Bestehende Tabelle mit angesammelten kleinen Dateien Führe eine einmalige OPTIMIZEAktion aus und aktiviere dann die automatische Verdichtung für die laufende Wartung.
Tabellen mit häufigen Aktualisierungen, Löschungen oder Zusammenführungen Löschvektoren und automatische Verdichtung aktivieren.

OPTIMIZE kompaktiert Dateien und löscht automatisch die Löschvektoren einer Datei, wenn mehr als 5% ihrer Datensätze durch Löschvektoren referenziert werden. Verwenden REORG TABLE ... APPLY (PURGE) Sie nur, wenn Sie Unterlagen unterhalb dieser Schwelle physisch löschen oder eine bestimmte Compliance-Anforderung erfüllen müssen.

Note

Automatische Verdichtung entfernt Löschvektoren nur, wenn die Partition auch den Schwellenwert für kleine Dateien erfüllt. Wenn eine Arbeitslast Aktualisierungen oder Löschungen ohne Generierung kleiner Dateien durchführt, wird OPTIMIZE periodisch durchgeführt, um qualifizierte Löschvektoren zu löschen. Verwende REORG TABLE ... APPLY (PURGE), wenn du eine physische Bereinigung erzwingen musst.

Führe VACUUM nach einem separaten Zeitplan aus, um nicht referenzierte Dateien nach Ablauf der Aufbewahrungsfrist zu entfernen. VACUUM Gibt Speicherplatz frei, verbessert aber nicht das Layout der aktiven Datei.

Warning

Verkürze die VACUUM Aufbewahrungszeit nicht, ohne die Anforderungen an Zeitreisen sowie gleichzeitige Leser oder Autoren zu berücksichtigen. Zu frühes Entfernen von Dateien kann dazu führen, dass erforderliche Tabellenversionen nicht mehr verfügbar sind.

Organisieren Sie Daten für Dateiüberspringen

Verwenden Sie liquid clustering, wenn wiederkehrende Filter- oder Verarbeitungsmuster von einem verbesserten Überspringen von Dateien profitieren. Tabellen mit Liquid Clustering erfordern OPTIMIZEoder automatische Komprimierung, um neu geschriebene Daten zu organisieren.

Vermeiden Sie standardmäßig das Partitionieren. Verwenden Sie es, wenn eine spezifische Anforderung die operativen Kompromisse rechtfertigt, wie zum Beispiel die Isolierung gleichzeitiger Autoren, die Daten über getrennte Partitionen hinweg aktualisieren, löschen oder zusammenführen. Weitere Informationen finden Sie unter Wann Partitionierung verwendet werden sollte.

Für bestehende partitionierte Tabellen betrachten wir Z-Ordnung , wenn selektive Prädikate häufig auf denselben Spalten innerhalb einer Partition filtern.

Für Lagerverwaltung verwaltete Tabellen optimieren

Fabric Data Warehouse verwaltet das physische Delta-Tabellenlayout unabhängig von der Aufnahmemethode.

Nutzen Sie die strategischen Steuerungen, die Warehouse bereitstellt, um das Datenlayout zu optimieren:

  • Wenden Sie Daten-Clusterung auf große Tabellen an, wenn Abfragen wiederholt selektive Prädikate für dieselben Spalten verwenden.
  • Halte V-Order für leseorientierte und gemischte Arbeitslasten aktiviert. V-Order ist standardmäßig aktiviert.
  • Erwägen Sie, V-Order für schreibintensive Lagerlasten zu deaktivieren.

Warning

Das Deaktivieren von V-Order ist eine Operation auf Lagerebene und irreversibel. Teste die gesamte Lese- und Schreibarbeit, bevor du sie deaktivierst.

Für vollständige Lageranleitungen siehe Leistungsrichtlinien in Fabric Data Warehouse.

Spiegelnde Daten optimieren

Deine Fähigkeit, das physische Layout zu verbessern, hängt davon ab, ob Fabric die Daten repliziert oder Quelldateien referenziert:

  • Datenbankspiegelung: Fabric repliziert Quelldaten in Delta-Tabellen in OneLake und verwaltet die V-Order-Dateianordnung und die Wartung. Man kann die Zieldateigröße, die Löschvektor-Bereinigung, das Liquid Clustering, die Partitionierung oder die V-Order nicht direkt auf dem gespiegelten Ziel konfigurieren.
  • Gespiegelte Kataloge: Fabric synchronisiert Metadaten und verwendet OneLake-Verknüpfungen, um auf die vorhandenen Quelldaten zu referenzieren. Fabric schreibt diese Dateien weder neu noch pflegt es sie. Verbessern Sie das physische Layout und die Bereinigung im Quellsystem, wenn es die unterstützten Funktionen erlauben. Diese Änderungen sind durch die Abkürzungen sichtbar, ohne eine weitere Kopie in Fabric zu erstellen.

Für datenbankgespiegelte Daten:

  • Verwenden Sie selektive Prädikate und vermeiden Sie unnötige Spalten in Spark und SQL-Abfragen.
  • Entwerfen Sie Power BI semantische Modelle und DAX-Messungen für effizienten Direct Lake-Verbrauch.

Für gespiegelte Kataloge:

  • Nutzen Sie die unterstützten Tabellenpflege- und Layoutfunktionen der Quellplattform.
  • Bewerten Sie die Quelldatei und die Verteilung der Zeilengruppen für die Fabric-Consumer, die die Verknüpfungen abfragen.
  • Für Direct Lake sollte geprüft werden, ob eine zusätzliche dimensional modellierte V-geordnete Bereitstellungsschicht erstellt werden sollte, wenn das Quelllayout die Leistungsanforderungen nicht erfüllen kann.

Für das Spiegeln von Konzepten, Typen und unterstützten Quellen siehe Was ist Spiegelung in Fabric? und Wie Metadaten-Spiegelung funktioniert.

Anwendung verbraucherspezifischer Optimierung

Spark und der SQL-Analytics-Endpunkt funktionieren gut auf demselben adaptiven Lakehouse-Layout. Verwenden Sie adaptive Zieldateigröße, vermeiden Sie übermäßig kleine Dateien und wenden Sie Liquid Clustering an, wenn gemessene Prädikate von einem verbesserten Überspringen von Dateien profitieren. Aktivieren Sie V-Order nicht nur für die Leistung von Spark- oder SQL-Analytics-Endpunkten. Für enginespezifische Details siehe SQL Analytics Endpoint Performance Considerations.

Power BI Direct Lake

Direct Lake verwendet dieselben zugrundeliegenden Delta-Tabellen, fügt aber Empfehlungen zu Transkodierung und inkrementeller Framing hinzu:

  • Datei- und Zeilengruppenlayout: Vermeiden Sie kleine Zeilengruppen und ungleichmäßige Reihengruppenverteilung, dies erzeugt mehr VertiPaq-Spaltensegmente und erhöht den Transcoding-Overhead.
  • V-Order: Folgen Sie der herstellerspezifischen Empfehlung in der Cross-Workload-Richtlinie. Für von Spark geschriebene Tabellen, die hauptsächlich über Direct Lake verbraucht werden, aktivieren Sie V-Order oder verwenden Sie das readHeavyForPBI Ressourcenprofil.
  • Update-Muster: Nach Möglichkeit anhangfreundliche Update-Muster bevorzugen, um bestehende Parquet-Dateien zu erhalten und inkrementelles Framing zu unterstützen.

Note

Direct Lake liefert im Allgemeinen die beste Leistung bei Zeilengruppen zwischen 1 und 16 Millionen Zeilen. Bewerten Sie die Reihengruppenverteilung und die Direct Lake-Leistung, bevor Sie eine unterstützte Produzenteneinstellung ändern.

Für von Spark geschriebene Tabellen legt spark.sql.parquet.native.writer.maxRowGroupRowCount die maximale Anzahl von Zeilen pro Zeilengruppe fest, wenn die native Ausführungs-Engine die Parquet-Dateien schreibt. Der Standardwert ist 0, was kein Maximum festlegt. Wenn die Analyse zeigt, dass die Reihengruppengröße die Leistung von Direct Lake beeinflusst, setzen Sie vor dem Schreiben oder Neuschreiben der Tabelle ein getestetes Limit. Zum Beispiel:

spark.conf.set("spark.sql.parquet.native.writer.maxRowGroupRowCount", 8_000_000)

Setze das Limit nicht nur, um eine bestimmte Zeilenanzahl zu erreichen. Zeilenbreite, Kompression, Dateiverteilung und Kapazitätsparallelität beeinflussen ebenfalls die Leistung. Verwenden Sie Delta Analyzer, um das resultierende Layout zu bewerten.

Für detaillierte Anleitungen zu Framing, Transcoding, Zeilengruppen, Aktualisierungsmustern und Delta Analyzer siehe Understand Direct Lake Query Performance.

Wenden Sie die Anleitung auf Medaillonschichten an

Bronze, Silber und Gold beschreiben den Zweck und die Verfeinerung der Daten. Sie bestimmen nicht, ob das Layout vom Benutzer verwaltet oder systemverwaltet wird, und sie benötigen keine separaten Kopien für jeden Konsumenten.

Ebene Hauptziel Workloadübergreifender Leitfaden
Bronze (Landung) Quellentreue und Ingestionsdurchsatz erhalten Priorisieren Sie den Schreibdurchsatz, während Sie Spark-geschriebene Tabellen mit automatischer Kompaktierung pflegen. Vermeiden Sie Power BI Direct Lake semantische Modelle auf rohen Bronze-Tabellen, es sei denn, Modell und Datenform sind bewusst für diesen Zweck konzipiert.
Silber (kuratiert) Bereitstellung validierter, konformer Daten zur Wiederverwendung Verwenden Sie den Tisch bei kompatiblen Fabric-Konsumenten wieder. Für von Spark geschriebene Lakehouse-Tabellen aktivieren Sie V-Order nur, wenn Direct Lake der Hauptkonsument ist.
Gold (servierend) Geschäftsreife Dimensionen, Fakten, Aggregate und Analysemodelle bereitstellen Diese Schicht bevorzuge ich für Direct-Lake-semantische Modelle. Verwenden Sie die Tabelle über kompatible Verbraucher hinweg und wenden Sie die in diesem Artikel beschriebenen herstellerspezifischen Kontrollen an.

Layout- und Wartungsprobleme lösen

Verwenden Sie eine auf den Verursacher abgestimmte Problembehebung. Wenden Sie Spark-Wartungsbefehle auf Lakehouse-Tabellen an, wenn der Zielmodus diese Operationen unterstützt. Behandle die Signale als Indikatoren statt als universelle Schwellenwerte und validiere sie anhand des Schreibmusters und der Konsumentenleistung der Tabelle.

Bedingung Signal Lakehouse-Tabelle Lagertisch
Übermäßig kleine Dateien Die Dateianzahl steigt schneller als die aktive Tabellengröße, und Dateien bleiben unterhalb des adaptiven Ziels. Mit Spark führen Sie für das bestehende Backlog einmalig OPTIMIZE aus und aktivieren dann die automatische Kompaktierung. Für Pipeline Copy-Aktivität oder Dataflow Gen2 Writes sollte die unterstützte Wartung des Seehauses separat geplant werden. Keine Aktion. Die Lagerverdichtung erfolgt automatisch.
Legacy-überdimensionierte Dateien Dateien bleiben viel höher als das aktuelle adaptive Ziel, und zu wenige Dateien schränken die Scan-Parallelität ein. Schreiben Sie die Tabelle neu, indem Sie „Überschreiben“ oder CREATE OR REPLACE TABLE AS SELECT mit aktivierter adaptiver Zieldateigröße verwenden. Keine Aktion. Das Warehouse verwaltet die Dateigröße automatisch.
Deletionsvektorakkumulation DESCRIBE HISTORY Metriken zeigen, dass Löschvektoren schneller hinzugefügt oder aktualisiert werden, als die Verdichtung sie entfernt, was potenziell den Leseaufwand erhöht. Lassen Sie die automatische Verdichtung aktiviert. Wenn sich Löschvektoren ansammeln, ohne eine Kompaktierung kleiner Dateien auszulösen, planen Sie OPTIMIZE. Nur für explizite Purge-Anforderungen verwenden REORG TABLE ... APPLY (PURGE) . Keine Aktion. Die Aufräumarbeiten erfolgen systemgesteuert.
Schlechtes Dateiüberspringen Selektive Prädikate scannen einen großen Teil der Tabelle, oder die Clustering-Qualitätsbewertung zeigt eine schlechte Organisation. Mit Spark konfigurieren Sie Liquid Clustering oder verwenden Sie Z-Order für eine bestehende partitionierte Tabelle. Konfigurieren Sie Clustering von Lagerdaten.
Direct Lake-Transkodierungsmehraufwand Delta Analyzer zeigt nach Updates übermäßige Dateien, kleine Zeilengruppen oder breites Retranscoding an. Kompaktiere kleine Dateien, prüfe Zeilengruppen und wende V-Order auf von Spark geschriebene Tabellen an. Optional können Sie Liquid Clustering konfigurieren, um die Kompressionsqualität innerhalb von Parquet-Dateien zu verbessern. Lassen Sie V-Order aktiviert und bewerten Sie die Datengruppierung.
Wachstum der unreferenzierten Dateispeicherung OneLake-Speicher wächst schneller als die aktive Tabellengröße nach datenverändernden Operationen. Führen Sie VACUUM gemäß den Aufbewahrungsanforderungen aus. Keine Aktion. Die Aufräumarbeiten erfolgen systemgesteuert.

Befolgen Sie bei gespiegelten Daten die anbieterspezifischen Abhilfemaßnahmen in Optimize mirrored data. Die Datenbankspiegelung wird systemseitig verwaltet; für gespiegelte Kataloge führen Sie die unterstützten Wartungsmaßnahmen in der Quellplattform durch.

Für Lakehouse-Tische umfassen Spark-unterstützte Inspektionsoptionen:

  • Führen Sie DESCRIBE DETAIL aus, um die Anzahl der Dateien, die Gesamtgröße und die ausgewertete Eigenschaft delta.targetFileSize.adaptive zu überprüfen.
  • Führe DESCRIBE HISTORY aus, um Schreibmuster und Wartungsverlauf zu überprüfen.
  • Verwenden Sie den Delta Analyzer , wenn Sie eine detaillierte Direct Lake Zeilengruppen- und Aktualisierungsmusteranalyse benötigen.

Inspizieren Sie die durchschnittliche Dateigröße

Verwenden Sie DESCRIBE DETAIL, um die durchschnittliche Dateigröße als ersten Indikator für das Tabellenlayout zu berechnen:

details = spark.sql("DESCRIBE DETAIL schema_name.table_name").first()

table_size_gb = details["sizeInBytes"] / (1024**3)
num_files = details["numFiles"]
avg_file_size_mb = (
    details["sizeInBytes"] / num_files / (1024**2)
    if num_files
    else 0
)

print(f"Table size: {table_size_gb:.2f} GB")
print(f"Number of files: {num_files}")
print(f"Average file size: {avg_file_size_mb:.2f} MB")

Ein Durchschnitt kann Ungleichgewichte zwischen Partitionen oder zwischen kürzlich und zuvor kompaktierten Dateien verbergen. Wenn der Durchschnitt auf ein mögliches Layout-Problem hinweist, inspizieren Sie die einzelnen Parquet-Dateien oder verwenden Sie Delta Analyzer, um die Verteilung zu bewerten, bevor Sie die Wartungseinstellungen ändern.

Wann eine weitere Tabelle erstellt wird

Erstelle keine weitere physische Tabelle, nur weil mehrere Fabric-Engines die Daten verbrauchen.

Erstelle eine weitere Tabelle, wenn sie einen eigenständigen Zweck hat, wie zum Beispiel:

  • Eine Transformation oder Aggregation, die die Granularität oder die fachliche Bedeutung der Daten verändert.
  • Unterschiedliche Anforderungen an Sicherheit, Speicherung oder Datenqualität.
  • Eine Latenz- oder Aktualisierungsanforderung, die die geteilte Tabelle nicht erfüllen kann.
  • Ein verbraucherspezifisches Layout, dessen gemessener Nutzen die Kosten für Speicherung, Verarbeitung, Herkunft und Governance überwiegt.