Skip to content

Commit a74cfd8

Browse files
committed
Add log compaction docs
1 parent 2198750 commit a74cfd8

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

articles/event-hubs/TOC.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@
9494
href: event-hubs-capture-overview.md
9595
- name: Explore captured Avro files
9696
href: explore-captured-avro-files.md
97+
- name: Log compaction
98+
href: log-compaction.md
9799
- name: Application groups
98100
href: resource-governance-overview.md
99101
- name: Tiers
@@ -175,8 +177,6 @@
175177
href: event-hubs-amqp-troubleshoot.md
176178
- name: How-to guides
177179
items:
178-
- name: Create and manage application groups
179-
href: resource-governance-with-app-groups.md
180180
- name: Develop
181181
items:
182182
- name: Get Event Hubs connection string
@@ -203,6 +203,11 @@
203203
href: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/eventhub/azure-eventhub/README.md
204204
- name: JavaScript in GitHub (azure/event-hubs)
205205
href: https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/eventhub/event-hubs/README.md
206+
- name: Use log compaction
207+
href: use-log-compaction.md
208+
- name: Create and manage application groups
209+
href: resource-governance-with-app-groups.md
210+
206211
- name: Process data
207212
items:
208213
- name: Capture Event Hubs data in Parquet format

articles/event-hubs/event-hubs-features.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Any entity that sends data to an event hub is an *event publisher* (synonymously
3333

3434
You can publish an event via AMQP 1.0, the Kafka protocol, or HTTPS. The Event Hubs service provides [REST API](/rest/api/eventhub/) and [.NET](event-hubs-dotnet-standard-getstarted-send.md), [Java](event-hubs-java-get-started-send.md), [Python](event-hubs-python-get-started-send.md), [JavaScript](event-hubs-node-get-started-send.md), and [Go](event-hubs-go-get-started-send.md) client libraries for publishing events to an event hub. For other runtimes and platforms, you can use any AMQP 1.0 client, such as [Apache Qpid](https://qpid.apache.org/).
3535

36-
The choice to use AMQP or HTTPS is specific to the usage scenario. AMQP requires the establishment of a persistent bidirectional socket in addition to transport level security (TLS) or SSL/TLS. AMQP has higher network costs when initializing the session, however HTTPS requires additional TLS overhead for every request. AMQP has significantly higher performance for frequent publishers and can achieve much lower latencies when used with asynchronous publishing code.
36+
The choice to use AMQP or HTTPS is specific to the usage scenario. AMQP requires the establishment of a persistent bidirectional socket in addition to transport level security (TLS) or SSL/TLS. AMQP has higher network costs when initializing the session, however HTTPS requires extra TLS overhead for every request. AMQP has higher performance for frequent publishers and can achieve much lower latencies when used with asynchronous publishing code.
3737

3838
You can publish events individually or batched. A single publication has a limit of 1 MB, regardless of whether it's a single event or a batch. Publishing events larger than this threshold will be rejected.
3939

@@ -163,6 +163,14 @@ If a reader disconnects from a partition, when it reconnects it begins reading a
163163
> - [JavaScript](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/eventhub/eventhubs-checkpointstore-blob/samples/v1/javascript) or [TypeScript](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/eventhub/eventhubs-checkpointstore-blob/samples/v1/typescript)
164164
> - [Python](https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/eventhub/azure-eventhub-checkpointstoreblob-aio/samples/)
165165
166+
167+
### Log compaction
168+
169+
Azure Event Hubs supports compacting event log to retain the latest events of a given event key. With compacted event hubs/Kafka topic, you can use key-baesd retention rather than using the coarser-grained time-based retention.
170+
171+
For more information on log compaction, see [Log compaction](log-compaction.md).
172+
173+
166174
### Common consumer tasks
167175

168176
All Event Hubs consumers connect via an AMQP 1.0 session, a state-aware bidirectional communication channel. Each partition has an AMQP 1.0 session that facilitates the transport of events segregated by partition.

articles/event-hubs/event-hubs-for-kafka-ecosystem-overview.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,6 @@ This feature is fundamentally at odds with Azure Event Hubs' multi-protocol mode
114114

115115
The payload of any Event Hubs event is a byte stream and the content can be compressed with an algorithm of your choosing. The Apache Avro encoding format supports compression natively.
116116

117-
### Log Compaction
118-
119-
Apache Kafka log compaction is a feature that allows evicting all but the last record of each key from a partition, which effectively turns an Apache Kafka topic into a key-value store where the last value added overrides the previous one. This feature is presently not implemented by Azure Event Hubs. The key-value store pattern, even with frequent updates, is far better supported by database services like [Azure Cosmos DB](../cosmos-db/introduction.md). For more information, see [Log Projection](event-hubs-federation-overview.md#log-projections).
120-
121117
### Kafka Streams
122118

123119
Kafka Streams is a client library for stream analytics that is part of the Apache Kafka open-source project, but is separate from the Apache Kafka event stream broker.

0 commit comments

Comments
 (0)