Overzicht van Zerobus Ingest

Zerobus Ingest is een push-gebaseerde streaming-API die data direct in Unity Catalog Delta-tabellen schrijft op grote schaal, zonder dat er een berichtbus hoeft te draaien. Het verwijdert de tussenlaag die veel teams tussen hun producenten en het lakehouse plaatsen. De workflow bestaat uit twee stappen: maak een tabel aan en stuur er vervolgens data naartoe. Een "hello world"-client en een petabyte-schaal workload draaien in wezen dezelfde code zonder infrastructuur om te beheren.

Data-inname met een messagebus leidt producenten via een broker en een ingestietaak voordat ze de Delta-tabellen bereiken, terwijl Zerobus Ingest producenten rechtstreeks met het lakehouse verbindt.

Zerobus Ingest is serverless en voegt capaciteit toe en verwijdert naarmate de belasting verandert. Het heeft meer dan 1 biljoen records in één tabel opgenomen in minder dan 24 uur (zie de blogpost Ingesting the Milky Way: Petabyte-Scale with Zerobus Inest ), en plaatst records binnen enkele seconden.

Advantages

Zerobus Ingest houdt data-inname eenvoudig en schaalt tegelijk op naar de grootste workloads:

  • Eenvoudig van ontwerp. Maak een tabel aan en stuur er vervolgens data naartoe — er zijn geen brokers, partities of pipelines om te beheren. In plaats van data eerst via een messagebus en een ingestietaak te routeren voordat die in de tabel terechtkomen, schrijven dataproducenten rechtstreeks naar de tabel, waardoor er minder tussenstappen zijn en minder componenten om te beheren.
  • Serverless en schaalbaar. Zerobus Ingest staat standaard aan en voegt of verwijdert capaciteit naarmate de belasting verandert. Je schaalt op door meer producers te draaien, niet door je applicatie te herschrijven. Om te leren hoe, zie Hoe Zerobus Ingest schaalt.
  • Hoge doorvoerwerklasten. Zerobus Ingest is gebouwd voor grootschalige ingestie, waarbij hoge schrijfsnelheden in één enkele tabel worden gehandhaafd.
  • Bijna realtime versheid. Records landen binnen enkele seconden in Delta en zijn bijna direct na aankomst klaar voor query's.
  • Hoge mate van gelijktijdigheid. Zerobus Ingest verwerkt gelijktijdige schrijfopdrachten van duizenden clients naar dezelfde tabel.

Wanneer je bestemming het meerhuis is, is Zerobus Ingest de meest directe route. Andere Azure Databricks-tools voldoen aan aanverwante behoeften en werken daar goed bij:

  • Voor gebruikssituaties waarbij je Kafka gebruikt om niet-Lakehouse-gebruikers te ondersteunen, wil je misschien ook een kopie van de data die in het Lakehouse is gemaakt. Gebruik beheerde streamingconnectoren om het te repliceren.
  • Voor data die al als bestanden in cloudopslag is geland, gebruik Auto Loader.
  • Wanneer je operationele latentie van minder dan een seconde nodig hebt in het verwerkingspad, gebruik dan real-time modus.

Maak een tabel aan en push dan data

Het gebruik van Zerobus Ingest is zo eenvoudig als het maken van een tabel en vervolgens data ernaar pushen. Het schema van de tabel definieert wat elk record moet bevatten. Maak eerst de doel-tabel:

CREATE TABLE main.default.air_quality (
  device_name STRING,
  temp INT,
  humidity INT
);

Vervolgens kost het opnemen van een record maar een paar regels code:

from zerobus.sdk.sync import ZerobusSdk
from zerobus.sdk.shared import TableProperties

sdk = ZerobusSdk(SERVER_ENDPOINT, DATABRICKS_WORKSPACE_URL)

table_properties = TableProperties("main.default.air_quality")
stream = sdk.create_stream(CLIENT_ID, CLIENT_SECRET, table_properties)

stream.ingest_record_offset({"device_name": "sensor-1", "temp": 22, "humidity": 55})
# ingest more records...
stream.close()

Dezelfde code die je in de ontwikkelomgeving uitrolt, kan worden opgeschaald voor productieworkloads. Voor de volledige walkthrough, zie Use Zerobus Ingest.

Veelvoorkomende gebruiksvoorbeelden

  • IoT en apparaattelemetrie: stream sensor-, voertuig- en gegevens van slimme apparaten van grote verspreide vloten rechtstreeks naar beheerde Delta-tabellen.
  • On-premises naar cloud: verbind on-prem-systemen en hybride systemen met het lakehouse zonder daartussen brokerinfrastructuur op te zetten. Voor privéconnectiviteit en firewall-installatie, zie Netwerkoverwegingen.
  • Applicatie- en klikstroomgebeurtenissen: verzend gebeurtenissen vanuit cloud- en edge-applicaties voor analyses in bijna realtime.
  • Change Data Capture (CDC): landrij verandert van operationele systemen naar Delta.
  • Observabiliteitsgegevens: stuur OpenTelemetrie-traces, logs en metrics naar Delta-tabellen die je bezit. Zie OpenTelemetry-gegevens opnemen met Zerobus Ingest.

Hoe werkt het?

Een producent opent een stream naar Zerobus Ingest en stuurt records naar een doel-Deltatabel. De service valideert elk record aan de hand van het tabelschema en maakt het duurzaam. Zodra een plaat duurzaam is, accepteert Zerobus Ingest deze snel, zodat je producer platen kan blijven sturen zonder op elke plaat te hoeven wachten. De data wordt kort daarna in de tabel gematerialiseerd, meestal binnen enkele seconden. Het dynamische, partitieloze ontwerp van Zerobus Ingest maakt ingestion elastisch, zodat de serverless compute schaalt met je workloads.

Hoe Zerobus Ingest werkt: producers pushen records naar het Zerobus Ingest-eindpunt, dat valideert, durable maakt, bevestigt en materialiseert in Unity Catalog Delta-tabellen

Voor een diepere uitleg van streams en hoe Zerobus Ingest schaalt, zie Zerobus Ingest-concepten. Voor het asynchrone client- en servercommunicatiemodel, zie Asynchrone communicatie.

Manieren om data te verzenden

Zerobus Ingest is een endpoint dat meerdere interfaces ondersteunt, dus je kunt voor elke producent de beste match kiezen:

  • SDK’s over gRPC: streamingclients met hoge doorvoersnelheid in Python, Java, Rust, Go, TypeScript en (in bèta) C++ en C# / .NET. Ideaal voor geordende gegevensinname met grote volumes. Zie Schrijf een client.
  • REST API: een toestandsloze interface voor lichtgewicht of "veelvuldig communicerende" clients, zoals grote aantallen edge-apparaten. Zie Schrijf een client.
  • OpenTelemetry (OTLP): laat bestaande OpenTelemetry-collectors naar Zerobus Ingest verwijzen om traces, logs en metrics binnen te krijgen, zonder maatwerkintegratie. Zie OpenTelemetry-gegevens opnemen met Zerobus Ingest.
  • Kafka-compatibele API's (Beta): wijs een bestaande Apache Kafka-producent naar Zerobus Ingest, zonder Azure Databricks SDK. Zie Gebruik Kafka-compatibele API's met Zerobus Ingest.

Zerobus Ingest-schaalarchitectuur: bronnen sturen Protocol Buffers (protobuf), JSON- en Arrow-records via de gRPC-, REST-, OpenTelemetry- en Kafka-compatibele API's, die via automatische schaling en taakverdeling doorstromen naar een horizontaal schaalbare pool van statusloze Zerobus-nodes, elk met een write-ahead-log en een Lakehouse-schrijver die records batchgewijs vastlegt in een door Unity Catalog beheerde Delta-tabel

Ze schrijven allemaal direct in Delta-tabellen. Voor een volledige vergelijking en hoe je kiest, zie API-protocollen. Om je eerste client te schrijven, zie Use Zerobus Ingest.

Kosten

Kosten voor Zerobus Ingest worden gefactureerd onder de SKU "Automated Serverless". Prijzen zijn beschikbaar op de pagina prijzen van Lakeflow Connect.

Uw gebruik bewaken

Je kunt je kosten bijhouden via de systeemtabel voor factureerbaar gebruik. Zie referentietabel voor systeem voor factureerbaar gebruik. Filter voor Zerobus-invoer met:

  • billing_origin_product = 'LAKEFLOW_CONNECT'
  • product_features.lakeflow_connect.zerobus_request_type aangeeft hoe de data is ingevoerd: 'GRPC' (SDK-streaming), 'HTTP' (REST), 'OTEL_GRPC' en 'OTEL_HTTP' (OpenTelemetry/OTLP), of 'KAFKA' (Kafka-compatibele API's).

Aanvullende bronnen