(function() {
  var extra = [
    {
      id: 'dp900-201',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which processing approach is best for continuous sensor telemetry that must trigger alerts within seconds?', de: 'Welcher Verarbeitungsansatz eignet sich am besten für kontinuierliche Sensortelemetrie, die innerhalb von Sekunden Warnungen auslösen muss?' },
      options: [{ id: 'A', text: { en: 'Batch processing', de: 'Batchverarbeitung' } }, { id: 'B', text: { en: 'Stream processing', de: 'Streamverarbeitung' } }, { id: 'C', text: { en: 'Archive retrieval', de: 'Archivabruf' } }, { id: 'D', text: { en: 'Manual export', de: 'Manueller Export' } }],
      correct: ['B'],
      explanation: { en: 'Stream processing handles events as they arrive and supports low-latency reactions. Batch processing waits for a scheduled run.', de: 'Die Streamverarbeitung verarbeitet Ereignisse bei ihrem Eintreffen und unterstützt Reaktionen mit geringer Latenz. Die Batchverarbeitung wartet auf einen geplanten Lauf.' },
      hint: { en: 'Look for immediate processing of incoming events.', de: 'Achten Sie auf die sofortige Verarbeitung eingehender Ereignisse.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/big-data/'
    },
    {
      id: 'dp900-202',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which processing style is most appropriate for calculating payroll once every night from a full day of records?', de: 'Welcher Verarbeitungsstil ist am besten geeignet, um die Lohnabrechnung einmal pro Nacht aus einem vollständigen Tagesbestand von Datensätzen zu berechnen?' },
      options: [{ id: 'A', text: { en: 'Batch processing', de: 'Batchverarbeitung' } }, { id: 'B', text: { en: 'Stream processing', de: 'Streamverarbeitung' } }, { id: 'C', text: { en: 'Graph traversal', de: 'Graphdurchlauf' } }, { id: 'D', text: { en: 'Edge caching', de: 'Edge-Caching' } }],
      correct: ['A'],
      explanation: { en: 'Batch processing is ideal when data is collected over time and processed together on a schedule. Payroll does not require per-event reaction.', de: 'Die Batchverarbeitung ist ideal, wenn Daten über einen Zeitraum gesammelt und gemeinsam nach einem Zeitplan verarbeitet werden. Für die Lohnabrechnung ist keine Reaktion pro Ereignis erforderlich.' },
      hint: { en: 'Think about scheduled processing of a complete data set.', de: 'Denken Sie an die geplante Verarbeitung eines vollständigen Datenbestands.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/big-data/'
    },
    {
      id: 'dp900-203',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which concept requires data to match a predefined structure before it is loaded?', de: 'Welches Konzept erfordert, dass Daten einer vordefinierten Struktur entsprechen, bevor sie geladen werden?' },
      options: [{ id: 'A', text: { en: 'Schema-on-write', de: 'Schema-on-write' } }, { id: 'B', text: { en: 'Schema-on-read', de: 'Schema-on-read' } }, { id: 'C', text: { en: 'Schema drift', de: 'Schema-Drift' } }, { id: 'D', text: { en: 'Data mesh', de: 'Data Mesh' } }],
      correct: ['A'],
      explanation: { en: 'Schema-on-write validates and structures data before storage in the target system. This is common in traditional relational warehouses.', de: 'Schema-on-write validiert und strukturiert Daten vor der Speicherung im Zielsystem. Dies ist in klassischen relationalen Data Warehouses üblich.' },
      hint: { en: 'The schema is enforced before the write occurs.', de: 'Das Schema wird erzwungen, bevor der Schreibvorgang erfolgt.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/data-store-overview'
    },
    {
      id: 'dp900-204',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which concept lets you store raw files first and interpret their structure only when you query them?', de: 'Welches Konzept ermöglicht es, Rohdateien zunächst zu speichern und ihre Struktur erst bei der Abfrage zu interpretieren?' },
      options: [{ id: 'A', text: { en: 'Schema-on-write', de: 'Schema-on-write' } }, { id: 'B', text: { en: 'Schema-on-read', de: 'Schema-on-read' } }, { id: 'C', text: { en: 'Master data management', de: 'Master Data Management' } }, { id: 'D', text: { en: 'Normalization', de: 'Normalisierung' } }],
      correct: ['B'],
      explanation: { en: 'Schema-on-read keeps data in its original form and applies structure when readers access it. This is common in data lakes.', de: 'Schema-on-read belässt Daten in ihrer ursprünglichen Form und wendet Struktur an, wenn Leser darauf zugreifen. Dies ist in Data Lakes üblich.' },
      hint: { en: 'The schema is applied during query time.', de: 'Das Schema wird zur Abfragezeit angewendet.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/data-store-overview'
    },
    {
      id: 'dp900-205',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which approach loads raw data into the target platform before transformations are applied?', de: 'Welcher Ansatz lädt Rohdaten in die Zielplattform, bevor Transformationen angewendet werden?' },
      options: [{ id: 'A', text: { en: 'ETL', de: 'ETL' } }, { id: 'B', text: { en: 'ELT', de: 'ELT' } }, { id: 'C', text: { en: 'CDC', de: 'CDC' } }, { id: 'D', text: { en: 'MDM', de: 'MDM' } }],
      correct: ['B'],
      explanation: { en: 'ELT stands for extract, load, and transform. The target platform performs the transformations after the raw data has been loaded.', de: 'ELT steht für Extract, Load und Transform. Die Zielplattform führt die Transformationen aus, nachdem die Rohdaten geladen wurden.' },
      hint: { en: 'The load happens before the transform step.', de: 'Der Ladevorgang findet vor dem Transformationsschritt statt.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/big-data/'
    },
    {
      id: 'dp900-206',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'What does Change Data Capture track?', de: 'Was verfolgt Change Data Capture?' },
      options: [{ id: 'A', text: { en: 'Only deleted tables', de: 'Nur gelöschte Tabellen' } }, { id: 'B', text: { en: 'Only schema names', de: 'Nur Schemanamen' } }, { id: 'C', text: { en: 'Rows that changed since the previous capture', de: 'Zeilen, die sich seit der vorherigen Erfassung geändert haben' } }, { id: 'D', text: { en: 'Only full snapshots', de: 'Nur vollständige Snapshots' } }],
      correct: ['C'],
      explanation: { en: 'CDC records inserts, updates, and often deletes so downstream systems can process incremental changes. This avoids reading the full data set every time.', de: 'CDC zeichnet Einfügungen, Aktualisierungen und häufig auch Löschungen auf, damit nachgelagerte Systeme inkrementelle Änderungen verarbeiten können. Dadurch muss nicht jedes Mal der gesamte Datenbestand gelesen werden.' },
      hint: { en: 'It focuses on incremental changes, not full reloads.', de: 'Der Fokus liegt auf inkrementellen Änderungen, nicht auf vollständigen Neuladungen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/data-factory/concepts-change-data-capture'
    },
    {
      id: 'dp900-207',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which type of data is best described as values recorded over time in timestamp order?', de: 'Welcher Datentyp lässt sich am besten als im Zeitverlauf in Zeitstempelreihenfolge aufgezeichnete Werte beschreiben?' },
      options: [{ id: 'A', text: { en: 'Master data', de: 'Stammdaten' } }, { id: 'B', text: { en: 'Reference data', de: 'Referenzdaten' } }, { id: 'C', text: { en: 'Time-series data', de: 'Zeitreihendaten' } }, { id: 'D', text: { en: 'Ledger data', de: 'Ledger-Daten' } }],
      correct: ['C'],
      explanation: { en: 'Time-series data stores observations such as temperature, location, or pressure together with timestamps. The sequence in time is important for analysis.', de: 'Zeitreihendaten speichern Beobachtungen wie Temperatur, Standort oder Druck zusammen mit Zeitstempeln. Die zeitliche Reihenfolge ist für die Analyse wichtig.' },
      hint: { en: 'Think of measurements collected repeatedly over time.', de: 'Denken Sie an Messwerte, die wiederholt im Zeitverlauf erfasst werden.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/big-data/'
    },
    {
      id: 'dp900-208',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'What is a key benefit of Delta Lake on a data lake?', de: 'Was ist ein zentraler Vorteil von Delta Lake auf einem Data Lake?' },
      options: [{ id: 'A', text: { en: 'It converts files into graph edges', de: 'Es konvertiert Dateien in Graphkanten' } }, { id: 'B', text: { en: 'It adds ACID transactions to files', de: 'Es fügt Dateien ACID-Transaktionen hinzu' } }, { id: 'C', text: { en: 'It removes the need for partitions', de: 'Es macht Partitionen überflüssig' } }, { id: 'D', text: { en: 'It stores only unstructured images', de: 'Es speichert nur unstrukturierte Bilder' } }],
      correct: ['B'],
      explanation: { en: 'Delta Lake adds a transaction log that brings ACID reliability, consistent reads, and better data management to lake storage. This improves trust in shared data.', de: 'Delta Lake fügt ein Transaktionsprotokoll hinzu, das ACID-Zuverlässigkeit, konsistente Lesevorgänge und besseres Datenmanagement für Lakespeicher bereitstellt. Dadurch steigt das Vertrauen in gemeinsam genutzte Daten.' },
      hint: { en: 'Focus on database-like reliability for files.', de: 'Konzentrieren Sie sich auf datenbankähnliche Zuverlässigkeit für Dateien.' },
      reference: 'https://learn.microsoft.com/en-us/azure/databricks/delta/'
    },
    {
      id: 'dp900-209',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'In a data mesh architecture, who primarily owns a data product?', de: 'Wer besitzt in einer Data-Mesh-Architektur in erster Linie ein Datenprodukt?' },
      options: [{ id: 'A', text: { en: 'A central storage team only', de: 'Ausschließlich ein zentrales Speicherteam' } }, { id: 'B', text: { en: 'The domain team that knows the data', de: 'Das Domänenteam, das die Daten kennt' } }, { id: 'C', text: { en: 'The database engine vendor', de: 'Der Hersteller der Datenbank-Engine' } }, { id: 'D', text: { en: 'Only the security operations team', de: 'Nur das Security-Operations-Team' } }],
      correct: ['B'],
      explanation: { en: 'Data mesh promotes domain-oriented ownership so teams close to the business context manage their own high-quality data products. Governance remains federated across the organization.', de: 'Data Mesh fördert eine domänenorientierte Verantwortung, sodass Teams nahe am Geschäftskontext ihre eigenen hochwertigen Datenprodukte verwalten. Die Governance bleibt organisationsweit föderiert.' },
      hint: { en: 'Think decentralized ownership by business domain.', de: 'Denken Sie an eine dezentrale Verantwortung nach Geschäftsdomänen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/'
    },
    {
      id: 'dp900-210',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'What does schema evolution allow?', de: 'Was ermöglicht Schema Evolution?' },
      options: [{ id: 'A', text: { en: 'Adding compatible schema changes over time', de: 'Das Hinzufügen kompatibler Schemaänderungen im Zeitverlauf' } }, { id: 'B', text: { en: 'Deleting all historical files automatically', de: 'Das automatische Löschen aller historischen Dateien' } }, { id: 'C', text: { en: 'Encrypting every column with one key', de: 'Das Verschlüsseln jeder Spalte mit einem Schlüssel' } }, { id: 'D', text: { en: 'Replacing timestamps with integers', de: 'Das Ersetzen von Zeitstempeln durch Ganzzahlen' } }],
      correct: ['A'],
      explanation: { en: 'Schema evolution lets data structures change in controlled ways, such as adding a nullable column. This is useful when source systems evolve.', de: 'Schema Evolution ermöglicht kontrollierte Änderungen an Datenstrukturen, etwa das Hinzufügen einer nullable Spalte. Das ist nützlich, wenn sich Quellsysteme weiterentwickeln.' },
      hint: { en: 'It supports controlled schema changes rather than static definitions.', de: 'Es unterstützt kontrollierte Schemaänderungen statt statischer Definitionen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/databricks/delta/'
    },
    {
      id: 'dp900-211',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'What is the main goal of Master Data Management?', de: 'Was ist das Hauptziel von Master Data Management?' },
      options: [{ id: 'A', text: { en: 'To store only streaming logs', de: 'Nur Streamingprotokolle zu speichern' } }, { id: 'B', text: { en: 'To create a trusted golden record for core entities', de: 'Einen vertrauenswürdigen Golden Record für zentrale Entitäten zu erstellen' } }, { id: 'C', text: { en: 'To avoid all governance processes', de: 'Alle Governance-Prozesse zu vermeiden' } }, { id: 'D', text: { en: 'To compress files with columnar encoding', de: 'Dateien mit spaltenorientierter Kodierung zu komprimieren' } }],
      correct: ['B'],
      explanation: { en: 'MDM helps organizations maintain consistent, authoritative records for entities such as customers or products across systems. This reduces duplicates and conflicting definitions.', de: 'MDM hilft Organisationen, konsistente und maßgebliche Datensätze für Entitäten wie Kunden oder Produkte systemübergreifend zu pflegen. Dadurch werden Duplikate und widersprüchliche Definitionen reduziert.' },
      hint: { en: 'Think about one trusted version of important business entities.', de: 'Denken Sie an eine vertrauenswürdige Version wichtiger Geschäftsobjekte.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/'
    },
    {
      id: 'dp900-212',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which file format is widely used for columnar storage and analytical queries on large data sets?', de: 'Welches Dateiformat wird häufig für spaltenorientierte Speicherung und analytische Abfragen großer Datenmengen verwendet?' },
      options: [{ id: 'A', text: { en: 'CSV', de: 'CSV' } }, { id: 'B', text: { en: 'TXT', de: 'TXT' } }, { id: 'C', text: { en: 'Parquet', de: 'Parquet' } }, { id: 'D', text: { en: 'BMP', de: 'BMP' } }],
      correct: ['C'],
      explanation: { en: 'Parquet stores data by column, which reduces I/O for analytical workloads and improves compression. It is a common format in modern lakehouse solutions.', de: 'Parquet speichert Daten spaltenweise, was die I/O-Last bei analytischen Workloads reduziert und die Komprimierung verbessert. Es ist ein gängiges Format in modernen Lakehouse-Lösungen.' },
      hint: { en: 'Choose the columnar format commonly used in analytics.', de: 'Wählen Sie das spaltenorientierte Format, das häufig in der Analyse verwendet wird.' },
      reference: 'https://learn.microsoft.com/en-us/azure/synapse-analytics/sql/query-parquet-files'
    },
    {
      id: 'dp900-213',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which role typically defines data quality rules and business meanings for data elements?', de: 'Welche Rolle definiert typischerweise Datenqualitätsregeln und geschäftliche Bedeutungen für Datenelemente?' },
      options: [{ id: 'A', text: { en: 'Data steward', de: 'Data Steward' } }, { id: 'B', text: { en: 'Network operator', de: 'Netzwerkadministrator' } }, { id: 'C', text: { en: 'Help desk agent', de: 'Helpdesk-Mitarbeiter' } }, { id: 'D', text: { en: 'Penetration tester', de: 'Penetrationstester' } }],
      correct: ['A'],
      explanation: { en: 'A data steward helps maintain trusted definitions, quality standards, and governance practices for shared data. The role bridges business and technical teams.', de: 'Ein Data Steward trägt dazu bei, vertrauenswürdige Definitionen, Qualitätsstandards und Governance-Praktiken für gemeinsam genutzte Daten zu pflegen. Die Rolle verbindet Fach- und Technikteams.' },
      hint: { en: 'Think of governance and data quality ownership.', de: 'Denken Sie an Verantwortung für Governance und Datenqualität.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/'
    },
    {
      id: 'dp900-214',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which workload is optimized for many short insert and update operations from concurrent users?', de: 'Welcher Workload ist für viele kurze Einfüge- und Aktualisierungsvorgänge gleichzeitiger Benutzer optimiert?' },
      options: [{ id: 'A', text: { en: 'OLAP', de: 'OLAP' } }, { id: 'B', text: { en: 'OLTP', de: 'OLTP' } }, { id: 'C', text: { en: 'Data mining only', de: 'Nur Data Mining' } }, { id: 'D', text: { en: 'Cold archiving', de: 'Kalte Archivierung' } }],
      correct: ['B'],
      explanation: { en: 'OLTP systems are designed for operational transactions with low latency and high concurrency. They support day-to-day business processes.', de: 'OLTP-Systeme sind für operative Transaktionen mit geringer Latenz und hoher Parallelität ausgelegt. Sie unterstützen tägliche Geschäftsprozesse.' },
      hint: { en: 'Think transactional systems that support live applications.', de: 'Denken Sie an transaktionale Systeme, die Live-Anwendungen unterstützen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/relational-data/online-analytical-processing'
    },
    {
      id: 'dp900-215',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which workload is focused on aggregating historical data for reporting and trend analysis?', de: 'Welcher Workload konzentriert sich auf die Aggregation historischer Daten für Berichte und Trendanalysen?' },
      options: [{ id: 'A', text: { en: 'OLTP', de: 'OLTP' } }, { id: 'B', text: { en: 'Queue processing', de: 'Warteschlangenverarbeitung' } }, { id: 'C', text: { en: 'OLAP', de: 'OLAP' } }, { id: 'D', text: { en: 'Key rotation', de: 'Schlüsselrotation' } }],
      correct: ['C'],
      explanation: { en: 'OLAP systems are optimized for analytical queries across large historical data sets. They support summaries, trends, and business insight.', de: 'OLAP-Systeme sind für analytische Abfragen großer historischer Datenbestände optimiert. Sie unterstützen Zusammenfassungen, Trends und geschäftliche Erkenntnisse.' },
      hint: { en: 'Think analytics over historical and aggregated data.', de: 'Denken Sie an Analysen über historische und aggregierte Daten.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/relational-data/online-analytical-processing'
    },
    {
      id: 'dp900-216',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'A bank wants to score card transactions for fraud before authorizing payment. Which processing pattern should it use?', de: 'Eine Bank möchte Kartentransaktionen vor der Zahlungsfreigabe auf Betrug bewerten. Welches Verarbeitungsmuster sollte sie verwenden?' },
      options: [{ id: 'A', text: { en: 'Monthly batch processing', de: 'Monatliche Batchverarbeitung' } }, { id: 'B', text: { en: 'Nightly ETL only', de: 'Nur nächtliches ETL' } }, { id: 'C', text: { en: 'Stream processing', de: 'Streamverarbeitung' } }, { id: 'D', text: { en: 'Archive rehydration', de: 'Archiv-Rehydrierung' } }],
      correct: ['C'],
      explanation: { en: 'Fraud scoring for live payments requires per-event analysis with very low latency. Stream processing evaluates events continuously as they arrive.', de: 'Die Betrugsbewertung für Live-Zahlungen erfordert eine ereignisbezogene Analyse mit sehr geringer Latenz. Die Streamverarbeitung bewertet Ereignisse fortlaufend beim Eintreffen.' },
      hint: { en: 'The decision must happen before the transaction completes.', de: 'Die Entscheidung muss erfolgen, bevor die Transaktion abgeschlossen ist.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/big-data/'
    },
    {
      id: 'dp900-217',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'A company generates invoices after all daily orders are finalized and validated. Which processing pattern fits best?', de: 'Ein Unternehmen erstellt Rechnungen, nachdem alle täglichen Bestellungen abgeschlossen und validiert wurden. Welches Verarbeitungsmuster passt am besten?' },
      options: [{ id: 'A', text: { en: 'Batch processing', de: 'Batchverarbeitung' } }, { id: 'B', text: { en: 'Graph processing', de: 'Graphverarbeitung' } }, { id: 'C', text: { en: 'Real-time streaming only', de: 'Nur Echtzeitstreaming' } }, { id: 'D', text: { en: 'Static website hosting', de: 'Hosting statischer Websites' } }],
      correct: ['A'],
      explanation: { en: 'When the full set of records is needed and immediate action is not required, batch processing is the better fit. Invoicing often runs on a schedule after business events are complete.', de: 'Wenn der vollständige Datensatz benötigt wird und keine sofortige Aktion erforderlich ist, ist die Batchverarbeitung besser geeignet. Die Rechnungsstellung läuft häufig zeitgesteuert, nachdem Geschäftsvorgänge abgeschlossen sind.' },
      hint: { en: 'The task waits until the business day is complete.', de: 'Die Aufgabe wartet, bis der Geschäftstag abgeschlossen ist.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/big-data/'
    },
    {
      id: 'dp900-218',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'What is the main advantage of schema-on-write for a reporting database?', de: 'Was ist der Hauptvorteil von Schema-on-write für eine Reporting-Datenbank?' },
      options: [{ id: 'A', text: { en: 'It delays validation until every query', de: 'Es verzögert die Validierung bis zu jeder Abfrage' } }, { id: 'B', text: { en: 'It enforces structure before data is stored', de: 'Es erzwingt Struktur, bevor Daten gespeichert werden' } }, { id: 'C', text: { en: 'It eliminates all transformation work', de: 'Es beseitigt jegliche Transformationsarbeit' } }, { id: 'D', text: { en: 'It stores only images and videos', de: 'Es speichert nur Bilder und Videos' } }],
      correct: ['B'],
      explanation: { en: 'Schema-on-write ensures data quality and consistency at ingestion time. This makes downstream reporting more predictable because the structure is already conformed.', de: 'Schema-on-write stellt Datenqualität und Konsistenz bereits bei der Aufnahme sicher. Dadurch wird das nachgelagerte Reporting vorhersehbarer, weil die Struktur bereits vereinheitlicht ist.' },
      hint: { en: 'Choose the option that emphasizes early validation.', de: 'Wählen Sie die Option, die frühe Validierung betont.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/data-store-overview'
    },
    {
      id: 'dp900-219',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'When is schema-on-read usually the better choice?', de: 'Wann ist Schema-on-read in der Regel die bessere Wahl?' },
      options: [{ id: 'A', text: { en: 'When all source structures never change', de: 'Wenn sich alle Quellstrukturen niemals ändern' } }, { id: 'B', text: { en: 'When working with varied semi-structured data and evolving attributes', de: 'Wenn mit unterschiedlichen semistrukturierten Daten und sich entwickelnden Attributen gearbeitet wird' } }, { id: 'C', text: { en: 'When only one transactional table exists', de: 'Wenn nur eine transaktionale Tabelle existiert' } }, { id: 'D', text: { en: 'When data must be rejected unless it is fully normalized', de: 'Wenn Daten abgelehnt werden müssen, sofern sie nicht vollständig normalisiert sind' } }],
      correct: ['B'],
      explanation: { en: 'Schema-on-read provides flexibility for diverse and fast-changing source data. Consumers can interpret the structure they need when they query the data.', de: 'Schema-on-read bietet Flexibilität für vielfältige und sich schnell ändernde Quelldaten. Verbraucher können die benötigte Struktur bei der Abfrage interpretieren.' },
      hint: { en: 'Look for flexibility with changing data structures.', de: 'Achten Sie auf Flexibilität bei sich ändernden Datenstrukturen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/guide/technology-choices/data-store-overview'
    },
    {
      id: 'dp900-220',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'A company wants to cleanse and conform data before loading it into a warehouse with strict quality rules. Which approach should it choose?', de: 'Ein Unternehmen möchte Daten bereinigen und vereinheitlichen, bevor sie in ein Data Warehouse mit strengen Qualitätsregeln geladen werden. Welchen Ansatz sollte es wählen?' },
      options: [{ id: 'A', text: { en: 'ELT', de: 'ELT' } }, { id: 'B', text: { en: 'CDC', de: 'CDC' } }, { id: 'C', text: { en: 'ETL', de: 'ETL' } }, { id: 'D', text: { en: 'Schema drift', de: 'Schema-Drift' } }],
      correct: ['C'],
      explanation: { en: 'ETL performs transformations before the final load, which is useful when the warehouse should receive curated, trusted data. This is common for tightly governed reporting environments.', de: 'ETL führt Transformationen vor dem endgültigen Laden durch, was nützlich ist, wenn das Data Warehouse kuratierte und vertrauenswürdige Daten erhalten soll. Dies ist in stark regulierten Reportingumgebungen üblich.' },
      hint: { en: 'The transformations happen before the load into the target.', de: 'Die Transformationen finden vor dem Laden in das Ziel statt.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/big-data/'
    },
    {
      id: 'dp900-221',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Why is Change Data Capture often preferred over full reloads for incremental pipelines?', de: 'Warum wird Change Data Capture für inkrementelle Pipelines häufig vollständigen Neuladungen vorgezogen?' },
      options: [{ id: 'A', text: { en: 'It always converts relational data to graph data', de: 'Es konvertiert relationale Daten immer in Graphdaten' } }, { id: 'B', text: { en: 'It reads only data that changed, reducing source impact', de: 'Es liest nur geänderte Daten und reduziert die Belastung der Quelle' } }, { id: 'C', text: { en: 'It removes the need for any keys', de: 'Es macht jegliche Schlüssel überflüssig' } }, { id: 'D', text: { en: 'It works only with image files', de: 'Es funktioniert nur mit Bilddateien' } }],
      correct: ['B'],
      explanation: { en: 'CDC captures changes since the last processing cycle, which lowers data movement and reduces the load on source systems. This makes frequent synchronization more efficient.', de: 'CDC erfasst Änderungen seit dem letzten Verarbeitungslauf, wodurch Datenbewegungen reduziert und Quellsysteme entlastet werden. Dadurch wird eine häufige Synchronisierung effizienter.' },
      hint: { en: 'Think about minimizing reads from the source system.', de: 'Denken Sie daran, Lesezugriffe auf das Quellsystem zu minimieren.' },
      reference: 'https://learn.microsoft.com/en-us/azure/data-factory/concepts-change-data-capture'
    },
    {
      id: 'dp900-222',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which Delta Lake component enables reliable ACID behavior over files in a lake?', de: 'Welche Komponente von Delta Lake ermöglicht zuverlässiges ACID-Verhalten über Dateien in einem Lake?' },
      options: [{ id: 'A', text: { en: 'A transaction log', de: 'Ein Transaktionsprotokoll' } }, { id: 'B', text: { en: 'A static website endpoint', de: 'Ein Endpunkt für statische Websites' } }, { id: 'C', text: { en: 'A consumer group', de: 'Eine Consumergruppe' } }, { id: 'D', text: { en: 'A serverless tier', de: 'Ein serverloser Tarif' } }],
      correct: ['A'],
      explanation: { en: 'Delta Lake uses a transaction log to record changes and coordinate consistent reads and writes. This adds database-style reliability to file-based storage.', de: 'Delta Lake verwendet ein Transaktionsprotokoll, um Änderungen aufzuzeichnen und konsistente Lese- und Schreibvorgänge zu koordinieren. Dadurch erhält dateibasierter Speicher eine datenbankähnliche Zuverlässigkeit.' },
      hint: { en: 'Look for the metadata structure that records file changes.', de: 'Achten Sie auf die Metadatenstruktur, die Dateiänderungen aufzeichnet.' },
      reference: 'https://learn.microsoft.com/en-us/azure/databricks/delta/'
    },
    {
      id: 'dp900-223',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which statement best describes governance in a data mesh?', de: 'Welche Aussage beschreibt Governance in einem Data Mesh am besten?' },
      options: [{ id: 'A', text: { en: 'Every team uses data without any standards', de: 'Jedes Team nutzt Daten ohne Standards' } }, { id: 'B', text: { en: 'A single central team owns every data product permanently', de: 'Ein einziges zentrales Team besitzt dauerhaft jedes Datenprodukt' } }, { id: 'C', text: { en: 'Domain teams own data products under federated governance', de: 'Domänenteams besitzen Datenprodukte unter föderierter Governance' } }, { id: 'D', text: { en: 'Governance applies only to archived data', de: 'Governance gilt nur für archivierte Daten' } }],
      correct: ['C'],
      explanation: { en: 'Data mesh balances decentralized ownership with shared standards and guardrails. This is often called federated computational governance.', de: 'Data Mesh verbindet dezentrale Verantwortung mit gemeinsamen Standards und Leitplanken. Dies wird häufig als föderierte computergestützte Governance bezeichnet.' },
      hint: { en: 'Think decentralized ownership with shared rules.', de: 'Denken Sie an dezentrale Verantwortung mit gemeinsamen Regeln.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/'
    },
    {
      id: 'dp900-224',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which format is commonly used for row-oriented event serialization and supports embedded schema information?', de: 'Welches Format wird häufig für zeilenorientierte Ereignisserialisierung verwendet und unterstützt eingebettete Schemainformationen?' },
      options: [{ id: 'A', text: { en: 'Avro', de: 'Avro' } }, { id: 'B', text: { en: 'Bitmap', de: 'Bitmap' } }, { id: 'C', text: { en: 'JPEG', de: 'JPEG' } }, { id: 'D', text: { en: 'HTML', de: 'HTML' } }],
      correct: ['A'],
      explanation: { en: 'Avro is a compact serialization format that stores schema definitions with or alongside the data. It is widely used for event data exchange and schema evolution scenarios.', de: 'Avro ist ein kompaktes Serialisierungsformat, das Schemadefinitionen mit oder neben den Daten speichert. Es wird häufig für den Austausch von Ereignisdaten und für Schema-Evolution verwendet.' },
      hint: { en: 'Choose the format often paired with event streams and schema evolution.', de: 'Wählen Sie das Format, das häufig mit Ereignisströmen und Schema-Evolution verbunden ist.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/big-data/'
    },
    {
      id: 'dp900-225',
      type: 'single',
      domain: { en: 'Describe core data concepts', de: 'Kernkonzepte von Daten beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which file format is a columnar storage format often associated with large-scale analytic processing in Hadoop ecosystems?', de: 'Welches Dateiformat ist ein spaltenorientiertes Speicherformat, das häufig mit analytischer Verarbeitung im großen Maßstab in Hadoop-Ökosystemen verbunden ist?' },
      options: [{ id: 'A', text: { en: 'PNG', de: 'PNG' } }, { id: 'B', text: { en: 'ORC', de: 'ORC' } }, { id: 'C', text: { en: 'DOCX', de: 'DOCX' } }, { id: 'D', text: { en: 'WAV', de: 'WAV' } }],
      correct: ['B'],
      explanation: { en: 'ORC is a columnar file format designed for efficient analytical reads and compression. It is commonly used in big data environments.', de: 'ORC ist ein spaltenorientiertes Dateiformat, das für effiziente analytische Lesevorgänge und Komprimierung entwickelt wurde. Es wird häufig in Big-Data-Umgebungen eingesetzt.' },
      hint: { en: 'Look for the columnar analytics format besides Parquet.', de: 'Achten Sie auf das spaltenorientierte Analyseformat neben Parquet.' },
      reference: 'https://learn.microsoft.com/en-us/azure/architecture/data-guide/big-data/'
    },
    {
      id: 'dp900-226',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which Azure SQL offering provides near full SQL Server compatibility with instance-level features such as SQL Agent?', de: 'Welches Azure-SQL-Angebot bietet nahezu vollständige SQL-Server-Kompatibilität mit Instanzfunktionen wie SQL Agent?' },
      options: [{ id: 'A', text: { en: 'Azure SQL Managed Instance', de: 'Azure SQL Managed Instance' } }, { id: 'B', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'C', text: { en: 'Azure Data Explorer', de: 'Azure Data Explorer' } }, { id: 'D', text: { en: 'Azure Blob Storage', de: 'Azure Blob Storage' } }],
      correct: ['A'],
      explanation: { en: 'Azure SQL Managed Instance is designed for lift-and-shift migrations that need broader SQL Server compatibility than single databases provide. It includes many instance-scoped capabilities.', de: 'Azure SQL Managed Instance ist für Lift-and-Shift-Migrationen konzipiert, die eine breitere SQL-Server-Kompatibilität benötigen, als einzelne Datenbanken bieten. Es umfasst viele instanzbezogene Funktionen.' },
      hint: { en: 'Choose the PaaS option closest to a managed SQL Server instance.', de: 'Wählen Sie die PaaS-Option, die einer verwalteten SQL-Server-Instanz am nächsten kommt.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview'
    },
    {
      id: 'dp900-227',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which Azure SQL Database compute tier can automatically pause during inactivity and resume on demand?', de: 'Welcher Computetarif von Azure SQL Database kann bei Inaktivität automatisch pausieren und bei Bedarf fortgesetzt werden?' },
      options: [{ id: 'A', text: { en: 'Business Critical', de: 'Business Critical' } }, { id: 'B', text: { en: 'Serverless', de: 'Serverless' } }, { id: 'C', text: { en: 'Hyperscale', de: 'Hyperscale' } }, { id: 'D', text: { en: 'Elastic query', de: 'Elastic Query' } }],
      correct: ['B'],
      explanation: { en: 'The serverless compute tier auto-scales within configured limits and can auto-pause when the database is idle. This helps reduce cost for intermittent workloads.', de: 'Der serverlose Computetarif skaliert innerhalb konfigurierter Grenzen automatisch und kann bei Leerlauf automatisch pausieren. Dies hilft, die Kosten für unregelmäßige Workloads zu senken.' },
      hint: { en: 'Look for automatic pause and resume behavior.', de: 'Achten Sie auf automatisches Pausieren und Fortsetzen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/serverless-tier-overview'
    },
    {
      id: 'dp900-228',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which Azure SQL feature is best for many small tenant databases with usage peaks at different times?', de: 'Welche Azure-SQL-Funktion eignet sich am besten für viele kleine Mandantendatenbanken mit Nutzungsspitzen zu unterschiedlichen Zeiten?' },
      options: [{ id: 'A', text: { en: 'Elastic pool', de: 'Elastic Pool' } }, { id: 'B', text: { en: 'Transparent Data Encryption', de: 'Transparent Data Encryption' } }, { id: 'C', text: { en: 'SQL Ledger', de: 'SQL Ledger' } }, { id: 'D', text: { en: 'Static website hosting', de: 'Hosting statischer Websites' } }],
      correct: ['A'],
      explanation: { en: 'Elastic pools let multiple databases share a pool of compute resources. This is efficient when demand varies across databases and peaks do not align.', de: 'Elastic Pools ermöglichen mehreren Datenbanken die gemeinsame Nutzung eines Ressourcenpools. Das ist effizient, wenn die Auslastung zwischen Datenbanken variiert und Spitzen nicht gleichzeitig auftreten.' },
      hint: { en: 'Think shared resources across many databases.', de: 'Denken Sie an gemeinsam genutzte Ressourcen über viele Datenbanken hinweg.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/elastic-pool-overview'
    },
    {
      id: 'dp900-229',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which feature provides a readable secondary database in another Azure region for a single Azure SQL Database?', de: 'Welche Funktion stellt für eine einzelne Azure SQL Database eine lesbare sekundäre Datenbank in einer anderen Azure-Region bereit?' },
      options: [{ id: 'A', text: { en: 'Row-Level Security', de: 'Row-Level Security' } }, { id: 'B', text: { en: 'Active geo-replication', de: 'Aktive Georeplikation' } }, { id: 'C', text: { en: 'In-Memory OLTP', de: 'In-Memory OLTP' } }, { id: 'D', text: { en: 'Serverless compute', de: 'Serverlose Compute' } }],
      correct: ['B'],
      explanation: { en: 'Active geo-replication creates one or more readable secondary replicas in other regions for disaster recovery and offloading read workloads. It applies to individual databases.', de: 'Die aktive Georeplikation erstellt eine oder mehrere lesbare sekundäre Replikate in anderen Regionen für Notfallwiederherstellung und die Entlastung von Leseworkloads. Sie gilt für einzelne Datenbanken.' },
      hint: { en: 'Choose the cross-region readable secondary option.', de: 'Wählen Sie die Option für ein regionsübergreifendes lesbares sekundäres Replikat.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/active-geo-replication-overview'
    },
    {
      id: 'dp900-230',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which Azure SQL feature helps multiple databases fail over together by using a listener endpoint?', de: 'Welche Azure-SQL-Funktion hilft mehreren Datenbanken, gemeinsam unter Verwendung eines Listener-Endpunkts ein Failover durchzuführen?' },
      options: [{ id: 'A', text: { en: 'Auto-failover groups', de: 'Auto-Failover-Gruppen' } }, { id: 'B', text: { en: 'Data masking', de: 'Datenmaskierung' } }, { id: 'C', text: { en: 'Change feed', de: 'Change Feed' } }, { id: 'D', text: { en: 'Archive tier', de: 'Archivspeicherklasse' } }],
      correct: ['A'],
      explanation: { en: 'Auto-failover groups provide policy-based failover management and a stable listener endpoint for applications. They are useful when several databases must move together.', de: 'Auto-Failover-Gruppen bieten richtlinienbasiertes Failover-Management und einen stabilen Listener-Endpunkt für Anwendungen. Sie sind nützlich, wenn mehrere Datenbanken gemeinsam verschoben werden müssen.' },
      hint: { en: 'Think about coordinated failover for groups of databases.', de: 'Denken Sie an koordiniertes Failover für Gruppen von Datenbanken.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/auto-failover-group-overview'
    },
    {
      id: 'dp900-231',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which Azure SQL service tier is designed for very large databases with rapid scaling and storage separation?', de: 'Welcher Azure-SQL-Diensttarif ist für sehr große Datenbanken mit schneller Skalierung und getrennter Speicherung ausgelegt?' },
      options: [{ id: 'A', text: { en: 'Basic', de: 'Basic' } }, { id: 'B', text: { en: 'Hyperscale', de: 'Hyperscale' } }, { id: 'C', text: { en: 'Archive', de: 'Archive' } }, { id: 'D', text: { en: 'Consumer group', de: 'Consumergruppe' } }],
      correct: ['B'],
      explanation: { en: 'Hyperscale separates compute and storage and supports very large databases with fast scale operations and rapid backup and restore characteristics. It is built for large growth scenarios.', de: 'Hyperscale trennt Compute und Speicher und unterstützt sehr große Datenbanken mit schnellen Skalierungsvorgängen sowie günstigen Sicherungs- und Wiederherstellungseigenschaften. Es ist für starkes Wachstum ausgelegt.' },
      hint: { en: 'Choose the tier aimed at multi-terabyte growth.', de: 'Wählen Sie den Tarif, der auf Wachstum im Multi-Terabyte-Bereich ausgelegt ist.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tier-hyperscale'
    },
    {
      id: 'dp900-232',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which Azure SQL Database service tier targets low latency by using local SSD and multiple replicas?', de: 'Welcher Diensttarif von Azure SQL Database zielt durch lokale SSDs und mehrere Replikate auf geringe Latenz ab?' },
      options: [{ id: 'A', text: { en: 'Business Critical', de: 'Business Critical' } }, { id: 'B', text: { en: 'Serverless', de: 'Serverless' } }, { id: 'C', text: { en: 'Cool tier', de: 'Cool-Tier' } }, { id: 'D', text: { en: 'Table API', de: 'Table-API' } }],
      correct: ['A'],
      explanation: { en: 'Business Critical uses local SSD storage and multiple replicas to provide low latency and high availability for demanding transactional workloads. It is built for mission-critical applications.', de: 'Business Critical verwendet lokale SSD-Speicher und mehrere Replikate, um geringe Latenz und hohe Verfügbarkeit für anspruchsvolle transaktionale Workloads bereitzustellen. Es ist für geschäftskritische Anwendungen ausgelegt.' },
      hint: { en: 'Look for the premium tier for mission-critical transactions.', de: 'Achten Sie auf den Premiumtarif für geschäftskritische Transaktionen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tier-business-critical'
    },
    {
      id: 'dp900-233',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which feature keeps sensitive column values encrypted so database administrators cannot see them in plaintext?', de: 'Welche Funktion hält sensible Spaltenwerte verschlüsselt, sodass Datenbankadministratoren sie nicht im Klartext sehen können?' },
      options: [{ id: 'A', text: { en: 'Transparent Data Encryption', de: 'Transparent Data Encryption' } }, { id: 'B', text: { en: 'Always Encrypted', de: 'Always Encrypted' } }, { id: 'C', text: { en: 'Elastic pool', de: 'Elastic Pool' } }, { id: 'D', text: { en: 'Auto-failover group', de: 'Auto-Failover-Gruppe' } }],
      correct: ['B'],
      explanation: { en: 'Always Encrypted protects selected columns with encryption keys that remain outside the database engine. This limits exposure of sensitive data even from administrators.', de: 'Always Encrypted schützt ausgewählte Spalten mit Verschlüsselungsschlüsseln, die außerhalb der Datenbank-Engine verbleiben. Dadurch wird die Offenlegung sensibler Daten selbst gegenüber Administratoren eingeschränkt.' },
      hint: { en: 'Think client-side protection for specific columns.', de: 'Denken Sie an clientseitigen Schutz für bestimmte Spalten.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/always-encrypted-overview'
    },
    {
      id: 'dp900-234',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which feature encrypts the database, backups, and transaction log at rest without requiring application changes?', de: 'Welche Funktion verschlüsselt Datenbank, Sicherungen und Transaktionsprotokoll im Ruhezustand, ohne dass Anwendungsänderungen erforderlich sind?' },
      options: [{ id: 'A', text: { en: 'Always Encrypted', de: 'Always Encrypted' } }, { id: 'B', text: { en: 'Row-Level Security', de: 'Row-Level Security' } }, { id: 'C', text: { en: 'Transparent Data Encryption', de: 'Transparent Data Encryption' } }, { id: 'D', text: { en: 'Failover group', de: 'Failover-Gruppe' } }],
      correct: ['C'],
      explanation: { en: 'Transparent Data Encryption protects data at rest by encrypting database files, backups, and logs. It is transparent to applications.', de: 'Transparent Data Encryption schützt Daten im Ruhezustand durch die Verschlüsselung von Datenbankdateien, Sicherungen und Protokollen. Für Anwendungen ist dies transparent.' },
      hint: { en: 'This is the at-rest encryption feature.', de: 'Dies ist die Funktion für die Verschlüsselung ruhender Daten.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/transparent-data-encryption-tde-overview'
    },
    {
      id: 'dp900-235',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which Azure service provides a managed PostgreSQL database with flexible maintenance and high availability options?', de: 'Welcher Azure-Dienst stellt eine verwaltete PostgreSQL-Datenbank mit flexiblen Wartungs- und Hochverfügbarkeitsoptionen bereit?' },
      options: [{ id: 'A', text: { en: 'Azure SQL Database', de: 'Azure SQL Database' } }, { id: 'B', text: { en: 'Azure Database for PostgreSQL Flexible Server', de: 'Azure Database for PostgreSQL Flexible Server' } }, { id: 'C', text: { en: 'Azure Event Hubs', de: 'Azure Event Hubs' } }, { id: 'D', text: { en: 'Azure Data Lake Storage Gen2', de: 'Azure Data Lake Storage Gen2' } }],
      correct: ['B'],
      explanation: { en: 'Azure Database for PostgreSQL Flexible Server is the managed PostgreSQL offering that provides configuration flexibility, maintenance controls, and availability options. It is intended for open-source relational workloads.', de: 'Azure Database for PostgreSQL Flexible Server ist das verwaltete PostgreSQL-Angebot mit Konfigurationsflexibilität, Wartungssteuerung und Verfügbarkeitsoptionen. Es ist für Open-Source-Workloads mit relationalen Daten vorgesehen.' },
      hint: { en: 'Choose the managed PostgreSQL option, not the SQL Server family.', de: 'Wählen Sie die verwaltete PostgreSQL-Option und nicht die SQL-Server-Familie.' },
      reference: 'https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/overview'
    },
    {
      id: 'dp900-236',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which Azure SQL capability creates tamper-evident records of table changes for integrity verification?', de: 'Welche Azure-SQL-Funktion erstellt manipulationssichere Nachweise über Tabellenänderungen zur Integritätsprüfung?' },
      options: [{ id: 'A', text: { en: 'SQL Ledger', de: 'SQL Ledger' } }, { id: 'B', text: { en: 'Elastic pool', de: 'Elastic Pool' } }, { id: 'C', text: { en: 'Serverless tier', de: 'Serverless-Tier' } }, { id: 'D', text: { en: 'Data masking', de: 'Datenmaskierung' } }],
      correct: ['A'],
      explanation: { en: 'SQL Ledger uses blockchain-style cryptographic verification to help prove that data has not been tampered with. It is useful when data integrity must be independently attested.', de: 'SQL Ledger verwendet blockchainähnliche kryptografische Verifikation, um nachzuweisen, dass Daten nicht manipuliert wurden. Dies ist nützlich, wenn die Datenintegrität unabhängig bestätigt werden muss.' },
      hint: { en: 'Think tamper evidence and cryptographic verification.', de: 'Denken Sie an Manipulationsnachweise und kryptografische Verifikation.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/ledger-overview'
    },
    {
      id: 'dp900-237',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which technology is designed to accelerate high-throughput transactional processing by using memory-optimized tables and native compilation?', de: 'Welche Technologie ist darauf ausgelegt, transaktionale Hochdurchsatzverarbeitung durch speicheroptimierte Tabellen und native Kompilierung zu beschleunigen?' },
      options: [{ id: 'A', text: { en: 'In-Memory OLTP', de: 'In-Memory OLTP' } }, { id: 'B', text: { en: 'Archive tier', de: 'Archivspeicherklasse' } }, { id: 'C', text: { en: 'SQL Ledger', de: 'SQL Ledger' } }, { id: 'D', text: { en: 'Geo-replication', de: 'Georeplikation' } }],
      correct: ['A'],
      explanation: { en: 'In-Memory OLTP reduces contention and latency for demanding transactional workloads by using memory-optimized tables and natively compiled procedures. It targets performance-sensitive OLTP systems.', de: 'In-Memory OLTP reduziert Konflikte und Latenz für anspruchsvolle transaktionale Workloads durch speicheroptimierte Tabellen und nativ kompilierte Prozeduren. Es richtet sich an performancekritische OLTP-Systeme.' },
      hint: { en: 'Choose the feature focused on very fast transactional throughput.', de: 'Wählen Sie die Funktion, die auf sehr schnellen transaktionalen Durchsatz ausgerichtet ist.' },
      reference: 'https://learn.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/overview-and-usage-scenarios'
    },
    {
      id: 'dp900-238',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which feature restricts query results so each user sees only the rows they are permitted to access?', de: 'Welche Funktion schränkt Abfrageergebnisse so ein, dass jeder Benutzer nur die Zeilen sieht, auf die er zugreifen darf?' },
      options: [{ id: 'A', text: { en: 'Transparent Data Encryption', de: 'Transparent Data Encryption' } }, { id: 'B', text: { en: 'Active geo-replication', de: 'Aktive Georeplikation' } }, { id: 'C', text: { en: 'Row-Level Security', de: 'Row-Level Security' } }, { id: 'D', text: { en: 'Hyperscale', de: 'Hyperscale' } }],
      correct: ['C'],
      explanation: { en: 'Row-Level Security enforces access predicates inside the database so different users can query the same table but receive different rows. This supports secure multitenancy and data segregation.', de: 'Row-Level Security erzwingt Zugriffsprädikate innerhalb der Datenbank, sodass verschiedene Benutzer dieselbe Tabelle abfragen können, aber unterschiedliche Zeilen erhalten. Dies unterstützt sichere Mandantenfähigkeit und Datentrennung.' },
      hint: { en: 'Focus on per-row access filtering.', de: 'Konzentrieren Sie sich auf Filterung pro Zeile.' },
      reference: 'https://learn.microsoft.com/en-us/sql/relational-databases/security/row-level-security'
    },
    {
      id: 'dp900-239',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which Azure SQL deployment option is best for migrating on-premises SQL Server applications that depend on instance-scoped features with minimal code changes?', de: 'Welche Bereitstellungsoption von Azure SQL eignet sich am besten für die Migration lokaler SQL-Server-Anwendungen, die instanzbezogene Funktionen mit minimalen Codeänderungen benötigen?' },
      options: [{ id: 'A', text: { en: 'Azure SQL Managed Instance', de: 'Azure SQL Managed Instance' } }, { id: 'B', text: { en: 'Azure SQL Database single database', de: 'Azure SQL Database Einzeldatenbank' } }, { id: 'C', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'D', text: { en: 'Azure Data Factory', de: 'Azure Data Factory' } }],
      correct: ['A'],
      explanation: { en: 'Managed Instance offers higher compatibility for applications that depend on instance-level capabilities, making migrations easier. Single databases are more isolated and may not satisfy those dependencies.', de: 'Managed Instance bietet eine höhere Kompatibilität für Anwendungen, die von instanzbezogenen Funktionen abhängen, und erleichtert dadurch Migrationen. Einzeldatenbanken sind stärker isoliert und erfüllen diese Abhängigkeiten möglicherweise nicht.' },
      hint: { en: 'Think lift-and-shift compatibility with managed PaaS.', de: 'Denken Sie an Lift-and-Shift-Kompatibilität mit verwaltetem PaaS.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview'
    },
    {
      id: 'dp900-240',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which statement best describes Azure SQL Database serverless compute?', de: 'Welche Aussage beschreibt den serverlosen Compute von Azure SQL Database am besten?' },
      options: [{ id: 'A', text: { en: 'Compute is fixed and cannot scale', de: 'Compute ist fest und kann nicht skaliert werden' } }, { id: 'B', text: { en: 'Compute can auto-scale within configured limits and auto-pause when idle', de: 'Compute kann innerhalb konfigurierter Grenzen automatisch skaliert werden und bei Leerlauf automatisch pausieren' } }, { id: 'C', text: { en: 'It is only for PostgreSQL workloads', de: 'Er ist nur für PostgreSQL-Workloads gedacht' } }, { id: 'D', text: { en: 'It requires a failover group for every database', de: 'Für jede Datenbank ist eine Failover-Gruppe erforderlich' } }],
      correct: ['B'],
      explanation: { en: 'Serverless compute adjusts resources automatically based on demand and can pause billing-related compute when the database is idle. This benefits intermittent or unpredictable workloads.', de: 'Der serverlose Compute passt Ressourcen automatisch an die Auslastung an und kann die abrechnungsrelevante Compute-Leistung bei Leerlauf pausieren. Dies ist für unregelmäßige oder unvorhersehbare Workloads vorteilhaft.' },
      hint: { en: 'Look for elasticity and idle auto-pause.', de: 'Achten Sie auf Elastizität und automatisches Pausieren bei Leerlauf.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/serverless-tier-overview'
    },
    {
      id: 'dp900-241',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'When are Azure SQL elastic pools usually the most cost-effective?', de: 'Wann sind Azure-SQL-Elastic-Pools in der Regel am kosteneffizientesten?' },
      options: [{ id: 'A', text: { en: 'When one database constantly uses all resources', de: 'Wenn eine Datenbank dauerhaft alle Ressourcen nutzt' } }, { id: 'B', text: { en: 'When many databases have varying usage patterns and share capacity', de: 'Wenn viele Datenbanken unterschiedliche Nutzungsmuster haben und Kapazität gemeinsam nutzen' } }, { id: 'C', text: { en: 'When data must be queried with KQL', de: 'Wenn Daten mit KQL abgefragt werden müssen' } }, { id: 'D', text: { en: 'When files need archival storage tiers', de: 'Wenn Dateien Archivspeicherklassen benötigen' } }],
      correct: ['B'],
      explanation: { en: 'Elastic pools are designed for groups of databases whose demand peaks at different times. Shared capacity avoids overprovisioning each database individually.', de: 'Elastic Pools sind für Gruppen von Datenbanken ausgelegt, deren Auslastungsspitzen zu unterschiedlichen Zeiten auftreten. Geteilte Kapazität vermeidet die Überprovisionierung jeder einzelnen Datenbank.' },
      hint: { en: 'Think about smoothing uneven demand across many databases.', de: 'Denken Sie daran, ungleichmäßige Auslastung über viele Datenbanken hinweg auszugleichen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/elastic-pool-overview'
    },
    {
      id: 'dp900-242',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which option is generally better than active geo-replication when several Azure SQL databases must fail over together and applications need a common endpoint?', de: 'Welche Option ist in der Regel besser als die aktive Georeplikation, wenn mehrere Azure-SQL-Datenbanken gemeinsam failovern müssen und Anwendungen einen gemeinsamen Endpunkt benötigen?' },
      options: [{ id: 'A', text: { en: 'Auto-failover groups', de: 'Auto-Failover-Gruppen' } }, { id: 'B', text: { en: 'Transparent Data Encryption', de: 'Transparent Data Encryption' } }, { id: 'C', text: { en: 'Always Encrypted', de: 'Always Encrypted' } }, { id: 'D', text: { en: 'In-Memory OLTP', de: 'In-Memory OLTP' } }],
      correct: ['A'],
      explanation: { en: 'Auto-failover groups simplify failover for related databases and expose listener endpoints that applications can use without changing connection strings. They provide higher-level disaster recovery coordination.', de: 'Auto-Failover-Gruppen vereinfachen das Failover zusammengehöriger Datenbanken und stellen Listener-Endpunkte bereit, die Anwendungen ohne Änderung der Verbindungszeichenfolgen verwenden können. Sie bieten eine übergeordnete Koordination der Notfallwiederherstellung.' },
      hint: { en: 'Choose the coordinated DR feature with listener endpoints.', de: 'Wählen Sie die koordinierte DR-Funktion mit Listener-Endpunkten.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/auto-failover-group-overview'
    },
    {
      id: 'dp900-243',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which architecture characteristic is associated with the Azure SQL Hyperscale tier?', de: 'Welche Architekturmerkmale sind mit dem Azure-SQL-Tarif Hyperscale verbunden?' },
      options: [{ id: 'A', text: { en: 'Compute and storage are separated to support rapid scale operations', de: 'Compute und Speicher sind getrennt, um schnelle Skalierungsvorgänge zu unterstützen' } }, { id: 'B', text: { en: 'Every query requires manual sharding', de: 'Jede Abfrage erfordert manuelles Sharding' } }, { id: 'C', text: { en: 'It stores data only in memory', de: 'Es speichert Daten nur im Arbeitsspeicher' } }, { id: 'D', text: { en: 'It is limited to one gigabyte databases', de: 'Er ist auf Datenbanken mit einem Gigabyte begrenzt' } }],
      correct: ['A'],
      explanation: { en: 'Hyperscale uses a distributed architecture with separated compute and storage components. This helps large databases scale and recover efficiently.', de: 'Hyperscale verwendet eine verteilte Architektur mit getrennten Compute- und Speicherkomponenten. Dies hilft großen Datenbanken, effizient zu skalieren und sich zu erholen.' },
      hint: { en: 'Look for the tier built around distributed scale-out architecture.', de: 'Achten Sie auf den Tarif, der auf einer verteilten Scale-out-Architektur basiert.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tier-hyperscale'
    },
    {
      id: 'dp900-244',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Why is the Business Critical tier often chosen for mission-critical OLTP applications?', de: 'Warum wird der Tarif Business Critical häufig für geschäftskritische OLTP-Anwendungen gewählt?' },
      options: [{ id: 'A', text: { en: 'It offers the cheapest cold storage', de: 'Er bietet den günstigsten Kaltspeicher' } }, { id: 'B', text: { en: 'It uses replicas and local SSD to deliver low latency and high availability', de: 'Er verwendet Replikate und lokale SSDs, um geringe Latenz und hohe Verfügbarkeit zu bieten' } }, { id: 'C', text: { en: 'It supports only read-only workloads', de: 'Er unterstützt nur schreibgeschützte Workloads' } }, { id: 'D', text: { en: 'It disables backup creation', de: 'Er deaktiviert die Erstellung von Sicherungen' } }],
      correct: ['B'],
      explanation: { en: 'Business Critical is designed for applications that need fast transaction processing and resilient availability. Local SSD and multiple replicas help meet those requirements.', de: 'Business Critical ist für Anwendungen konzipiert, die schnelle Transaktionsverarbeitung und ausfallsichere Verfügbarkeit benötigen. Lokale SSDs und mehrere Replikate helfen, diese Anforderungen zu erfüllen.' },
      hint: { en: 'Think premium transactional performance plus resiliency.', de: 'Denken Sie an erstklassige transaktionale Leistung plus Ausfallsicherheit.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tier-business-critical'
    },
    {
      id: 'dp900-245',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which feature can protect sensitive columns while still enabling richer confidential queries through secure enclaves?', de: 'Welche Funktion kann sensible Spalten schützen und gleichzeitig über sichere Enklaven umfangreichere vertrauliche Abfragen ermöglichen?' },
      options: [{ id: 'A', text: { en: 'Transparent Data Encryption', de: 'Transparent Data Encryption' } }, { id: 'B', text: { en: 'Always Encrypted with secure enclaves', de: 'Always Encrypted mit sicheren Enklaven' } }, { id: 'C', text: { en: 'Elastic pools', de: 'Elastic Pools' } }, { id: 'D', text: { en: 'Geo-replication', de: 'Georeplikation' } }],
      correct: ['B'],
      explanation: { en: 'Always Encrypted with secure enclaves extends column protection scenarios by allowing some operations on protected data while reducing plaintext exposure on the server. It builds on the Always Encrypted model.', de: 'Always Encrypted mit sicheren Enklaven erweitert den Schutz sensibler Spalten, indem bestimmte Vorgänge auf geschützten Daten ermöglicht werden, während die Klartextoffenlegung auf dem Server reduziert wird. Es baut auf dem Modell von Always Encrypted auf.' },
      hint: { en: 'Look for confidential processing on protected columns.', de: 'Achten Sie auf vertrauliche Verarbeitung geschützter Spalten.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/always-encrypted-overview'
    },
    {
      id: 'dp900-246',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which feature primarily protects data in transit between client and database by keeping selected values encrypted from the server engine?', de: 'Welche Funktion schützt Daten zwischen Client und Datenbank primär dadurch, dass ausgewählte Werte für die Server-Engine verschlüsselt bleiben?' },
      options: [{ id: 'A', text: { en: 'Transparent Data Encryption', de: 'Transparent Data Encryption' } }, { id: 'B', text: { en: 'Auto-failover groups', de: 'Auto-Failover-Gruppen' } }, { id: 'C', text: { en: 'Always Encrypted', de: 'Always Encrypted' } }, { id: 'D', text: { en: 'Hyperscale', de: 'Hyperscale' } }],
      correct: ['C'],
      explanation: { en: 'Always Encrypted ensures the server does not need plaintext values for protected columns. TDE, by contrast, focuses on encrypting data at rest.', de: 'Always Encrypted stellt sicher, dass der Server für geschützte Spalten keine Klartextwerte benötigt. TDE konzentriert sich dagegen auf die Verschlüsselung ruhender Daten.' },
      hint: { en: 'Compare client-side column protection with at-rest encryption.', de: 'Vergleichen Sie clientseitigen Spaltenschutz mit Verschlüsselung ruhender Daten.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/always-encrypted-overview'
    },
    {
      id: 'dp900-247',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which Azure SQL feature can generate cryptographic digests so an external party can verify database integrity?', de: 'Welche Azure-SQL-Funktion kann kryptografische Digests erzeugen, sodass eine externe Partei die Datenbankintegrität überprüfen kann?' },
      options: [{ id: 'A', text: { en: 'SQL Ledger', de: 'SQL Ledger' } }, { id: 'B', text: { en: 'Serverless compute', de: 'Serverlose Compute' } }, { id: 'C', text: { en: 'Elastic query', de: 'Elastic Query' } }, { id: 'D', text: { en: 'Row-Level Security', de: 'Row-Level Security' } }],
      correct: ['A'],
      explanation: { en: 'SQL Ledger can produce digest information for independent verification of ledger tables and history. This supports tamper-evidence beyond the database boundary.', de: 'SQL Ledger kann Digest-Informationen zur unabhängigen Überprüfung von Ledger-Tabellen und deren Historie erzeugen. Dies unterstützt Manipulationsnachweise über die Datenbankgrenze hinaus.' },
      hint: { en: 'Think beyond internal auditing to external verification.', de: 'Denken Sie über internes Auditing hinaus an externe Verifikation.' },
      reference: 'https://learn.microsoft.com/en-us/azure/azure-sql/database/ledger-overview'
    },
    {
      id: 'dp900-248',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which managed relational service offers PostgreSQL compatibility together with configurable maintenance windows and zone-redundant high availability options?', de: 'Welcher verwaltete relationale Dienst bietet PostgreSQL-Kompatibilität zusammen mit konfigurierbaren Wartungsfenstern und zonenredundanten Hochverfügbarkeitsoptionen?' },
      options: [{ id: 'A', text: { en: 'Azure SQL Managed Instance', de: 'Azure SQL Managed Instance' } }, { id: 'B', text: { en: 'Azure Database for PostgreSQL Flexible Server', de: 'Azure Database for PostgreSQL Flexible Server' } }, { id: 'C', text: { en: 'Azure Analysis Services', de: 'Azure Analysis Services' } }, { id: 'D', text: { en: 'Azure Event Hubs', de: 'Azure Event Hubs' } }],
      correct: ['B'],
      explanation: { en: 'PostgreSQL Flexible Server is the Azure service built for managed PostgreSQL deployments with operational flexibility, including maintenance and availability controls. It is the open-source relational choice here.', de: 'PostgreSQL Flexible Server ist der Azure-Dienst für verwaltete PostgreSQL-Bereitstellungen mit operativer Flexibilität, einschließlich Wartungs- und Verfügbarkeitssteuerung. Hier ist dies die Open-Source-Option für relationale Daten.' },
      hint: { en: 'Look for the managed open-source relational service.', de: 'Achten Sie auf den verwalteten Open-Source-Dienst für relationale Daten.' },
      reference: 'https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/overview'
    },
    {
      id: 'dp900-249',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which component is used to enforce Row-Level Security predicates in SQL Server and Azure SQL?', de: 'Welche Komponente wird verwendet, um Row-Level-Security-Prädikate in SQL Server und Azure SQL zu erzwingen?' },
      options: [{ id: 'A', text: { en: 'A security policy that applies a predicate function', de: 'Eine Sicherheitsrichtlinie, die eine Prädikatfunktion anwendet' } }, { id: 'B', text: { en: 'A storage access tier', de: 'Eine Speicherzugriffsebene' } }, { id: 'C', text: { en: 'A consumer group', de: 'Eine Consumergruppe' } }, { id: 'D', text: { en: 'A static website endpoint', de: 'Ein Endpunkt für statische Websites' } }],
      correct: ['A'],
      explanation: { en: 'Row-Level Security works by attaching predicate logic through a security policy. The database then filters rows automatically according to the calling context.', de: 'Row-Level Security funktioniert, indem Prädikatlogik über eine Sicherheitsrichtlinie angebunden wird. Die Datenbank filtert Zeilen dann automatisch entsprechend dem aufrufenden Kontext.' },
      hint: { en: 'Think of a policy-based filter applied inside the database.', de: 'Denken Sie an einen richtlinienbasierten Filter innerhalb der Datenbank.' },
      reference: 'https://learn.microsoft.com/en-us/sql/relational-databases/security/row-level-security'
    },
    {
      id: 'dp900-250',
      type: 'single',
      domain: { en: 'Identify considerations for relational data on Azure', de: 'Überlegungen zu relationalen Daten in Azure identifizieren' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'What is a common reason to use memory-optimized tables in In-Memory OLTP?', de: 'Was ist ein häufiger Grund für die Verwendung speicheroptimierter Tabellen in In-Memory OLTP?' },
      options: [{ id: 'A', text: { en: 'To reduce latch and lock contention in hot transactional tables', de: 'Um Latch- und Lock-Konflikte in stark genutzten Transaktionstabellen zu reduzieren' } }, { id: 'B', text: { en: 'To host static websites', de: 'Um statische Websites zu hosten' } }, { id: 'C', text: { en: 'To store archival blobs offline', de: 'Um Archiv-Blobs offline zu speichern' } }, { id: 'D', text: { en: 'To create graph traversals in Gremlin', de: 'Um Graphdurchläufe in Gremlin zu erstellen' } }],
      correct: ['A'],
      explanation: { en: 'Memory-optimized tables are intended for performance-sensitive OLTP workloads where traditional contention can limit throughput. Keeping hot data structures in memory helps reduce latency.', de: 'Speicheroptimierte Tabellen sind für leistungsrelevante OLTP-Workloads gedacht, bei denen herkömmliche Konflikte den Durchsatz begrenzen können. Das Halten stark genutzter Datenstrukturen im Arbeitsspeicher hilft, die Latenz zu senken.' },
      hint: { en: 'Focus on transactional speed and reduced contention.', de: 'Konzentrieren Sie sich auf transaktionale Geschwindigkeit und geringere Konflikte.' },
      reference: 'https://learn.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/overview-and-usage-scenarios'
    },
    {
      id: 'dp900-251',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which statements about Azure Blob Storage access tiers are correct?', de: 'Welche Aussagen zu Zugriffsebenen von Azure Blob Storage sind korrekt?' },
      options: [{ id: 'A', text: { en: 'The hot tier is intended for data accessed frequently', de: 'Die Hot-Ebene ist für häufig abgerufene Daten gedacht' } }, { id: 'B', text: { en: 'The cool tier is suitable for infrequently accessed data stored for at least 30 days', de: 'Die Cool-Ebene eignet sich für selten abgerufene Daten, die mindestens 30 Tage gespeichert werden' } }, { id: 'C', text: { en: 'The archive tier is offline and requires rehydration before access', de: 'Die Archive-Ebene ist offline und erfordert vor dem Zugriff eine Rehydrierung' } }, { id: 'D', text: { en: 'The hot tier has the highest access latency', de: 'Die Hot-Ebene hat die höchste Zugriffsverzögerung' } }, { id: 'E', text: { en: 'The cool tier is only for SQL backups managed by Azure SQL', de: 'Die Cool-Ebene ist nur für von Azure SQL verwaltete SQL-Sicherungen vorgesehen' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Hot is for frequent access, cool is for infrequent access with lower storage cost, and archive is an offline tier that must be rehydrated. The hot tier does not have the highest latency.', de: 'Hot ist für häufige Zugriffe gedacht, Cool für seltene Zugriffe mit geringeren Speicherkosten, und Archive ist eine Offline-Ebene, die rehydriert werden muss. Die Hot-Ebene hat nicht die höchste Latenz.' },
      hint: { en: 'Compare frequency of access with retrieval latency.', de: 'Vergleichen Sie Zugriffshäufigkeit mit Abruflatenz.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview'
    },
    {
      id: 'dp900-252',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which actions can an Azure Blob lifecycle management policy perform automatically?', de: 'Welche Aktionen kann eine Richtlinie zur Blob-Lebenszyklusverwaltung automatisch ausführen?' },
      options: [{ id: 'A', text: { en: 'Move blobs to the cool tier', de: 'Blobs in die Cool-Ebene verschieben' } }, { id: 'B', text: { en: 'Move blobs to the archive tier', de: 'Blobs in die Archive-Ebene verschieben' } }, { id: 'C', text: { en: 'Rewrite blob contents with new values', de: 'Blob-Inhalte mit neuen Werten überschreiben' } }, { id: 'D', text: { en: 'Delete blobs or previous versions after a retention period', de: 'Blobs oder frühere Versionen nach einer Aufbewahrungsfrist löschen' } }, { id: 'E', text: { en: 'Convert blobs into Azure Files shares', de: 'Blobs in Azure-Files-Freigaben umwandeln' } }],
      correct: ['A', 'B', 'D'],
      explanation: { en: 'Lifecycle management can transition objects across access tiers and delete aging blobs, snapshots, or versions according to rules. It does not modify file contents or convert storage types.', de: 'Die Lebenszyklusverwaltung kann Objekte gemäß Regeln zwischen Zugriffsebenen verschieben und veraltete Blobs, Snapshots oder Versionen löschen. Sie ändert keine Dateiinhalte und wandelt keine Speichertypen um.' },
      hint: { en: 'Think cost optimization and retention automation.', de: 'Denken Sie an Kostenoptimierung und automatisierte Aufbewahrung.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview'
    },
    {
      id: 'dp900-253',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which capabilities are provided by the hierarchical namespace feature in Azure Data Lake Storage Gen2?', de: 'Welche Funktionen bietet das Feature des hierarchischen Namespace in Azure Data Lake Storage Gen2?' },
      options: [{ id: 'A', text: { en: 'Directory-level operations such as rename', de: 'Verzeichnisoperationen wie Umbenennen' } }, { id: 'B', text: { en: 'POSIX-like access control lists', de: 'POSIX-ähnliche Zugriffssteuerungslisten' } }, { id: 'C', text: { en: 'Atomic directory moves for analytics workloads', de: 'Atomare Verzeichnisverschiebungen für Analyse-Workloads' } }, { id: 'D', text: { en: 'Built-in relational foreign keys', de: 'Integrierte relationale Fremdschlüssel' } }, { id: 'E', text: { en: 'Automatic graph traversals', de: 'Automatische Graphdurchläufe' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Hierarchical namespace gives the storage account file system semantics such as directories, ACLs, and efficient rename or move operations. These features are valuable for analytics engines.', de: 'Der hierarchische Namespace verleiht dem Speicherkonto Dateisystemsemantik wie Verzeichnisse, ACLs und effiziente Umbenennungs- oder Verschiebevorgänge. Diese Funktionen sind für Analyse-Engines wertvoll.' },
      hint: { en: 'Choose the file system style capabilities.', de: 'Wählen Sie die Funktionen im Stil eines Dateisystems.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-namespace'
    },
    {
      id: 'dp900-254',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which are valid Azure Cosmos DB consistency levels?', de: 'Welche sind gültige Konsistenzstufen von Azure Cosmos DB?' },
      options: [{ id: 'A', text: { en: 'Strong', de: 'Strong' } }, { id: 'B', text: { en: 'Session', de: 'Session' } }, { id: 'C', text: { en: 'Eventual', de: 'Eventual' } }, { id: 'D', text: { en: 'Serializable', de: 'Serializable' } }, { id: 'E', text: { en: 'Snapshot', de: 'Snapshot' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Azure Cosmos DB offers five consistency levels: strong, bounded staleness, session, consistent prefix, and eventual. Serializable and snapshot are not Cosmos DB consistency levels.', de: 'Azure Cosmos DB bietet fünf Konsistenzstufen: Strong, Bounded Staleness, Session, Consistent Prefix und Eventual. Serializable und Snapshot sind keine Konsistenzstufen von Cosmos DB.' },
      hint: { en: 'Remember the five built-in Cosmos DB levels.', de: 'Denken Sie an die fünf integrierten Konsistenzstufen von Cosmos DB.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/consistency-levels'
    },
    {
      id: 'dp900-255',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: null,
      question: { en: 'Which statements about Azure Queue Storage are correct?', de: 'Welche Aussagen über Azure Queue Storage sind korrekt?' },
      options: [{ id: 'A', text: { en: 'It stores messages for asynchronous processing', de: 'Es speichert Nachrichten für asynchrone Verarbeitung' } }, { id: 'B', text: { en: 'It helps decouple application components', de: 'Es hilft, Anwendungskomponenten zu entkoppeln' } }, { id: 'C', text: { en: 'It is accessed over HTTP or HTTPS', de: 'Der Zugriff erfolgt über HTTP oder HTTPS' } }, { id: 'D', text: { en: 'It provides built-in graph traversals', de: 'Es bietet integrierte Graphdurchläufe' } }, { id: 'E', text: { en: 'It guarantees strict first-in-first-out processing in all cases', de: 'Es garantiert in allen Fällen strikte First-in-first-out-Verarbeitung' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Azure Queue Storage is a simple message queue service for decoupled and asynchronous processing. It is accessed through REST interfaces and does not provide graph features or strict FIFO guarantees in all scenarios.', de: 'Azure Queue Storage ist ein einfacher Nachrichtenwarteschlangendienst für entkoppelte und asynchrone Verarbeitung. Der Zugriff erfolgt über REST-Schnittstellen; Graphfunktionen oder strikte FIFO-Garantien in allen Szenarien bietet er nicht.' },
      hint: { en: 'Think simple REST-based messaging and decoupling.', de: 'Denken Sie an einfaches REST-basiertes Messaging und Entkopplung.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/queues/storage-queues-introduction'
    },
    {
      id: 'dp900-256',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which requirements suggest using Azure Files instead of Azure Blob Storage?', de: 'Welche Anforderungen sprechen für Azure Files anstelle von Azure Blob Storage?' },
      options: [{ id: 'A', text: { en: 'Applications need a shared SMB file share', de: 'Anwendungen benötigen eine gemeinsam genutzte SMB-Dateifreigabe' } }, { id: 'B', text: { en: 'Multiple virtual machines must mount the same file system', de: 'Mehrere virtuelle Maschinen müssen dasselbe Dateisystem einbinden' } }, { id: 'C', text: { en: 'A legacy application expects file and directory semantics', de: 'Eine Legacyanwendung erwartet Datei- und Verzeichnissemantik' } }, { id: 'D', text: { en: 'The solution needs the archive access tier', de: 'Die Lösung benötigt die Zugriffsstufe Archive' } }, { id: 'E', text: { en: 'The workload serves static web pages directly from object storage', de: 'Der Workload stellt statische Webseiten direkt aus Objektspeicher bereit' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Azure Files provides managed file shares with SMB or NFS access and directory semantics, which is ideal for lift-and-shift file workloads. Blob Storage is object storage and better for web objects or large binary content.', de: 'Azure Files bietet verwaltete Dateifreigaben mit SMB- oder NFS-Zugriff sowie Verzeichnissemantik und ist damit ideal für Lift-and-Shift-Dateiworkloads. Blob Storage ist Objektspeicher und besser für Webobjekte oder große Binärinhalte geeignet.' },
      hint: { en: 'Choose the options that describe shared file system behavior.', de: 'Wählen Sie die Optionen, die gemeinsam genutztes Dateisystemverhalten beschreiben.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/files/storage-files-introduction'
    },
    {
      id: 'dp900-257',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which statements about static website hosting in Azure Blob Storage are correct?', de: 'Welche Aussagen zum Hosting statischer Websites in Azure Blob Storage sind korrekt?' },
      options: [{ id: 'A', text: { en: 'It can serve HTML, CSS, JavaScript, and image files', de: 'Es kann HTML-, CSS-, JavaScript- und Bilddateien bereitstellen' } }, { id: 'B', text: { en: 'It provides a static website endpoint', de: 'Es stellt einen Endpunkt für statische Websites bereit' } }, { id: 'C', text: { en: 'It executes server-side ASP.NET code in the storage account', de: 'Es führt serverseitigen ASP.NET-Code im Speicherkonto aus' } }, { id: 'D', text: { en: 'It is suitable when no server-side rendering is required', de: 'Es eignet sich, wenn kein serverseitiges Rendering erforderlich ist' } }, { id: 'E', text: { en: 'It requires Azure Files shares to be enabled first', de: 'Es setzt voraus, dass zuerst Azure-Files-Freigaben aktiviert werden' } }],
      correct: ['A', 'B', 'D'],
      explanation: { en: 'Static website hosting in Blob Storage is for static content only and exposes dedicated endpoints. It does not run server-side application code.', de: 'Das Hosting statischer Websites in Blob Storage ist nur für statische Inhalte gedacht und stellt dedizierte Endpunkte bereit. Es führt keinen serverseitigen Anwendungscode aus.' },
      hint: { en: 'Think static content, not server-side execution.', de: 'Denken Sie an statische Inhalte, nicht an serverseitige Ausführung.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website'
    },
    {
      id: 'dp900-258',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which statements about the Azure Cosmos DB change feed are correct?', de: 'Welche Aussagen über den Change Feed von Azure Cosmos DB sind korrekt?' },
      options: [{ id: 'A', text: { en: 'It can be used to trigger downstream processing when items are inserted or updated', de: 'Er kann verwendet werden, um nachgelagerte Verarbeitung auszulösen, wenn Elemente eingefügt oder aktualisiert werden' } }, { id: 'B', text: { en: 'It provides an ordered stream of changes within a logical partition', de: 'Er bietet einen geordneten Änderungsstrom innerhalb einer logischen Partition' } }, { id: 'C', text: { en: 'It is useful for building materialized views or projections', de: 'Er ist nützlich zum Erstellen materialisierter Sichten oder Projektionen' } }, { id: 'D', text: { en: 'It is the same as transparent data encryption', de: 'Er ist dasselbe wie Transparent Data Encryption' } }, { id: 'E', text: { en: 'It automatically turns documents into file shares', de: 'Er wandelt Dokumente automatisch in Dateifreigaben um' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'The change feed exposes inserts and updates in order within a partition and is often used for event-driven processing, projections, and synchronization. It is unrelated to encryption or file shares.', de: 'Der Change Feed stellt Einfügungen und Aktualisierungen innerhalb einer Partition geordnet bereit und wird häufig für ereignisgesteuerte Verarbeitung, Projektionen und Synchronisierung genutzt. Mit Verschlüsselung oder Dateifreigaben hat er nichts zu tun.' },
      hint: { en: 'Focus on ordered change events and downstream actions.', de: 'Konzentrieren Sie sich auf geordnete Änderungsereignisse und nachgelagerte Aktionen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/change-feed'
    },
    {
      id: 'dp900-259',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which benefits are associated with Azure Synapse Link and the Cosmos DB analytical store?', de: 'Welche Vorteile sind mit Azure Synapse Link und dem analytischen Speicher von Cosmos DB verbunden?' },
      options: [{ id: 'A', text: { en: 'Near real-time analytics over operational data', de: 'Nahezu Echtzeitanalysen über operative Daten' } }, { id: 'B', text: { en: 'A separate analytical store optimized for large analytical queries', de: 'Ein separater analytischer Speicher, der für große Analyseabfragen optimiert ist' } }, { id: 'C', text: { en: 'Reduced need for custom ETL into a separate warehouse for many scenarios', de: 'Weniger Bedarf an benutzerdefiniertem ETL in ein separates Data Warehouse für viele Szenarien' } }, { id: 'D', text: { en: 'Mandatory nightly CSV exports before every query', de: 'Verpflichtende nächtliche CSV-Exporte vor jeder Abfrage' } }, { id: 'E', text: { en: 'Support only for relational foreign keys', de: 'Unterstützung nur für relationale Fremdschlüssel' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Synapse Link keeps an analytical representation of Cosmos DB data that analytics engines can query with minimal operational impact. This reduces or removes ETL steps for many reporting cases.', de: 'Synapse Link hält eine analytische Darstellung von Cosmos-DB-Daten vor, die Analyse-Engines mit minimalen Auswirkungen auf den operativen Workload abfragen können. Dadurch entfallen in vielen Reporting-Fällen ETL-Schritte ganz oder teilweise.' },
      hint: { en: 'Think operational data plus analytics without heavy ETL.', de: 'Denken Sie an operative Daten plus Analysen ohne aufwendiges ETL.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/synapse-link'
    },
    {
      id: 'dp900-260',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which statements about Azure Cosmos DB multi-region writes are correct?', de: 'Welche Aussagen zu Multi-Region-Schreibvorgängen in Azure Cosmos DB sind korrekt?' },
      options: [{ id: 'A', text: { en: 'Applications can write in more than one Azure region', de: 'Anwendungen können in mehr als einer Azure-Region schreiben' } }, { id: 'B', text: { en: 'It can reduce write latency for globally distributed users', de: 'Es kann die Schreiblatenz für weltweit verteilte Benutzer reduzieren' } }, { id: 'C', text: { en: 'Conflict resolution considerations become important', de: 'Überlegungen zur Konfliktauflösung werden wichtig' } }, { id: 'D', text: { en: 'It forces the database to use the archive access tier', de: 'Es zwingt die Datenbank, die Zugriffsstufe Archive zu verwenden' } }, { id: 'E', text: { en: 'It is available only for queue storage', de: 'Es ist nur für Queue Storage verfügbar' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Multi-region writes let applications accept writes closer to users in several regions, improving responsiveness. Because writes can occur in multiple places, conflict management matters.', de: 'Multi-Region-Schreibvorgänge ermöglichen es Anwendungen, Schreibvorgänge in mehreren Regionen näher an den Benutzern anzunehmen und so die Reaktionsfähigkeit zu verbessern. Da an mehreren Orten geschrieben werden kann, ist das Konfliktmanagement wichtig.' },
      hint: { en: 'Choose the options related to global write performance and coordination.', de: 'Wählen Sie die Optionen, die sich auf globale Schreibperformance und Koordination beziehen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/how-to-multi-master'
    },
    {
      id: 'dp900-261',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which capabilities are associated with the Azure Cosmos DB Gremlin API?', de: 'Welche Funktionen sind mit der Gremlin-API von Azure Cosmos DB verbunden?' },
      options: [{ id: 'A', text: { en: 'Modeling vertices and edges', de: 'Das Modellieren von Knoten und Kanten' } }, { id: 'B', text: { en: 'Running graph traversal queries', de: 'Das Ausführen von Graphdurchlaufabfragen' } }, { id: 'C', text: { en: 'Representing highly connected relationships', de: 'Das Darstellen stark vernetzter Beziehungen' } }, { id: 'D', text: { en: 'Enforcing foreign keys with T-SQL', de: 'Das Erzwingen von Fremdschlüsseln mit T-SQL' } }, { id: 'E', text: { en: 'Hosting SMB file shares', de: 'Das Hosten von SMB-Dateifreigaben' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'The Gremlin API is intended for graph workloads where relationships and traversals are primary concerns. It is not a relational SQL engine or file-sharing service.', de: 'Die Gremlin-API ist für Graphworkloads gedacht, bei denen Beziehungen und Traversierungen im Vordergrund stehen. Sie ist weder eine relationale SQL-Engine noch ein Dateifreigabedienst.' },
      hint: { en: 'Think nodes, edges, and traversals.', de: 'Denken Sie an Knoten, Kanten und Traversierungen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/gremlin/introduction'
    },
    {
      id: 'dp900-262',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Why might a team choose the Azure Cosmos DB API for MongoDB?', de: 'Warum könnte sich ein Team für die API von Azure Cosmos DB für MongoDB entscheiden?' },
      options: [{ id: 'A', text: { en: 'To use MongoDB-compatible drivers and tools', de: 'Um mit MongoDB kompatible Treiber und Tools zu verwenden' } }, { id: 'B', text: { en: 'To work with document-style data models', de: 'Um mit dokumentorientierten Datenmodellen zu arbeiten' } }, { id: 'C', text: { en: 'To migrate existing MongoDB applications with fewer code changes', de: 'Um bestehende MongoDB-Anwendungen mit weniger Codeänderungen zu migrieren' } }, { id: 'D', text: { en: 'To run only graph traversals in Gremlin syntax', de: 'Um ausschließlich Graphdurchläufe in Gremlin-Syntax auszuführen' } }, { id: 'E', text: { en: 'To create SMB shares for Windows clients', de: 'Um SMB-Freigaben für Windows-Clients zu erstellen' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'The API for MongoDB supports document workloads and compatibility with many MongoDB development patterns and tools. This can simplify migration and application reuse.', de: 'Die API für MongoDB unterstützt Dokumentenworkloads und die Kompatibilität mit vielen Entwicklungs- und Toolmustern von MongoDB. Das kann Migration und Wiederverwendung von Anwendungen vereinfachen.' },
      hint: { en: 'Look for document compatibility and application reuse.', de: 'Achten Sie auf Dokumentenkompatibilität und Wiederverwendung von Anwendungen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/introduction'
    },
    {
      id: 'dp900-263',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'medium',
      scenario: null,
      question: { en: 'Which statements about the archive access tier are correct?', de: 'Welche Aussagen zur Zugriffsebene Archive sind korrekt?' },
      options: [{ id: 'A', text: { en: 'It is intended for rarely accessed long-term retention data', de: 'Sie ist für selten abgerufene Daten zur langfristigen Aufbewahrung vorgesehen' } }, { id: 'B', text: { en: 'It usually has the lowest storage cost among blob tiers', de: 'Sie hat in der Regel die niedrigsten Speicherkosten unter den Blob-Ebenen' } }, { id: 'C', text: { en: 'Data must be rehydrated before it can be read online', de: 'Daten müssen rehydriert werden, bevor sie online gelesen werden können' } }, { id: 'D', text: { en: 'It is the best choice for active dashboard files queried every minute', de: 'Sie ist die beste Wahl für aktive Dashboard-Dateien, die jede Minute abgefragt werden' } }, { id: 'E', text: { en: 'It offers the fastest access latency of all tiers', de: 'Sie bietet die schnellste Zugriffslatenz aller Ebenen' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Archive storage is optimized for very low storage cost and infrequent access, but retrieval is slower because data must be rehydrated. It is not suitable for active analytics.', de: 'Archivspeicher ist auf sehr niedrige Speicherkosten und seltenen Zugriff optimiert, aber der Abruf ist langsamer, da Daten rehydriert werden müssen. Für aktive Analysen ist er nicht geeignet.' },
      hint: { en: 'Think cheapest storage with the slowest retrieval.', de: 'Denken Sie an den günstigsten Speicher mit dem langsamsten Abruf.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview'
    },
    {
      id: 'dp900-264',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which statements about Azure Blob lifecycle management rules are correct?', de: 'Welche Aussagen zu Regeln der Azure-Blob-Lebenszyklusverwaltung sind korrekt?' },
      options: [{ id: 'A', text: { en: 'Rules can use filters such as blob prefixes or blob index tags', de: 'Regeln können Filter wie Blobpräfixe oder Blobindex-Tags verwenden' } }, { id: 'B', text: { en: 'Rules can transition or delete data based on age criteria', de: 'Regeln können Daten anhand von Alterskriterien verschieben oder löschen' } }, { id: 'C', text: { en: 'Rules can manage current blobs, snapshots, and versions in supported scenarios', de: 'Regeln können in unterstützten Szenarien aktuelle Blobs, Snapshots und Versionen verwalten' } }, { id: 'D', text: { en: 'Rules inspect file contents to classify medical images automatically', de: 'Regeln analysieren Dateiinhalte, um medizinische Bilder automatisch zu klassifizieren' } }, { id: 'E', text: { en: 'Only one container per account can use lifecycle rules', de: 'Nur ein Container pro Konto kann Lebenszyklusregeln verwenden' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Lifecycle rules work from metadata and age-based conditions, and they can act on current objects, snapshots, and versions where supported. They do not inspect business content and are not limited to one container.', de: 'Lebenszyklusregeln arbeiten auf Basis von Metadaten und altersbezogenen Bedingungen und können, soweit unterstützt, auf aktuelle Objekte, Snapshots und Versionen wirken. Sie analysieren keine Fachinhalte und sind nicht auf einen Container beschränkt.' },
      hint: { en: 'Think metadata-driven retention and tier transitions.', de: 'Denken Sie an metadatengesteuerte Aufbewahrung und Tier-Übergänge.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview'
    },
    {
      id: 'dp900-265',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which benefits are specific to using hierarchical namespace for analytics workloads?', de: 'Welche Vorteile sind speziell mit dem hierarchischen Namespace für Analyse-Workloads verbunden?' },
      options: [{ id: 'A', text: { en: 'Efficient directory-level renames and moves', de: 'Effiziente Umbenennungen und Verschiebungen auf Verzeichnisebene' } }, { id: 'B', text: { en: 'Fine-grained ACLs on folders and files', de: 'Feingranulare ACLs auf Ordnern und Dateien' } }, { id: 'C', text: { en: 'File system semantics that many big data engines expect', de: 'Dateisystemsemantik, die viele Big-Data-Engines erwarten' } }, { id: 'D', text: { en: 'Automatic conversion of JSON into relational tables', de: 'Automatische Umwandlung von JSON in relationale Tabellen' } }, { id: 'E', text: { en: 'Elimination of all role-based access control requirements', de: 'Beseitigung aller Anforderungen an rollenbasierte Zugriffssteuerung' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Hierarchical namespace makes object storage behave more like a file system, which helps analytics engines and governance scenarios. It does not replace RBAC or relational modeling.', de: 'Der hierarchische Namespace lässt Objektspeicher eher wie ein Dateisystem arbeiten, was Analyse-Engines und Governance-Szenarien unterstützt. RBAC oder relationale Modellierung ersetzt er jedoch nicht.' },
      hint: { en: 'Choose the options that sound like true file system features.', de: 'Wählen Sie die Optionen, die nach echten Dateisystemfunktionen klingen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-namespace'
    },
    {
      id: 'dp900-266',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which statements about Azure Cosmos DB consistency levels are correct?', de: 'Welche Aussagen zu Konsistenzstufen von Azure Cosmos DB sind korrekt?' },
      options: [{ id: 'A', text: { en: 'Strong consistency provides linearizable reads', de: 'Strong-Konsistenz bietet linearisierbare Lesevorgänge' } }, { id: 'B', text: { en: 'Bounded staleness allows reads to lag by a configured amount', de: 'Bounded Staleness erlaubt, dass Lesevorgänge um einen konfigurierten Betrag hinterherhinken' } }, { id: 'C', text: { en: 'Session consistency can provide read-your-writes for a client session', de: 'Session-Konsistenz kann Read-your-writes für eine Clientsitzung bereitstellen' } }, { id: 'D', text: { en: 'Eventual consistency is the strongest consistency level', de: 'Eventual-Konsistenz ist die stärkste Konsistenzstufe' } }, { id: 'E', text: { en: 'Consistency cannot be changed at account or request level', de: 'Konsistenz kann weder auf Konto- noch auf Anforderungsebene geändert werden' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Cosmos DB offers a range from strong to eventual consistency. Bounded staleness and session provide useful trade-offs between correctness and latency for distributed applications.', de: 'Cosmos DB bietet eine Spannweite von starker bis eventualer Konsistenz. Bounded Staleness und Session liefern für verteilte Anwendungen nützliche Kompromisse zwischen Korrektheit und Latenz.' },
      hint: { en: 'Remember how the middle levels trade latency for freshness.', de: 'Denken Sie daran, wie die mittleren Stufen Latenz gegen Aktualität austauschen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/consistency-levels'
    },
    {
      id: 'dp900-267',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which statements about Azure Cosmos DB change feed processing are correct?', de: 'Welche Aussagen zur Verarbeitung des Azure-Cosmos-DB-Change-Feeds sind korrekt?' },
      options: [{ id: 'A', text: { en: 'Changes are ordered within a logical partition key range', de: 'Änderungen sind innerhalb eines Bereichs eines logischen Partitionsschlüssels geordnet' } }, { id: 'B', text: { en: 'Azure Functions can react to the change feed through triggers', de: 'Azure Functions können über Trigger auf den Change Feed reagieren' } }, { id: 'C', text: { en: 'The change feed is useful for CQRS-style projections and denormalized views', de: 'Der Change Feed ist nützlich für Projektionen im CQRS-Stil und denormalisierte Sichten' } }, { id: 'D', text: { en: 'It replaces point-in-time restore for the account', de: 'Er ersetzt die Point-in-Time-Wiederherstellung des Kontos' } }, { id: 'E', text: { en: 'It automatically enforces strong consistency on every client request', de: 'Er erzwingt automatisch starke Konsistenz für jede Clientanforderung' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'The change feed is an ordered stream of mutations that downstream processors can consume for event-driven designs, including Azure Functions and projection patterns. It does not replace restore or consistency settings.', de: 'Der Change Feed ist ein geordneter Strom von Änderungen, den nachgelagerte Prozessoren für ereignisgesteuerte Architekturen, einschließlich Azure Functions und Projektionsmustern, nutzen können. Wiederherstellung oder Konsistenzeinstellungen ersetzt er nicht.' },
      hint: { en: 'Think ordered mutations plus serverless event handling.', de: 'Denken Sie an geordnete Änderungen plus serverlose Ereignisverarbeitung.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/change-feed'
    },
    {
      id: 'dp900-268',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which statements correctly compare the Cosmos DB transactional store and analytical store?', de: 'Welche Aussagen vergleichen den transaktionalen Speicher und den analytischen Speicher von Cosmos DB korrekt?' },
      options: [{ id: 'A', text: { en: 'The transactional store is optimized for operational reads and writes', de: 'Der transaktionale Speicher ist für operative Lese- und Schreibvorgänge optimiert' } }, { id: 'B', text: { en: 'The analytical store is optimized for large analytical scans', de: 'Der analytische Speicher ist für große analytische Scans optimiert' } }, { id: 'C', text: { en: 'Synapse Link can query the analytical store with reduced impact on transactional workloads', de: 'Synapse Link kann den analytischen Speicher mit geringeren Auswirkungen auf transaktionale Workloads abfragen' } }, { id: 'D', text: { en: 'The analytical store replaces the need for a partition key design', de: 'Der analytische Speicher ersetzt die Notwendigkeit eines Partition-Key-Designs' } }, { id: 'E', text: { en: 'The transactional store is intended only for blob archive scenarios', de: 'Der transaktionale Speicher ist nur für Blob-Archiv-Szenarien gedacht' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Cosmos DB separates operational and analytical access patterns through the transactional and analytical stores. Synapse Link uses the analytical representation to support reporting workloads more efficiently.', de: 'Cosmos DB trennt operative und analytische Zugriffsmuster über den transaktionalen und den analytischen Speicher. Synapse Link nutzt die analytische Darstellung, um Reporting-Workloads effizienter zu unterstützen.' },
      hint: { en: 'Choose the options that separate operational and analytical purposes.', de: 'Wählen Sie die Optionen, die operative und analytische Zwecke voneinander trennen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/synapse-link'
    },
    {
      id: 'dp900-269',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which statements about Azure Queue Storage message handling are correct?', de: 'Welche Aussagen zur Nachrichtenverarbeitung in Azure Queue Storage sind korrekt?' },
      options: [{ id: 'A', text: { en: 'A dequeued message can become temporarily invisible through a visibility timeout', de: 'Eine ausgelesene Nachricht kann durch ein Sichtbarkeits-Timeout vorübergehend unsichtbar werden' } }, { id: 'B', text: { en: 'Applications commonly delete a message after successful processing', de: 'Anwendungen löschen eine Nachricht üblicherweise nach erfolgreicher Verarbeitung' } }, { id: 'C', text: { en: 'The service is useful for decoupled background work', de: 'Der Dienst ist nützlich für entkoppelte Hintergrundarbeit' } }, { id: 'D', text: { en: 'Messages can be queried with T-SQL joins', de: 'Nachrichten können mit T-SQL-Joins abgefragt werden' } }, { id: 'E', text: { en: 'Every queue acts as a graph database by default', de: 'Jede Warteschlange fungiert standardmäßig als Graphdatenbank' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Queue Storage supports asynchronous processing patterns in which workers retrieve, process, and then delete messages. Visibility timeout prevents other workers from processing the same message immediately.', de: 'Queue Storage unterstützt asynchrone Verarbeitungsmuster, bei denen Worker Nachrichten abrufen, verarbeiten und anschließend löschen. Das Sichtbarkeits-Timeout verhindert, dass andere Worker dieselbe Nachricht sofort erneut verarbeiten.' },
      hint: { en: 'Think work queues and temporary invisibility after dequeue.', de: 'Denken Sie an Arbeitswarteschlangen und vorübergehende Unsichtbarkeit nach dem Abruf.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/queues/storage-queues-introduction'
    },
    {
      id: 'dp900-270',
      type: 'multiple',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'hard',
      scenario: null,
      question: { en: 'Which requirements specifically favor Azure Files over Azure Blob Storage?', de: 'Welche Anforderungen sprechen speziell für Azure Files statt für Azure Blob Storage?' },
      options: [{ id: 'A', text: { en: 'Users must mount storage over SMB or NFS', de: 'Benutzer müssen Speicher über SMB oder NFS einbinden' } }, { id: 'B', text: { en: 'Multiple servers need a shared file system with familiar file paths', de: 'Mehrere Server benötigen ein gemeinsames Dateisystem mit vertrauten Dateipfaden' } }, { id: 'C', text: { en: 'A legacy application expects standard file share semantics', de: 'Eine Legacyanwendung erwartet Standardsemantik einer Dateifreigabe' } }, { id: 'D', text: { en: 'The workload depends on hot, cool, and archive object tiers', de: 'Der Workload hängt von den Objektzugriffsebenen Hot, Cool und Archive ab' } }, { id: 'E', text: { en: 'The solution must expose a static website endpoint', de: 'Die Lösung muss einen Endpunkt für statische Websites bereitstellen' } }],
      correct: ['A', 'B', 'C'],
      explanation: { en: 'Azure Files is the right choice when applications need mounted shared storage and classic file share behavior. Blob Storage is object storage and better aligned with tiered objects and static website endpoints.', de: 'Azure Files ist die richtige Wahl, wenn Anwendungen eingebundene gemeinsame Speicherressourcen und klassisches Dateifreigabeverhalten benötigen. Blob Storage ist Objektspeicher und besser für gestufte Objekte sowie Endpunkte statischer Websites geeignet.' },
      hint: { en: 'Look for mounted shared storage, not object storage.', de: 'Achten Sie auf eingebundenen gemeinsamen Speicher und nicht auf Objektspeicher.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/files/storage-files-introduction'
    },
    {
      id: 'dp900-271',
      type: 'scenario',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: { en: 'Contoso stores compliance training videos for seven years. Employees almost never access the files, and retrieval can take several hours if necessary. The company wants the lowest possible storage cost.', de: 'Contoso speichert Schulungsvideos zur Compliance für sieben Jahre. Mitarbeiter greifen fast nie auf die Dateien zu, und ein Abruf darf bei Bedarf mehrere Stunden dauern. Das Unternehmen möchte die Speicherkosten so gering wie möglich halten.' },
      question: { en: 'Which Azure Blob Storage access tier should Contoso use?', de: 'Welche Zugriffsebene von Azure Blob Storage sollte Contoso verwenden?' },
      options: [{ id: 'A', text: { en: 'Hot', de: 'Hot' } }, { id: 'B', text: { en: 'Cool', de: 'Cool' } }, { id: 'C', text: { en: 'Archive', de: 'Archive' } }, { id: 'D', text: { en: 'Premium file share', de: 'Premium-Dateifreigabe' } }],
      correct: ['C'],
      explanation: { en: 'The archive tier is designed for data that is rarely accessed and can tolerate rehydration delay. It offers the lowest storage cost among blob tiers.', de: 'Die Archive-Ebene ist für Daten ausgelegt, auf die selten zugegriffen wird und die eine Verzögerung durch Rehydrierung tolerieren können. Sie bietet die niedrigsten Speicherkosten unter den Blob-Ebenen.' },
      hint: { en: 'The files are long-term and rarely needed.', de: 'Die Dateien werden langfristig aufbewahrt und nur selten benötigt.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview'
    },
    {
      id: 'dp900-272',
      type: 'scenario',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: { en: 'Fabrikam data engineers store raw files for Spark jobs. They need folder-style paths, atomic rename operations, and POSIX-like ACLs for each team. They want to use one Azure storage service.', de: 'Die Dateningenieure von Fabrikam speichern Rohdateien für Spark-Jobs. Sie benötigen ordnerähnliche Pfade, atomare Umbenennungsvorgänge und POSIX-ähnliche ACLs für jedes Team. Sie möchten einen einzigen Azure-Speicherdienst verwenden.' },
      question: { en: 'Which Azure storage capability should Fabrikam enable?', de: 'Welche Azure-Speicherfunktion sollte Fabrikam aktivieren?' },
      options: [{ id: 'A', text: { en: 'Blob index tags only', de: 'Nur Blobindex-Tags' } }, { id: 'B', text: { en: 'Hierarchical namespace in ADLS Gen2', de: 'Hierarchischer Namespace in ADLS Gen2' } }, { id: 'C', text: { en: 'Static website hosting', de: 'Hosting statischer Websites' } }, { id: 'D', text: { en: 'Archive rehydration', de: 'Archiv-Rehydrierung' } }],
      correct: ['B'],
      explanation: { en: 'Hierarchical namespace gives Data Lake Storage Gen2 file system semantics such as directories, ACLs, and efficient rename operations. These are exactly the features Spark and analytics teams often need.', de: 'Der hierarchische Namespace verleiht Data Lake Storage Gen2 Dateisystemsemantik wie Verzeichnisse, ACLs und effiziente Umbenennungsvorgänge. Genau diese Funktionen benötigen Spark- und Analyseteams häufig.' },
      hint: { en: 'Think file system behavior on top of object storage.', de: 'Denken Sie an Dateisystemverhalten auf Basis von Objektspeicher.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-namespace'
    },
    {
      id: 'dp900-273',
      type: 'scenario',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: { en: 'Tailwind Traders runs a global retail application on Azure Cosmos DB. Each shopper should read recent changes made in the same session, but the company also wants lower latency than strong consistency. The default setting should suit most application requests.', de: 'Tailwind Traders betreibt eine globale Einzelhandelsanwendung auf Azure Cosmos DB. Jeder Käufer soll in derselben Sitzung seine zuletzt vorgenommenen Änderungen lesen können, gleichzeitig möchte das Unternehmen eine geringere Latenz als bei starker Konsistenz. Die Standardeinstellung soll für die meisten Anfragen geeignet sein.' },
      question: { en: 'Which consistency level best fits this requirement?', de: 'Welche Konsistenzstufe passt am besten zu dieser Anforderung?' },
      options: [{ id: 'A', text: { en: 'Strong', de: 'Strong' } }, { id: 'B', text: { en: 'Session', de: 'Session' } }, { id: 'C', text: { en: 'Eventual', de: 'Eventual' } }, { id: 'D', text: { en: 'Snapshot', de: 'Snapshot' } }],
      correct: ['B'],
      explanation: { en: 'Session consistency is a common default for user-centric applications because it can provide read-your-writes behavior within a client session while offering lower latency than strong consistency.', de: 'Session-Konsistenz ist eine gängige Standardeinstellung für benutzerzentrierte Anwendungen, weil sie Read-your-writes innerhalb einer Clientsitzung ermöglichen kann und gleichzeitig eine geringere Latenz als starke Konsistenz bietet.' },
      hint: { en: 'The key phrase is read-your-writes for one user session.', de: 'Der zentrale Hinweis lautet Read-your-writes für eine Benutzersitzung.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/consistency-levels'
    },
    {
      id: 'dp900-274',
      type: 'scenario',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: { en: 'Litware stores order documents in Azure Cosmos DB. A downstream service must react whenever an order is inserted or updated, without repeatedly scanning the full container. The team wants an event-driven design.', de: 'Litware speichert Bestelldokumente in Azure Cosmos DB. Ein nachgelagerter Dienst muss reagieren, sobald eine Bestellung eingefügt oder aktualisiert wird, ohne den gesamten Container wiederholt zu durchsuchen. Das Team möchte ein ereignisgesteuertes Design.' },
      question: { en: 'Which Cosmos DB capability should Litware use?', de: 'Welche Funktion von Cosmos DB sollte Litware verwenden?' },
      options: [{ id: 'A', text: { en: 'Change feed', de: 'Change Feed' } }, { id: 'B', text: { en: 'Archive tier', de: 'Archive-Ebene' } }, { id: 'C', text: { en: 'Transparent Data Encryption', de: 'Transparent Data Encryption' } }, { id: 'D', text: { en: 'Consumer group', de: 'Consumergruppe' } }],
      correct: ['A'],
      explanation: { en: 'The change feed exposes inserts and updates as an ordered stream that downstream processors can consume. This avoids full scans and supports event-driven integration.', de: 'Der Change Feed stellt Einfügungen und Aktualisierungen als geordneten Strom bereit, den nachgelagerte Prozessoren konsumieren können. Dadurch werden Vollscans vermieden und ereignisgesteuerte Integrationen unterstützt.' },
      hint: { en: 'Look for an ordered stream of document changes.', de: 'Achten Sie auf einen geordneten Strom von Dokumentänderungen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/cosmos-db/change-feed'
    },
    {
      id: 'dp900-275',
      type: 'scenario',
      domain: { en: 'Describe considerations for working with non-relational data on Azure', de: 'Überlegungen zur Arbeit mit nicht relationalen Daten in Azure beschreiben' },
      difficulty: 'easy',
      scenario: { en: 'Woodgrove Bank wants to publish a brochure website that contains only HTML, CSS, JavaScript, and image files. The site does not require server-side code or a database. The team wants the simplest Azure storage-based hosting option.', de: 'Woodgrove Bank möchte eine Broschürenwebsite veröffentlichen, die nur aus HTML-, CSS-, JavaScript- und Bilddateien besteht. Die Website benötigt keinen serverseitigen Code und keine Datenbank. Das Team möchte die einfachste speicherbasierte Hostingoption in Azure.' },
      question: { en: 'Which capability should Woodgrove Bank use?', de: 'Welche Funktion sollte Woodgrove Bank verwenden?' },
      options: [{ id: 'A', text: { en: 'Azure Files over SMB', de: 'Azure Files über SMB' } }, { id: 'B', text: { en: 'Static website hosting in Blob Storage', de: 'Hosting statischer Websites in Blob Storage' } }, { id: 'C', text: { en: 'Cosmos DB analytical store', de: 'Analytischer Speicher von Cosmos DB' } }, { id: 'D', text: { en: 'SQL Managed Instance', de: 'SQL Managed Instance' } }],
      correct: ['B'],
      explanation: { en: 'Static website hosting in Blob Storage is intended for static web content and exposes a website endpoint directly from the storage account. No server-side runtime is required.', de: 'Das Hosting statischer Websites in Blob Storage ist für statische Webinhalte vorgesehen und stellt direkt aus dem Speicherkonto einen Website-Endpunkt bereit. Eine serverseitige Laufzeit ist nicht erforderlich.' },
      hint: { en: 'The site is fully static and storage-based.', de: 'Die Website ist vollständig statisch und speicherbasiert.' },
      reference: 'https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website'
    },
    {
      id: 'dp900-276',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Contoso stores raw sales files in a data lake. Analysts run a few ad hoc SQL queries each week, and the workload is unpredictable. The company wants to avoid reserving compute when no queries are running.', de: 'Contoso speichert Rohdateien zu Verkäufen in einem Data Lake. Analysten führen jede Woche einige Ad-hoc-SQL-Abfragen aus, und die Auslastung ist unvorhersehbar. Das Unternehmen möchte keine Rechenleistung reservieren, wenn keine Abfragen laufen.' },
      question: { en: 'Which Azure Synapse option should Contoso use?', de: 'Welche Azure-Synapse-Option sollte Contoso verwenden?' },
      options: [{ id: 'A', text: { en: 'Serverless SQL pool', de: 'Serverloser SQL-Pool' } }, { id: 'B', text: { en: 'Dedicated SQL pool', de: 'Dedizierter SQL-Pool' } }, { id: 'C', text: { en: 'Azure SQL Managed Instance', de: 'Azure SQL Managed Instance' } }, { id: 'D', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }],
      correct: ['A'],
      explanation: { en: 'Serverless SQL pool is designed for on-demand SQL queries over files in storage. It avoids pre-provisioned compute and fits irregular exploratory workloads.', de: 'Der serverlose SQL-Pool ist für bedarfsorientierte SQL-Abfragen über Dateien im Speicher ausgelegt. Er vermeidet vorab reservierte Rechenleistung und passt zu unregelmäßigen explorativen Workloads.' },
      hint: { en: 'Look for file-based SQL with no reserved capacity.', de: 'Achten Sie auf dateibasierte SQL-Abfragen ohne reservierte Kapazität.' },
      reference: 'https://learn.microsoft.com/en-us/azure/synapse-analytics/sql/overview-what-is'
    },
    {
      id: 'dp900-277',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Fabrikam has a curated star schema that powers finance dashboards all day. Query volume is high and predictable, and performance must stay consistent for many business users. The company is willing to provision dedicated resources.', de: 'Fabrikam verfügt über ein kuratiertes Sternschema, das den ganzen Tag Finanzdashboards versorgt. Das Abfragevolumen ist hoch und vorhersehbar, und die Leistung muss für viele Geschäftsbenutzer konstant bleiben. Das Unternehmen ist bereit, dedizierte Ressourcen bereitzustellen.' },
      question: { en: 'Which Synapse option best fits this workload?', de: 'Welche Synapse-Option passt am besten zu diesem Workload?' },
      options: [{ id: 'A', text: { en: 'Serverless SQL pool', de: 'Serverloser SQL-Pool' } }, { id: 'B', text: { en: 'Dedicated SQL pool', de: 'Dedizierter SQL-Pool' } }, { id: 'C', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'D', text: { en: 'Blob static website', de: 'Statische Website in Blob Storage' } }],
      correct: ['B'],
      explanation: { en: 'Dedicated SQL pool is intended for predictable analytical warehouse workloads that justify provisioned compute and consistent performance. This fits heavily used curated reporting environments.', de: 'Der dedizierte SQL-Pool ist für vorhersehbare analytische Warehouse-Workloads gedacht, die bereitgestellte Rechenleistung und konstante Performance rechtfertigen. Das passt zu stark genutzten kuratierten Reportingumgebungen.' },
      hint: { en: 'Think provisioned warehouse compute for predictable demand.', de: 'Denken Sie an bereitgestellte Warehouse-Compute für vorhersehbare Nachfrage.' },
      reference: 'https://learn.microsoft.com/en-us/azure/synapse-analytics/sql/overview-what-is'
    },
    {
      id: 'dp900-278',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Tailwind Traders loads a 4 TB sales fact table into Synapse. Most large joins use CustomerKey, and the team wants to reduce data movement during those joins. Query performance on the fact table is a top priority.', de: 'Tailwind Traders lädt eine 4-TB-Verkaufstabelle in Synapse. Die meisten großen Joins verwenden CustomerKey, und das Team möchte Datenbewegungen bei diesen Joins reduzieren. Die Abfrageleistung auf der Faktentabelle hat höchste Priorität.' },
      question: { en: 'Which table design should Tailwind Traders choose?', de: 'Welches Tabellendesign sollte Tailwind Traders wählen?' },
      options: [{ id: 'A', text: { en: 'Hash distribute the fact table on CustomerKey', de: 'Die Faktentabelle per Hash auf CustomerKey verteilen' } }, { id: 'B', text: { en: 'Round-robin every table', de: 'Jede Tabelle Round-Robin verteilen' } }, { id: 'C', text: { en: 'Replicate the large fact table to every node', de: 'Die große Faktentabelle auf jeden Knoten replizieren' } }, { id: 'D', text: { en: 'Store the fact table only in archive storage', de: 'Die Faktentabelle nur im Archivspeicher speichern' } }],
      correct: ['A'],
      explanation: { en: 'Hash distribution on a common join key can reduce data movement for large joins and improve parallel query execution. It is a typical design choice for large fact tables in Synapse.', de: 'Eine Hashverteilung auf einen häufig genutzten Join-Schlüssel kann Datenbewegungen bei großen Joins reduzieren und die parallele Abfrageausführung verbessern. Das ist eine typische Entwurfsentscheidung für große Faktentabellen in Synapse.' },
      hint: { en: 'Use the join key that dominates large fact table joins.', de: 'Verwenden Sie den Join-Schlüssel, der große Faktentabellen-Joins dominiert.' },
      reference: 'https://learn.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-distribute'
    },
    {
      id: 'dp900-279',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Litware data scientists need collaborative notebooks, Apache Spark clusters, Python libraries, and iterative machine learning experiments. They also want to build data engineering pipelines in the same environment. The team prefers a managed analytics platform.', de: 'Die Datenwissenschaftler von Litware benötigen kollaborative Notebooks, Apache-Spark-Cluster, Python-Bibliotheken und iterative Machine-Learning-Experimente. Außerdem möchten sie Data-Engineering-Pipelines in derselben Umgebung erstellen. Das Team bevorzugt eine verwaltete Analyseplattform.' },
      question: { en: 'Which Azure service best fits this need?', de: 'Welcher Azure-Dienst passt am besten zu diesem Bedarf?' },
      options: [{ id: 'A', text: { en: 'Azure Databricks', de: 'Azure Databricks' } }, { id: 'B', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'C', text: { en: 'Azure SQL Ledger', de: 'Azure SQL Ledger' } }, { id: 'D', text: { en: 'Azure Files', de: 'Azure Files' } }],
      correct: ['A'],
      explanation: { en: 'Azure Databricks provides a collaborative Spark-based environment for data engineering, data science, and machine learning. It combines notebooks, clusters, and managed analytics capabilities.', de: 'Azure Databricks bietet eine kollaborative Spark-basierte Umgebung für Data Engineering, Data Science und Machine Learning. Es kombiniert Notebooks, Cluster und verwaltete Analysefunktionen.' },
      hint: { en: 'Look for managed Spark plus notebooks and ML.', de: 'Achten Sie auf verwaltetes Spark plus Notebooks und ML.' },
      reference: 'https://learn.microsoft.com/en-us/azure/databricks/introduction/'
    },
    {
      id: 'dp900-280',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Woodgrove Bank ingests billions of security log events each day. Analysts need fast, interactive investigation with KQL and near real-time visibility into telemetry patterns. The data is append-heavy and time oriented.', de: 'Woodgrove Bank nimmt täglich Milliarden von Sicherheitsprotokollereignissen auf. Analysten benötigen schnelle interaktive Untersuchungen mit KQL und eine nahezu Echtzeit-Sicht auf Telemetriemuster. Die Daten sind append-lastig und zeitbezogen.' },
      question: { en: 'Which Azure service should Woodgrove Bank use?', de: 'Welchen Azure-Dienst sollte Woodgrove Bank verwenden?' },
      options: [{ id: 'A', text: { en: 'Azure Data Explorer', de: 'Azure Data Explorer' } }, { id: 'B', text: { en: 'Azure SQL Managed Instance', de: 'Azure SQL Managed Instance' } }, { id: 'C', text: { en: 'Azure Files', de: 'Azure Files' } }, { id: 'D', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }],
      correct: ['A'],
      explanation: { en: 'Azure Data Explorer is optimized for high-ingest telemetry and log analytics using KQL. It is built for rapid exploration of large append-only data sets.', de: 'Azure Data Explorer ist für Telemetrie- und Loganalysen mit hoher Aufnahmegeschwindigkeit unter Verwendung von KQL optimiert. Er ist für die schnelle Untersuchung großer append-only Datenbestände ausgelegt.' },
      hint: { en: 'The scenario emphasizes KQL and high-volume telemetry.', de: 'Das Szenario betont KQL und Telemetrie mit hohem Volumen.' },
      reference: 'https://learn.microsoft.com/en-us/azure/data-explorer/data-explorer-overview'
    },
    {
      id: 'dp900-281',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Trey Research receives temperature events from lab devices. The team wants an average every 5 minutes, and each event must belong to exactly one window. The windows must not overlap.', de: 'Trey Research erhält Temperaturereignisse von Laborgeräten. Das Team möchte alle fünf Minuten einen Durchschnittswert, und jedes Ereignis soll genau zu einem Fenster gehören. Die Fenster dürfen sich nicht überschneiden.' },
      question: { en: 'Which Stream Analytics window type should Trey Research use?', de: 'Welchen Fenstertyp von Stream Analytics sollte Trey Research verwenden?' },
      options: [{ id: 'A', text: { en: 'Sliding window', de: 'Sliding Window' } }, { id: 'B', text: { en: 'Session window', de: 'Session Window' } }, { id: 'C', text: { en: 'Tumbling window', de: 'Tumbling Window' } }, { id: 'D', text: { en: 'Snapshot window', de: 'Snapshot Window' } }],
      correct: ['C'],
      explanation: { en: 'A tumbling window uses fixed, non-overlapping time intervals. That matches the requirement for one event to appear in only one 5-minute result set.', de: 'Ein Tumbling Window verwendet feste, nicht überlappende Zeitintervalle. Das entspricht der Anforderung, dass ein Ereignis nur in einem einzigen 5-Minuten-Ergebnissatz erscheinen soll.' },
      hint: { en: 'The windows are fixed and non-overlapping.', de: 'Die Fenster sind fest und überlappen sich nicht.' },
      reference: 'https://learn.microsoft.com/en-us/azure/stream-analytics/stream-analytics-window-functions'
    },
    {
      id: 'dp900-282',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Datum Corporation monitors web traffic continuously. It wants a 10-minute rolling analysis that produces a result every 5 minutes. Each result should overlap with the previous one.', de: 'Datum Corporation überwacht den Webverkehr kontinuierlich. Das Unternehmen möchte eine 10-minütige laufende Analyse, die alle 5 Minuten ein Ergebnis liefert. Jedes Ergebnis soll sich mit dem vorherigen überschneiden.' },
      question: { en: 'Which Stream Analytics window type should Datum Corporation choose?', de: 'Welchen Fenstertyp von Stream Analytics sollte Datum Corporation wählen?' },
      options: [{ id: 'A', text: { en: 'Hopping window', de: 'Hopping Window' } }, { id: 'B', text: { en: 'Tumbling window', de: 'Tumbling Window' } }, { id: 'C', text: { en: 'Archive window', de: 'Archive Window' } }, { id: 'D', text: { en: 'Static window', de: 'Static Window' } }],
      correct: ['A'],
      explanation: { en: 'A hopping window produces windows of a defined size at a regular hop interval, which can create overlap. A 10-minute window that advances every 5 minutes is a classic hopping example.', de: 'Ein Hopping Window erzeugt Fenster definierter Größe in einem regelmäßigen Hop-Intervall, wodurch Überlappungen entstehen können. Ein 10-Minuten-Fenster, das alle 5 Minuten weitergeschoben wird, ist ein klassisches Beispiel dafür.' },
      hint: { en: 'The window size is larger than the output interval.', de: 'Die Fenstergröße ist größer als das Ausgabeintervall.' },
      reference: 'https://learn.microsoft.com/en-us/azure/stream-analytics/stream-analytics-window-functions'
    },
    {
      id: 'dp900-283',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Northwind Traders wants to raise an alert whenever the number of failed payments in the immediately preceding two minutes exceeds a threshold. The calculation should be reevaluated whenever a new event arrives. The window should move continuously.', de: 'Northwind Traders möchte einen Alarm auslösen, wenn die Anzahl fehlgeschlagener Zahlungen in den unmittelbar vorhergehenden zwei Minuten einen Schwellenwert überschreitet. Die Berechnung soll bei jedem neuen Ereignis neu ausgewertet werden. Das Fenster soll sich kontinuierlich bewegen.' },
      question: { en: 'Which Stream Analytics window type is the best fit?', de: 'Welcher Fenstertyp von Stream Analytics ist am besten geeignet?' },
      options: [{ id: 'A', text: { en: 'Tumbling window', de: 'Tumbling Window' } }, { id: 'B', text: { en: 'Sliding window', de: 'Sliding Window' } }, { id: 'C', text: { en: 'Hopping window', de: 'Hopping Window' } }, { id: 'D', text: { en: 'Batch window', de: 'Batch Window' } }],
      correct: ['B'],
      explanation: { en: 'A sliding window is reevaluated continuously as new events arrive, making it a good fit for rolling threshold detection over the immediately preceding time period.', de: 'Ein Sliding Window wird bei Eintreffen neuer Ereignisse kontinuierlich neu ausgewertet und eignet sich daher gut für die Erkennung von Schwellenwerten über den unmittelbar vorhergehenden Zeitraum.' },
      hint: { en: 'The requirement says reevaluate continuously as events arrive.', de: 'Die Anforderung lautet, bei eintreffenden Ereignissen kontinuierlich neu auszuwerten.' },
      reference: 'https://learn.microsoft.com/en-us/azure/stream-analytics/stream-analytics-window-functions'
    },
    {
      id: 'dp900-284',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Proseware builds a SaaS application for external customers. It wants to embed interactive dashboards directly inside the product experience. The users should not need separate Power BI workspaces to consume the analytics.', de: 'Proseware entwickelt eine SaaS-Anwendung für externe Kunden. Das Unternehmen möchte interaktive Dashboards direkt in das Produkterlebnis einbetten. Die Benutzer sollen keine separaten Power-BI-Arbeitsbereiche benötigen, um die Analysen zu nutzen.' },
      question: { en: 'Which capability should Proseware choose?', de: 'Welche Funktion sollte Proseware wählen?' },
      options: [{ id: 'A', text: { en: 'Power BI Embedded', de: 'Power BI Embedded' } }, { id: 'B', text: { en: 'Azure Analysis Services only', de: 'Nur Azure Analysis Services' } }, { id: 'C', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'D', text: { en: 'Static website hosting', de: 'Hosting statischer Websites' } }],
      correct: ['A'],
      explanation: { en: 'Power BI Embedded is built to embed customer-facing analytics into custom applications. It provides the capabilities needed for application-integrated report experiences.', de: 'Power BI Embedded wurde entwickelt, um kundenorientierte Analysen in benutzerdefinierte Anwendungen einzubetten. Es bietet die Funktionen, die für integrierte Berichtserlebnisse in Anwendungen erforderlich sind.' },
      hint: { en: 'The users are external customers inside a custom app.', de: 'Die Benutzer sind externe Kunden innerhalb einer benutzerdefinierten Anwendung.' },
      reference: 'https://learn.microsoft.com/en-us/power-bi/developer/embedded/embedded-analytics-power-bi'
    },
    {
      id: 'dp900-285',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Contoso has many business analysts preparing similar data sets for reports. The company wants reusable, self-service data preparation artifacts that can be shared across multiple Power BI reports and datasets. Analysts should not rebuild the same cleansing logic repeatedly.', de: 'Contoso hat viele Business-Analysten, die ähnliche Datensätze für Berichte vorbereiten. Das Unternehmen möchte wiederverwendbare Self-Service-Artefakte zur Datenaufbereitung, die über mehrere Power-BI-Berichte und Datasets hinweg geteilt werden können. Analysten sollen dieselbe Bereinigungslogik nicht wiederholt neu erstellen.' },
      question: { en: 'Which Power BI feature best fits this requirement?', de: 'Welche Power-BI-Funktion passt am besten zu dieser Anforderung?' },
      options: [{ id: 'A', text: { en: 'Power BI dataflows', de: 'Power BI Dataflows' } }, { id: 'B', text: { en: 'Event Hubs consumer groups', de: 'Event-Hubs-Consumergruppen' } }, { id: 'C', text: { en: 'Azure SQL Ledger', de: 'Azure SQL Ledger' } }, { id: 'D', text: { en: 'Azure Files', de: 'Azure Files' } }],
      correct: ['A'],
      explanation: { en: 'Power BI dataflows provide reusable, self-service ETL-style preparation that many reports and models can consume. They help standardize transformation logic across teams.', de: 'Power BI Dataflows bieten wiederverwendbare, Self-Service-orientierte ETL-ähnliche Aufbereitung, die von vielen Berichten und Modellen genutzt werden kann. Sie helfen, Transformationslogik teamübergreifend zu standardisieren.' },
      hint: { en: 'Look for reusable self-service preparation in Power BI.', de: 'Achten Sie auf wiederverwendbare Self-Service-Datenaufbereitung in Power BI.' },
      reference: 'https://learn.microsoft.com/en-us/power-bi/transform-model/dataflows/dataflows-introduction-self-service'
    },
    {
      id: 'dp900-286',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Fabrikam uses one sales semantic model for all regional managers. Each manager must see only data for the region they own, while report design remains shared. The security should be enforced at the data row level.', de: 'Fabrikam verwendet ein gemeinsames Verkaufs-Semantikmodell für alle Regionalmanager. Jeder Manager darf nur die Daten seiner eigenen Region sehen, während das Berichtdesign gemeinsam genutzt wird. Die Sicherheit soll auf Datenzeilenebene erzwungen werden.' },
      question: { en: 'Which Power BI capability should Fabrikam implement?', de: 'Welche Power-BI-Funktion sollte Fabrikam implementieren?' },
      options: [{ id: 'A', text: { en: 'Power BI Row-Level Security', de: 'Power BI Row-Level Security' } }, { id: 'B', text: { en: 'Power BI Embedded', de: 'Power BI Embedded' } }, { id: 'C', text: { en: 'Azure Data Explorer', de: 'Azure Data Explorer' } }, { id: 'D', text: { en: 'Static website hosting', de: 'Hosting statischer Websites' } }],
      correct: ['A'],
      explanation: { en: 'Row-Level Security in Power BI restricts visible rows according to role filters. It allows one shared model and report to present different data slices to different users.', de: 'Row-Level Security in Power BI beschränkt sichtbare Zeilen anhand von Rollenfiltern. Dadurch kann ein gemeinsames Modell und ein gemeinsamer Bericht unterschiedlichen Benutzern verschiedene Datenausschnitte anzeigen.' },
      hint: { en: 'The design is shared, but the visible rows differ by user.', de: 'Das Design ist gemeinsam, aber die sichtbaren Zeilen unterscheiden sich je nach Benutzer.' },
      reference: 'https://learn.microsoft.com/en-us/power-bi/enterprise/service-admin-rls'
    },
    {
      id: 'dp900-287',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Tailwind Traders needs scheduled pipelines to copy data from multiple sources, trigger transformations, and monitor end-to-end workflow status. The team wants a managed orchestration service with visual authoring. Minimal custom scheduling code is preferred.', de: 'Tailwind Traders benötigt geplante Pipelines, um Daten aus mehreren Quellen zu kopieren, Transformationen auszulösen und den Status des End-to-End-Workflows zu überwachen. Das Team möchte einen verwalteten Orchestrierungsdienst mit visueller Erstellung. Möglichst wenig benutzerdefinierter Scheduling-Code ist gewünscht.' },
      question: { en: 'Which Azure service should Tailwind Traders choose?', de: 'Welchen Azure-Dienst sollte Tailwind Traders wählen?' },
      options: [{ id: 'A', text: { en: 'Azure Data Factory', de: 'Azure Data Factory' } }, { id: 'B', text: { en: 'Azure Files', de: 'Azure Files' } }, { id: 'C', text: { en: 'Azure SQL Managed Instance', de: 'Azure SQL Managed Instance' } }, { id: 'D', text: { en: 'Power BI Embedded', de: 'Power BI Embedded' } }],
      correct: ['A'],
      explanation: { en: 'Azure Data Factory is designed for orchestrating and monitoring data movement and transformation pipelines across many sources. It offers managed scheduling and visual pipeline development.', de: 'Azure Data Factory wurde entwickelt, um Datenbewegungs- und Transformationspipelines über viele Quellen hinweg zu orchestrieren und zu überwachen. Es bietet verwaltetes Scheduling und visuelle Pipelineentwicklung.' },
      hint: { en: 'Focus on pipeline orchestration and monitoring.', de: 'Konzentrieren Sie sich auf Pipeline-Orchestrierung und Überwachung.' },
      reference: 'https://learn.microsoft.com/en-us/azure/data-factory/introduction'
    },
    {
      id: 'dp900-288',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Litware wants a centrally managed enterprise tabular semantic model with reusable calculations and DAX. Multiple reporting tools will consume the same governed model. The analytics team wants a dedicated semantic layer.', de: 'Litware möchte ein zentral verwaltetes unternehmensweites tabellarisches Semantikmodell mit wiederverwendbaren Berechnungen und DAX. Mehrere Reporting-Tools sollen dasselbe governte Modell nutzen. Das Analyseteam wünscht sich eine dedizierte semantische Ebene.' },
      question: { en: 'Which Azure service best matches this requirement?', de: 'Welcher Azure-Dienst passt am besten zu dieser Anforderung?' },
      options: [{ id: 'A', text: { en: 'Azure Analysis Services', de: 'Azure Analysis Services' } }, { id: 'B', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'C', text: { en: 'Azure Blob archive tier', de: 'Azure Blob Archive-Tier' } }, { id: 'D', text: { en: 'Azure Event Hubs', de: 'Azure Event Hubs' } }],
      correct: ['A'],
      explanation: { en: 'Azure Analysis Services provides a governed tabular semantic layer with reusable measures, calculations, and enterprise modeling capabilities. It is designed for centralized BI models.', de: 'Azure Analysis Services bietet eine governte tabellarische semantische Ebene mit wiederverwendbaren Kennzahlen, Berechnungen und Enterprise-Modellierungsfunktionen. Es ist für zentralisierte BI-Modelle ausgelegt.' },
      hint: { en: 'Think semantic model and DAX, not data ingestion.', de: 'Denken Sie an Semantikmodell und DAX, nicht an Datenaufnahme.' },
      reference: 'https://learn.microsoft.com/en-us/analysis-services/analysis-services-overview'
    },
    {
      id: 'dp900-289',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Woodgrove Bank sends transaction events to Azure Event Hubs. A fraud service, an archival service, and a real-time dashboard must each read every event independently. Each application needs its own read position.', de: 'Woodgrove Bank sendet Transaktionsereignisse an Azure Event Hubs. Ein Betrugsdienst, ein Archivierungsdienst und ein Echtzeitdashboard müssen jedes Ereignis unabhängig voneinander lesen. Jede Anwendung benötigt ihre eigene Leseposition.' },
      question: { en: 'What should Woodgrove Bank configure?', de: 'Was sollte Woodgrove Bank konfigurieren?' },
      options: [{ id: 'A', text: { en: 'Separate consumer groups', de: 'Separate Consumergruppen' } }, { id: 'B', text: { en: 'One shared archive tier', de: 'Eine gemeinsame Archive-Ebene' } }, { id: 'C', text: { en: 'A single Azure Files share', de: 'Eine einzelne Azure-Files-Freigabe' } }, { id: 'D', text: { en: 'A single SQL Ledger table', de: 'Eine einzelne SQL-Ledger-Tabelle' } }],
      correct: ['A'],
      explanation: { en: 'Consumer groups let separate applications maintain their own offsets while reading the same Event Hubs stream. This is the standard way to support independent readers.', de: 'Consumergruppen ermöglichen es separaten Anwendungen, ihre eigenen Offsets zu verwalten, während sie denselben Event-Hubs-Stream lesen. Dies ist der Standardweg, um unabhängige Leser zu unterstützen.' },
      hint: { en: 'Multiple readers need independent checkpoints.', de: 'Mehrere Leser benötigen unabhängige Prüfpunkte.' },
      reference: 'https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-features#consumer-groups'
    },
    {
      id: 'dp900-290',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Trey Research updates a dashboard from incoming event data. The business can tolerate one-minute latency, and processing small groups of arriving records at short intervals is acceptable. The team wants near real-time results without true per-event handling.', de: 'Trey Research aktualisiert ein Dashboard aus eingehenden Ereignisdaten. Das Fachgeschäft kann eine Latenz von einer Minute tolerieren, und die Verarbeitung kleiner Gruppen ankommender Datensätze in kurzen Intervallen ist akzeptabel. Das Team möchte nahezu Echtzeitergebnisse ohne echte Verarbeitung pro Einzelereignis.' },
      question: { en: 'Which processing style best fits this requirement?', de: 'Welcher Verarbeitungsstil passt am besten zu dieser Anforderung?' },
      options: [{ id: 'A', text: { en: 'Nightly batch processing', de: 'Nächtliche Batchverarbeitung' } }, { id: 'B', text: { en: 'Micro-batch processing', de: 'Micro-Batch-Verarbeitung' } }, { id: 'C', text: { en: 'Static website hosting', de: 'Hosting statischer Websites' } }, { id: 'D', text: { en: 'Archive rehydration', de: 'Archiv-Rehydrierung' } }],
      correct: ['B'],
      explanation: { en: 'Micro-batch processing groups arriving events into very small batches that run at frequent intervals. This matches near real-time reporting when small latency is acceptable.', de: 'Bei der Micro-Batch-Verarbeitung werden eingehende Ereignisse zu sehr kleinen Batches zusammengefasst, die in kurzen Intervallen verarbeitet werden. Das passt zu nahezu Echtzeit-Reporting, wenn eine geringe Latenz akzeptabel ist.' },
      hint: { en: 'The scenario allows short delays and small frequent batches.', de: 'Das Szenario erlaubt kurze Verzögerungen und kleine häufige Batches.' },
      reference: 'https://learn.microsoft.com/en-us/azure/databricks/structured-streaming/'
    },
    {
      id: 'dp900-291',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Datum Corporation has a curated warehouse loaded nightly. Hundreds of complex BI queries run during business hours, and performance must remain stable throughout the day. The workload is predictable enough to justify provisioned analytics compute.', de: 'Datum Corporation verfügt über ein kuratiertes Data Warehouse, das jede Nacht geladen wird. Hunderte komplexe BI-Abfragen laufen während der Geschäftszeiten, und die Leistung muss den ganzen Tag stabil bleiben. Der Workload ist ausreichend vorhersehbar, um bereitgestellte Analyse-Compute zu rechtfertigen.' },
      question: { en: 'Which Synapse compute model should support this warehouse?', de: 'Welches Synapse-Compute-Modell sollte dieses Warehouse unterstützen?' },
      options: [{ id: 'A', text: { en: 'Serverless SQL pool', de: 'Serverloser SQL-Pool' } }, { id: 'B', text: { en: 'Dedicated SQL pool', de: 'Dedizierter SQL-Pool' } }, { id: 'C', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'D', text: { en: 'Blob lifecycle management', de: 'Blob-Lebenszyklusverwaltung' } }],
      correct: ['B'],
      explanation: { en: 'Dedicated SQL pool is intended for recurring analytical warehouse workloads that need consistent, provisioned performance. It is better suited than serverless for steady heavy query demand.', de: 'Der dedizierte SQL-Pool ist für wiederkehrende analytische Warehouse-Workloads gedacht, die eine konsistente, bereitgestellte Leistung benötigen. Für dauerhaft hohe Abfragelasten ist er besser geeignet als die serverlose Variante.' },
      hint: { en: 'Look for stable, heavy, predictable warehouse demand.', de: 'Achten Sie auf stabile, hohe und vorhersehbare Warehouse-Nachfrage.' },
      reference: 'https://learn.microsoft.com/en-us/azure/synapse-analytics/sql/overview-what-is'
    },
    {
      id: 'dp900-292',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'medium',
      scenario: { en: 'Northwind Traders wants engineers to build Spark-based ETL pipelines and collaborate through notebooks. The same platform should support scalable data preparation and advanced analytics experiments. A managed service is preferred over self-hosted Spark clusters.', de: 'Northwind Traders möchte, dass Ingenieure Spark-basierte ETL-Pipelines erstellen und über Notebooks zusammenarbeiten. Dieselbe Plattform soll skalierbare Datenaufbereitung und fortgeschrittene Analyseexperimente unterstützen. Ein verwalteter Dienst wird gegenüber selbst gehosteten Spark-Clustern bevorzugt.' },
      question: { en: 'Which Azure service should Northwind Traders use?', de: 'Welchen Azure-Dienst sollte Northwind Traders verwenden?' },
      options: [{ id: 'A', text: { en: 'Azure Databricks', de: 'Azure Databricks' } }, { id: 'B', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'C', text: { en: 'Azure Files', de: 'Azure Files' } }, { id: 'D', text: { en: 'Azure SQL Ledger', de: 'Azure SQL Ledger' } }],
      correct: ['A'],
      explanation: { en: 'Azure Databricks is the managed Spark platform built for collaborative notebooks, ETL, and advanced analytics. It removes much of the operational burden of running Spark yourself.', de: 'Azure Databricks ist die verwaltete Spark-Plattform für kollaborative Notebooks, ETL und fortgeschrittene Analysen. Sie nimmt einen großen Teil des operativen Aufwands beim eigenen Betrieb von Spark ab.' },
      hint: { en: 'Think managed Spark notebooks and scalable ETL.', de: 'Denken Sie an verwaltete Spark-Notebooks und skalierbares ETL.' },
      reference: 'https://learn.microsoft.com/en-us/azure/databricks/introduction/'
    },
    {
      id: 'dp900-293',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'hard',
      scenario: { en: 'Humongous Insurance loads an 8 TB claims fact table into Synapse. Most queries join the fact table to dimensions on PolicyKey, and data movement is hurting performance. The team wants a distribution strategy that improves parallel joins on the largest table.', de: 'Humongous Insurance lädt eine 8-TB-Faktentabelle für Schadensfälle in Synapse. Die meisten Abfragen verknüpfen die Faktentabelle mit Dimensionen über PolicyKey, und Datenbewegungen beeinträchtigen die Leistung. Das Team möchte eine Verteilungsstrategie, die parallele Joins auf der größten Tabelle verbessert.' },
      question: { en: 'Which design should the team implement?', de: 'Welches Design sollte das Team implementieren?' },
      options: [{ id: 'A', text: { en: 'Hash distribute the fact table on PolicyKey', de: 'Die Faktentabelle per Hash auf PolicyKey verteilen' } }, { id: 'B', text: { en: 'Replicate the 8 TB fact table to every node', de: 'Die 8-TB-Faktentabelle auf jeden Knoten replizieren' } }, { id: 'C', text: { en: 'Use archive tier for the fact table', de: 'Für die Faktentabelle die Archive-Ebene verwenden' } }, { id: 'D', text: { en: 'Store the fact table only in Azure Files', de: 'Die Faktentabelle nur in Azure Files speichern' } }],
      correct: ['A'],
      explanation: { en: 'For very large fact tables, hash distribution on a frequent join key can reduce shuffles and improve parallel query performance. Replication is not appropriate for such a large table.', de: 'Für sehr große Faktentabellen kann eine Hashverteilung auf einen häufig genutzten Join-Schlüssel Shuffles reduzieren und die parallele Abfrageleistung verbessern. Eine Replikation ist für eine so große Tabelle nicht geeignet.' },
      hint: { en: 'Use the common join key on the biggest table.', de: 'Verwenden Sie den gemeinsamen Join-Schlüssel auf der größten Tabelle.' },
      reference: 'https://learn.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-distribute'
    },
    {
      id: 'dp900-294',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'hard',
      scenario: { en: 'Proseware sends clickstream events into Azure Event Hubs. A Stream Analytics job, a custom archiving service, and a machine learning feature extractor must each consume the full stream independently. The consumers must not interfere with one another or share checkpoints.', de: 'Proseware sendet Clickstream-Ereignisse an Azure Event Hubs. Ein Stream-Analytics-Job, ein benutzerdefinierter Archivierungsdienst und ein Machine-Learning-Feature-Extractor müssen jeweils den vollständigen Stream unabhängig konsumieren. Die Verbraucher dürfen sich nicht gegenseitig beeinflussen oder Prüfpunkte teilen.' },
      question: { en: 'What should Proseware configure in Event Hubs?', de: 'Was sollte Proseware in Event Hubs konfigurieren?' },
      options: [{ id: 'A', text: { en: 'Separate consumer groups for each application', de: 'Separate Consumergruppen für jede Anwendung' } }, { id: 'B', text: { en: 'One shared Azure Files mount', de: 'Eine gemeinsame Azure-Files-Einbindung' } }, { id: 'C', text: { en: 'A single row-level security policy', de: 'Eine einzelne Row-Level-Security-Richtlinie' } }, { id: 'D', text: { en: 'An archive access tier', de: 'Eine Archive-Zugriffsebene' } }],
      correct: ['A'],
      explanation: { en: 'Each consumer group maintains its own view of stream progress, so independent applications can read the same events without affecting one another. This is the intended Event Hubs pattern.', de: 'Jede Consumergruppe verwaltet ihre eigene Sicht auf den Fortschritt im Stream, sodass unabhängige Anwendungen dieselben Ereignisse lesen können, ohne sich gegenseitig zu beeinflussen. Dies ist das vorgesehene Muster in Event Hubs.' },
      hint: { en: 'Independent readers need independent offsets.', de: 'Unabhängige Leser benötigen unabhängige Offsets.' },
      reference: 'https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-features#consumer-groups'
    },
    {
      id: 'dp900-295',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'hard',
      scenario: { en: 'Contoso sells analytics to thousands of external customers through a custom web portal. Many users do not have Power BI accounts, but they expect interactive reports inside the application. Contoso wants a scalable embedding approach built for customer-facing scenarios.', de: 'Contoso verkauft Analysen über ein benutzerdefiniertes Webportal an Tausende externer Kunden. Viele Benutzer haben keine Power-BI-Konten, erwarten aber interaktive Berichte innerhalb der Anwendung. Contoso möchte einen skalierbaren Einbettungsansatz, der für kundenorientierte Szenarien ausgelegt ist.' },
      question: { en: 'Which capability should Contoso adopt?', de: 'Welche Funktion sollte Contoso einsetzen?' },
      options: [{ id: 'A', text: { en: 'Power BI Embedded', de: 'Power BI Embedded' } }, { id: 'B', text: { en: 'Power BI Row-Level Security only', de: 'Nur Power BI Row-Level Security' } }, { id: 'C', text: { en: 'Azure Data Explorer', de: 'Azure Data Explorer' } }, { id: 'D', text: { en: 'Azure Files', de: 'Azure Files' } }],
      correct: ['A'],
      explanation: { en: 'Power BI Embedded is designed for application-owned embedding scenarios for external users. It is the right fit when analytics must be delivered inside a custom product experience.', de: 'Power BI Embedded ist für anwendungseigene Einbettungsszenarien mit externen Benutzern ausgelegt. Es ist die richtige Wahl, wenn Analysen innerhalb eines benutzerdefinierten Produkterlebnisses bereitgestellt werden müssen.' },
      hint: { en: 'The users are external and the reports live inside the app.', de: 'Die Benutzer sind extern, und die Berichte befinden sich innerhalb der Anwendung.' },
      reference: 'https://learn.microsoft.com/en-us/power-bi/developer/embedded/embedded-analytics-power-bi'
    },
    {
      id: 'dp900-296',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'hard',
      scenario: { en: 'Fabrikam stores raw files in a lake and also maintains a curated warehouse for finance reporting. Finance queries run all day with predictable concurrency and strict performance targets. The company wants to choose the right Synapse compute engine for the curated warehouse layer.', de: 'Fabrikam speichert Rohdateien in einem Lake und betreibt außerdem ein kuratiertes Data Warehouse für das Finanzreporting. Finanzabfragen laufen den ganzen Tag mit vorhersehbarer Parallelität und strikten Leistungszielen. Das Unternehmen möchte die richtige Synapse-Compute-Engine für die kuratierte Warehouse-Schicht wählen.' },
      question: { en: 'Which Synapse option should back the curated warehouse?', de: 'Welche Synapse-Option sollte das kuratierte Warehouse unterstützen?' },
      options: [{ id: 'A', text: { en: 'Serverless SQL pool', de: 'Serverloser SQL-Pool' } }, { id: 'B', text: { en: 'Dedicated SQL pool', de: 'Dedizierter SQL-Pool' } }, { id: 'C', text: { en: 'Azure Blob static website', de: 'Statische Website in Azure Blob Storage' } }, { id: 'D', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }],
      correct: ['B'],
      explanation: { en: 'The curated warehouse has steady analytical demand and strict performance expectations, so dedicated SQL pool is the better fit. Serverless is better for irregular file-based exploration.', de: 'Das kuratierte Warehouse weist eine stetige analytische Nachfrage und strenge Leistungsanforderungen auf, daher ist der dedizierte SQL-Pool besser geeignet. Serverless ist besser für unregelmäßige dateibasierte Exploration geeignet.' },
      hint: { en: 'Separate irregular lake exploration from predictable warehouse demand.', de: 'Trennen Sie unregelmäßige Lake-Exploration von vorhersehbarer Warehouse-Nachfrage.' },
      reference: 'https://learn.microsoft.com/en-us/azure/synapse-analytics/sql/overview-what-is'
    },
    {
      id: 'dp900-297',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'hard',
      scenario: { en: 'Woodgrove Bank collects append-only security telemetry at very high ingestion rates. Analysts perform seconds-level investigations using KQL and need a service optimized for time-series style log exploration. The workload is not a traditional relational warehouse.', de: 'Woodgrove Bank erfasst append-only Sicherheitstelemetrie mit sehr hohen Aufnahmeraten. Analysten führen Untersuchungen im Sekundenbereich mit KQL durch und benötigen einen Dienst, der für die Untersuchung protokollartiger zeitbezogener Daten optimiert ist. Der Workload ist kein traditionelles relationales Warehouse.' },
      question: { en: 'Which Azure service is the best fit?', de: 'Welcher Azure-Dienst ist am besten geeignet?' },
      options: [{ id: 'A', text: { en: 'Azure Data Explorer', de: 'Azure Data Explorer' } }, { id: 'B', text: { en: 'Azure SQL Managed Instance', de: 'Azure SQL Managed Instance' } }, { id: 'C', text: { en: 'Azure Files', de: 'Azure Files' } }, { id: 'D', text: { en: 'Azure Analysis Services', de: 'Azure Analysis Services' } }],
      correct: ['A'],
      explanation: { en: 'Azure Data Explorer is purpose-built for high-ingest telemetry and log analytics with KQL. It is a stronger fit than relational services for this kind of append-oriented exploratory workload.', de: 'Azure Data Explorer ist speziell für Telemetrie- und Loganalysen mit hoher Aufnahmerate und KQL entwickelt worden. Für diese Art append-orientierter explorativer Workloads ist er besser geeignet als relationale Dienste.' },
      hint: { en: 'The clues are KQL, logs, and very high ingestion.', de: 'Die Hinweise sind KQL, Protokolle und sehr hohe Aufnahmeraten.' },
      reference: 'https://learn.microsoft.com/en-us/azure/data-explorer/data-explorer-overview'
    },
    {
      id: 'dp900-298',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'hard',
      scenario: { en: 'Trey Research must move data from on-premises SQL Server and an SFTP site into Azure on a schedule. The pipelines must include dependencies, retries, and centralized monitoring. The team does not want to build a custom scheduler.', de: 'Trey Research muss Daten planmäßig aus lokalem SQL Server und einer SFTP-Site nach Azure verschieben. Die Pipelines müssen Abhängigkeiten, Wiederholungsversuche und eine zentrale Überwachung enthalten. Das Team möchte keinen benutzerdefinierten Scheduler entwickeln.' },
      question: { en: 'Which Azure service should Trey Research use?', de: 'Welchen Azure-Dienst sollte Trey Research verwenden?' },
      options: [{ id: 'A', text: { en: 'Azure Data Factory', de: 'Azure Data Factory' } }, { id: 'B', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'C', text: { en: 'Power BI Embedded', de: 'Power BI Embedded' } }, { id: 'D', text: { en: 'Azure Blob static website', de: 'Statische Website in Azure Blob Storage' } }],
      correct: ['A'],
      explanation: { en: 'Azure Data Factory provides managed orchestration, dependency handling, retries, and monitoring for hybrid data integration pipelines. This matches the scenario directly.', de: 'Azure Data Factory bietet verwaltete Orchestrierung, Abhängigkeitssteuerung, Wiederholungsversuche und Überwachung für hybride Datenintegrationspipelines. Das passt direkt zu diesem Szenario.' },
      hint: { en: 'Think managed hybrid pipeline orchestration.', de: 'Denken Sie an verwaltete hybride Pipeline-Orchestrierung.' },
      reference: 'https://learn.microsoft.com/en-us/azure/data-factory/introduction'
    },
    {
      id: 'dp900-299',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'hard',
      scenario: { en: 'Datum Corporation has several BI teams using a common enterprise data model. They need one governed tabular semantic layer with reusable calculations, perspectives, and centralized management. Multiple reporting tools must consume the same semantic definitions.', de: 'Datum Corporation verfügt über mehrere BI-Teams, die ein gemeinsames Unternehmensdatenmodell nutzen. Sie benötigen eine governte tabellarische semantische Ebene mit wiederverwendbaren Berechnungen, Perspektiven und zentraler Verwaltung. Mehrere Reporting-Tools müssen dieselben semantischen Definitionen verwenden.' },
      question: { en: 'Which Azure analytics service best fits this requirement?', de: 'Welcher Azure-Analysedienst passt am besten zu dieser Anforderung?' },
      options: [{ id: 'A', text: { en: 'Azure Analysis Services', de: 'Azure Analysis Services' } }, { id: 'B', text: { en: 'Azure Event Hubs', de: 'Azure Event Hubs' } }, { id: 'C', text: { en: 'Azure Queue Storage', de: 'Azure Queue Storage' } }, { id: 'D', text: { en: 'Azure Blob archive tier', de: 'Azure Blob Archive-Tier' } }],
      correct: ['A'],
      explanation: { en: 'Azure Analysis Services is built for centrally managed enterprise tabular models with reusable business logic. It provides the semantic layer described in the scenario.', de: 'Azure Analysis Services ist für zentral verwaltete tabellarische Unternehmensmodelle mit wiederverwendbarer Geschäftslogik ausgelegt. Es bietet die im Szenario beschriebene semantische Ebene.' },
      hint: { en: 'The requirement is a governed semantic model, not ingestion or storage.', de: 'Die Anforderung betrifft ein governte Semantikmodell und nicht Aufnahme oder Speicherung.' },
      reference: 'https://learn.microsoft.com/en-us/analysis-services/analysis-services-overview'
    },
    {
      id: 'dp900-300',
      type: 'scenario',
      domain: { en: 'Describe an analytics workload on Azure', de: 'Einen Analyse-Workload in Azure beschreiben' },
      difficulty: 'hard',
      scenario: { en: 'Northwind Traders receives clickstream events continuously. The business can tolerate about 30 seconds of latency, and the engineering team wants Spark-based structured streaming semantics. Processing small batches at short intervals is acceptable.', de: 'Northwind Traders empfängt kontinuierlich Clickstream-Ereignisse. Das Fachgeschäft kann etwa 30 Sekunden Latenz tolerieren, und das Engineering-Team möchte Spark-basierte Structured-Streaming-Semantik. Die Verarbeitung kleiner Batches in kurzen Intervallen ist akzeptabel.' },
      question: { en: 'Which processing style is the best fit?', de: 'Welcher Verarbeitungsstil ist am besten geeignet?' },
      options: [{ id: 'A', text: { en: 'Nightly batch processing', de: 'Nächtliche Batchverarbeitung' } }, { id: 'B', text: { en: 'Micro-batch processing', de: 'Micro-Batch-Verarbeitung' } }, { id: 'C', text: { en: 'Archive retrieval processing', de: 'Archivabrufverarbeitung' } }, { id: 'D', text: { en: 'Static file serving', de: 'Statische Dateibereitstellung' } }],
      correct: ['B'],
      explanation: { en: 'Micro-batch processing is a common model for Spark-based structured streaming when low but nonzero latency is acceptable. It processes data frequently in small batches rather than waiting for a large batch window.', de: 'Die Micro-Batch-Verarbeitung ist ein gängiges Modell für Spark-basiertes Structured Streaming, wenn eine geringe, aber nicht null Latenz akzeptabel ist. Sie verarbeitet Daten häufig in kleinen Batches, anstatt auf ein großes Batchfenster zu warten.' },
      hint: { en: 'The clue is Spark streaming with short acceptable delay.', de: 'Der Hinweis ist Spark-Streaming mit kurzer akzeptabler Verzögerung.' },
      reference: 'https://learn.microsoft.com/en-us/azure/databricks/structured-streaming/'
    }
  ];

  if (window.ExamData && window.ExamData['dp-900']) {
    window.ExamData['dp-900'].questions = window.ExamData['dp-900'].questions.concat(extra);
  }
})();
