From a40aec9b262bd44aced83e3822450f0919c77554 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Tue, 12 Sep 2023 11:07:36 +0200 Subject: [PATCH 01/19] Kafka tiered storage concept content --- _toc.yml | 11 ++++++ .../kafka/concepts/kafka-tiered-storage.rst | 38 +++++++++++++++++++ .../concepts/tiered-storage-guarantees.rst | 18 +++++++++ .../concepts/tiered-storage-how-it-works.rst | 38 +++++++++++++++++++ .../concepts/tiered-storage-limitations.rst | 13 +++++++ 5 files changed, 118 insertions(+) create mode 100644 docs/products/kafka/concepts/kafka-tiered-storage.rst create mode 100644 docs/products/kafka/concepts/tiered-storage-guarantees.rst create mode 100644 docs/products/kafka/concepts/tiered-storage-how-it-works.rst create mode 100644 docs/products/kafka/concepts/tiered-storage-limitations.rst diff --git a/_toc.yml b/_toc.yml index c828787b35..59ab7bd336 100644 --- a/_toc.yml +++ b/_toc.yml @@ -318,6 +318,17 @@ entries: - file: docs/products/kafka/concepts/monitor-consumer-group - file: docs/products/kafka/concepts/kafka-quotas title: Quotas + - file: docs/products/kafka/concepts/kafka-tiered-storage + title: Tiered storage + entries: + - file: docs/products/kafka/concepts/tiered-storage-how-it-works + title: How it works + - file: docs/products/kafka/concepts/tiered-storage-guarantees + title: Guarantees + - file: docs/products/kafka/concepts/tiered-storage-limitations + title: Limitations + + - file: docs/products/kafka/howto title: HowTo entries: diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst new file mode 100644 index 0000000000..dc389b9754 --- /dev/null +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -0,0 +1,38 @@ +Tiered storage in Aiven for Apache Kafka® +=========================================== + +Discover the tiered storage capability in Aiven for Apache Kafka®. Learn how it works and explore its use cases. Check why you might need it and what benefits you get using it. + +Overview +--------- + +Tiered storage provides the ability to use multiple storage types to store data, such as local disk and cloud storage, based on how frequently it is accessed. With Aiven for Apache Kafka, you can use tiered storage to allocate some of your data to high-speed local disks and move the rest to more cost-efficient remote storage options like AWS S3, Google Cloud Storage, or Azure blob storage. + +Tiered storage offers multiple benefits, including: + +* **Scalability**: Tiered storage allows Aiven for Apache Kafka instances to scale almost infinitely with cloud solutions, eliminating concerns about storage limitations. +* **Cost efficiency**: By moving less frequently accessed data to cost-effective storage tiers, you can realize significant financial savings. +* **Operational speed**: With the bulk of data offloaded to remote storage, service rebalancing in Aiven for Apache Kafka becomes faster, making for a smoother operational experience. +* **Infinite data retention**: With the scalability of cloud storage, you can achieve unlimited data retention, valuable for analytics and compliance. +* **Flexibility**: Data can be easily moved between storage tiers depending on usage and requirements, offering more flexibility. + +When and why to use it +------------------------ + +Understanding when and why to use tiered storage in Aiven for Apache Kafka will help you maximize its benefits, particularly around cost savings and system performance. + +**Scenarios for use:** + +* **Long-term data retention**: Many organizations require large-scale data storage for extended periods, either for regulatory compliance or historical data analysis. Cloud services provide an almost limitless storage capacity, making it possible to keep data accessible for as long as required at a reasonable cost. This is where tiered storage becomes especially valuable. +* **High-speed data ingestion**: Tiered storage can offer a solution when dealing with unpredictable or sudden influxes of data. By supplementing the local disks with cloud storage, sudden increases in incoming data can be managed, ensuring optimum system performance. + + +Security +-------- +Segments are encrypted with 256-bit AES encryption before being uploaded to the remote storage. The encryption keys are not shared with the cloud storage provider and generally do not leave Aiven machines. + +Pricing +------- +Tiered storage users are billed for the remote storage usage in GB/hour, using the highest usage in each hour. + + diff --git a/docs/products/kafka/concepts/tiered-storage-guarantees.rst b/docs/products/kafka/concepts/tiered-storage-guarantees.rst new file mode 100644 index 0000000000..f72ba4ce02 --- /dev/null +++ b/docs/products/kafka/concepts/tiered-storage-guarantees.rst @@ -0,0 +1,18 @@ +Guarantees +============ +With tiered storage in Aiven for Apache Kafka®, there are two primary types of data retention guarantees: total retention and local retention. + +**Total retention**: Tiered storage ensures that your data will be available up to the limit defined by the total retention threshold, regardless of whether it is stored locally or remotely. This means that your data will not be deleted until the total retention threshold, whether on local or remote storage, is reached. + +**Local retention**: Log segments are only removed from local storage after successfully being uploaded to remote storage, even if the data exceeds the local retention threshold. + + +Example +-------- + +Let's say you have a topic with a **total retention threshold** of **1000 bytes** and a **local retention threshold** of **200 bytes**. This means that: + +* All data for the topic will be retained, regardless of whether it is stored locally or remotely, as long as the total size of the data does not exceed 1000 bytes. +* If the total size of the data exceeds 1000 bytes, Aiven for Apache Kafka will begin deleting the oldest data from remote storage. +* No data will be deleted from local storage until it has been safely transferred to remote storage. + diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst new file mode 100644 index 0000000000..d59fdc1c1a --- /dev/null +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -0,0 +1,38 @@ +How tiered storage works in Aiven for Apache Kafka® +=================================================== + +Aiven for Apache Kafka® tiered storage is a feature that optimizes data management across two distinct storage tiers: + +* **Local tier**: Primarily consists of faster and typically more expensive storage solutions like solid-state drives (SSDs). +* **Remote tier**: Relies on slower, cost-effective options like cloud object storage. + +In Aiven for Apache Kafka's tiered storage architecture, **remote storage** refers to storage options external to the Kafka broker's local disk. This typically includes cloud-based or self-hosted object storage solutions like AWS S3, Google Cloud, and Azure Blob Storage. Although network-attached block storage solutions like AWS EBS are technically external to the broker machine, Apache Kafka considers them local storage within its tiered storage architecture. + +Tiered storage operates in a way that is seamless for both Apache Kafka producers and consumers. This means that producers and consumers interact with Apache Kafka in the same way, regardless of whether tiered storage is enabled or not. + +Administrators can configure Tiered storage per topic by defining the retention period and retention bytes to specify how much data should be retained on the local disk as opposed to remote storage. + + +Local vs. remote data retention +--------------------------------- + +When tiered storage is enabled, data is initially stored on the local disk of the Kafka broker. Data is then asynchronously transferred to remote storage based on the pre-defined local retention threshold. During periods of high data ingestion or transient errors, such as network connectivity issues, the local storage might temporarily hold more data than specified by the local retention threshold. + +Segment management +------------------- +Data is organized into segments, which are uploaded to remote storage individually. The active (newest) segment remains in local storage, which means that the segment size can also influence local data retention. For instance, if the local retention threshold is 1 GB, but the segment size is 2 GB, the local storage will exceed the 1 GB limit until the active segment is rolled over and uploaded to remote storage. + + +Asynchronous uploads and replication +-------------------------------------- +Data is transferred to remote storage asynchronously and does not interfere with the producer activity. While the broker aims to move data as swiftly as possible, certain conditions, such as high-throughput or connectivity issues, may cause more data to be stored in the local storage than the specified local retention policy. +Any data exceeding the local retention threshold will not be purged by the log cleaner until it is successfully uploaded to remote storage. +The replication factor is not considered during the upload process, and only one copy of each segment is uploaded to the remote storage. Most remote storage options have their own measures, including data replication, to ensure data durability. + +Data retrieval +----------------- +When consumers fetch records stored in remote storage, the broker downloads and caches these records locally. This allows for quicker access in subsequent retrieval operations. +The retention time and the maximum size of the cache can be configured. + + + diff --git a/docs/products/kafka/concepts/tiered-storage-limitations.rst b/docs/products/kafka/concepts/tiered-storage-limitations.rst new file mode 100644 index 0000000000..95681ea208 --- /dev/null +++ b/docs/products/kafka/concepts/tiered-storage-limitations.rst @@ -0,0 +1,13 @@ +Trade-offs and limitations +============================ + +The main trade-off of tiered storage in Aivne for Apache Kafka® is the higher latency while accessing and reading data from remote storage compared to local disk storage. While adding local caching can partially solve this problem, it cannot eliminate the latency. + +Limitations +------------- + +* Tiered storage currently does not support compacted topics. +* If you enable tiered storage for a topic, you cannot deactivate it without losing data in the remote storage. To deactivate tiered storage, contact `Aiven support `_. +* Increasing the local retention threshold won't move segments already uploaded to remote storage back to local storage. This change only affects new data segments. +* If you enable tiered storage on a service, you can't migrate the service to a different region or cloud, except for moving to a virtual cloud in the same region. For migration to a different region or cloud, contact `Aiven support `_. + From addd8ef5236a7dfba084130da7fb098f141c4d25 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Tue, 12 Sep 2023 11:12:45 +0200 Subject: [PATCH 02/19] fixed vale error --- docs/products/kafka/concepts/tiered-storage-limitations.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/kafka/concepts/tiered-storage-limitations.rst b/docs/products/kafka/concepts/tiered-storage-limitations.rst index 95681ea208..a5ebb63ca7 100644 --- a/docs/products/kafka/concepts/tiered-storage-limitations.rst +++ b/docs/products/kafka/concepts/tiered-storage-limitations.rst @@ -1,7 +1,7 @@ Trade-offs and limitations ============================ -The main trade-off of tiered storage in Aivne for Apache Kafka® is the higher latency while accessing and reading data from remote storage compared to local disk storage. While adding local caching can partially solve this problem, it cannot eliminate the latency. +The main trade-off of tiered storage in Aiven for Apache Kafka® is the higher latency while accessing and reading data from remote storage compared to local disk storage. While adding local caching can partially solve this problem, it cannot eliminate the latency. Limitations ------------- From 17edb348545d7fff26a6c8f23ddc931221453e99 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Thu, 14 Sep 2023 14:51:58 +0200 Subject: [PATCH 03/19] Updated content after review feedback --- _toc.yml | 2 ++ .../kafka/concepts/kafka-tiered-storage.rst | 16 +++++++++------- .../kafka/concepts/tiered-storage-backups.rst | 13 +++++++++++++ .../kafka/concepts/tiered-storage-guarantees.rst | 10 +++++----- 4 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 docs/products/kafka/concepts/tiered-storage-backups.rst diff --git a/_toc.yml b/_toc.yml index 59ab7bd336..5b8da62a5e 100644 --- a/_toc.yml +++ b/_toc.yml @@ -325,6 +325,8 @@ entries: title: How it works - file: docs/products/kafka/concepts/tiered-storage-guarantees title: Guarantees + - file: docs/products/kafka/concepts/tiered-storage-backups + Title: Backups - file: docs/products/kafka/concepts/tiered-storage-limitations title: Limitations diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index dc389b9754..5c1e42d55b 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -6,15 +6,15 @@ Discover the tiered storage capability in Aiven for Apache Kafka®. Learn how it Overview --------- -Tiered storage provides the ability to use multiple storage types to store data, such as local disk and cloud storage, based on how frequently it is accessed. With Aiven for Apache Kafka, you can use tiered storage to allocate some of your data to high-speed local disks and move the rest to more cost-efficient remote storage options like AWS S3, Google Cloud Storage, or Azure blob storage. +Tiered storage provides the ability to use multiple storage types to store data, such as local disk and cloud storage, based on how frequently it is accessed. With Aiven for Apache Kafka, you can use tiered storage to allocate some of your data to high-speed local disks and move the rest to more cost-efficient remote storage options like AWS S3 and Google Cloud Storage. Tiered storage offers multiple benefits, including: -* **Scalability**: Tiered storage allows Aiven for Apache Kafka instances to scale almost infinitely with cloud solutions, eliminating concerns about storage limitations. -* **Cost efficiency**: By moving less frequently accessed data to cost-effective storage tiers, you can realize significant financial savings. -* **Operational speed**: With the bulk of data offloaded to remote storage, service rebalancing in Aiven for Apache Kafka becomes faster, making for a smoother operational experience. -* **Infinite data retention**: With the scalability of cloud storage, you can achieve unlimited data retention, valuable for analytics and compliance. -* **Flexibility**: Data can be easily moved between storage tiers depending on usage and requirements, offering more flexibility. +* **Scalability:** Tiered storage allows Aiven for Apache Kafka instances to scale almost infinitely with cloud solutions, eliminating concerns about storage limitations. +* **Cost efficiency:** By moving less frequently accessed data to cost-effective storage tiers, you can realize significant financial savings. +* **Operational speed:** With the bulk of data offloaded to remote storage, service rebalancing in Aiven for Apache Kafka becomes faster, making for a smoother operational experience. +* **Infinite data retention:** With the scalability of cloud storage, you can achieve unlimited data retention, valuable for analytics and compliance. +* **Transparency:** Even older Kafka clients can benefit from tiered storage without needing to be explicitly aware of it. When and why to use it ------------------------ @@ -33,6 +33,8 @@ Segments are encrypted with 256-bit AES encryption before being uploaded to the Pricing ------- -Tiered storage users are billed for the remote storage usage in GB/hour, using the highest usage in each hour. +Tiered storage costs are determined by the amount of remote storage used, measured in GB/hour. The highest usage level within each hour is the basis for calculating charges. + + diff --git a/docs/products/kafka/concepts/tiered-storage-backups.rst b/docs/products/kafka/concepts/tiered-storage-backups.rst new file mode 100644 index 0000000000..4bc3745012 --- /dev/null +++ b/docs/products/kafka/concepts/tiered-storage-backups.rst @@ -0,0 +1,13 @@ +Tiered storage backups +======================== + +In Aiven for Apache Kafka®'s tiered storage, data that resides in topics with tiered storage will persist across power cycles. However, this is not the same as a conventional backup system. Only topics with tiered storage get copied to remote locations, while active data segments remain on local storage due to limitations with Apache Kafka. + +.. note:: + Remote data can remain vulnerable to accidental or intentional deletions as it stays connected to Apache Kafka brokers. + +To ensure security, Aiven for Apache Kafka employs client-side encryption at rest and multi-stage data integrity checks. The remote data is stored in the same cloud region as the Aiven for Apache Kafka service. + +Metadata backups are automatically restored during regular power cycles, but significant incidents may require manual operator intervention. The backup and restoration procedures for local storage remain separate and unchanged. + +As active segments are not uploaded to the remote storage, the data stored in them will be lost after powering off the service. \ No newline at end of file diff --git a/docs/products/kafka/concepts/tiered-storage-guarantees.rst b/docs/products/kafka/concepts/tiered-storage-guarantees.rst index f72ba4ce02..b708ae33ee 100644 --- a/docs/products/kafka/concepts/tiered-storage-guarantees.rst +++ b/docs/products/kafka/concepts/tiered-storage-guarantees.rst @@ -1,6 +1,6 @@ Guarantees ============ -With tiered storage in Aiven for Apache Kafka®, there are two primary types of data retention guarantees: total retention and local retention. +With Aiven for Apache Kafka's tiered storage, there are two primary types of data retention guarantees: *total retention* and *local retention*. **Total retention**: Tiered storage ensures that your data will be available up to the limit defined by the total retention threshold, regardless of whether it is stored locally or remotely. This means that your data will not be deleted until the total retention threshold, whether on local or remote storage, is reached. @@ -10,9 +10,9 @@ With tiered storage in Aiven for Apache Kafka®, there are two primary types of Example -------- -Let's say you have a topic with a **total retention threshold** of **1000 bytes** and a **local retention threshold** of **200 bytes**. This means that: +Let's say you have a topic with a total retention threshold of 1000 bytes and a local retention threshold of 200 GB. This means that: -* All data for the topic will be retained, regardless of whether it is stored locally or remotely, as long as the total size of the data does not exceed 1000 bytes. -* If the total size of the data exceeds 1000 bytes, Aiven for Apache Kafka will begin deleting the oldest data from remote storage. -* No data will be deleted from local storage until it has been safely transferred to remote storage. +* All data for the topic will be retained, regardless of whether it is stored locally or remotely, as long as the total size of the data does not exceed 1000 GB. +* If the total size of the data exceeds 200 GB, Kafka will move older segments to the remote storage and delete them from the local disk. No data will be deleted from local storage until it has been safely transferred to remote storage. +* If the total size of the data exceeds 1000 GB, Apache Kafka will begin deleting the oldest data from remote storage. From 6c50a6435224ba4133da2426b789dda9fc1769c8 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Thu, 14 Sep 2023 14:54:55 +0200 Subject: [PATCH 04/19] fixed vale error --- docs/products/kafka/concepts/tiered-storage-guarantees.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/kafka/concepts/tiered-storage-guarantees.rst b/docs/products/kafka/concepts/tiered-storage-guarantees.rst index b708ae33ee..ec6b40ff32 100644 --- a/docs/products/kafka/concepts/tiered-storage-guarantees.rst +++ b/docs/products/kafka/concepts/tiered-storage-guarantees.rst @@ -1,6 +1,6 @@ Guarantees ============ -With Aiven for Apache Kafka's tiered storage, there are two primary types of data retention guarantees: *total retention* and *local retention*. +With Aiven for Apache Kafka®'s tiered storage, there are two primary types of data retention guarantees: *total retention* and *local retention*. **Total retention**: Tiered storage ensures that your data will be available up to the limit defined by the total retention threshold, regardless of whether it is stored locally or remotely. This means that your data will not be deleted until the total retention threshold, whether on local or remote storage, is reached. From 7b62d2bef7376869b02bf6069b7a7bb81a40ec17 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Thu, 14 Sep 2023 15:12:01 +0200 Subject: [PATCH 05/19] fixed text --- docs/products/kafka/concepts/tiered-storage-guarantees.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/kafka/concepts/tiered-storage-guarantees.rst b/docs/products/kafka/concepts/tiered-storage-guarantees.rst index ec6b40ff32..4dfa59f0a4 100644 --- a/docs/products/kafka/concepts/tiered-storage-guarantees.rst +++ b/docs/products/kafka/concepts/tiered-storage-guarantees.rst @@ -10,7 +10,7 @@ With Aiven for Apache Kafka®'s tiered storage, there are two primary types of d Example -------- -Let's say you have a topic with a total retention threshold of 1000 bytes and a local retention threshold of 200 GB. This means that: +Let's say you have a topic with a total retention threshold of 1000 GB and a local retention threshold of 200 GB. This means that: * All data for the topic will be retained, regardless of whether it is stored locally or remotely, as long as the total size of the data does not exceed 1000 GB. * If the total size of the data exceeds 200 GB, Kafka will move older segments to the remote storage and delete them from the local disk. No data will be deleted from local storage until it has been safely transferred to remote storage. From 606e981ecd9725c5b5431bb5f837e91fad4a13d5 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Thu, 14 Sep 2023 15:14:34 +0200 Subject: [PATCH 06/19] fixed title --- _toc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_toc.yml b/_toc.yml index 5b8da62a5e..2a1e64b967 100644 --- a/_toc.yml +++ b/_toc.yml @@ -326,7 +326,7 @@ entries: - file: docs/products/kafka/concepts/tiered-storage-guarantees title: Guarantees - file: docs/products/kafka/concepts/tiered-storage-backups - Title: Backups + title: Backups - file: docs/products/kafka/concepts/tiered-storage-limitations title: Limitations From eee2353bb29e5f6410d33822ea7707df827af25f Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Fri, 15 Sep 2023 10:53:50 +0200 Subject: [PATCH 07/19] updated overview section --- docs/products/kafka/concepts/kafka-tiered-storage.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index 5c1e42d55b..2c9fd2b148 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -6,7 +6,11 @@ Discover the tiered storage capability in Aiven for Apache Kafka®. Learn how it Overview --------- -Tiered storage provides the ability to use multiple storage types to store data, such as local disk and cloud storage, based on how frequently it is accessed. With Aiven for Apache Kafka, you can use tiered storage to allocate some of your data to high-speed local disks and move the rest to more cost-efficient remote storage options like AWS S3 and Google Cloud Storage. +Tiered storage in Aiven for Apache Kafka® lets you manage your data more efficiently by leveraging multiple storage types—local disk and remote cloud storage options like AWS S3 and Google Cloud Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage allows you to store data on specific topics indefinitely without running out of space. Once enabled, it is configured on a per-topic basis, giving you granular control over data storage. + +.. note:: + Azure blob storage is not yet supported for tiered storage in Aiven for Apache Kafka. + Tiered storage offers multiple benefits, including: From 512a18c2e62e1ea125650cae2e40d69a17795fee Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Fri, 15 Sep 2023 11:24:12 +0200 Subject: [PATCH 08/19] More updates to content --- docs/products/kafka/concepts/kafka-tiered-storage.rst | 2 +- .../kafka/concepts/tiered-storage-how-it-works.rst | 9 ++++----- .../kafka/concepts/tiered-storage-limitations.rst | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index 2c9fd2b148..bfe606205c 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -5,8 +5,8 @@ Discover the tiered storage capability in Aiven for Apache Kafka®. Learn how it Overview --------- +Tiered storage in Aiven for Apache Kafka® lets you manage your data more efficiently by leveraging multiple storage types—local disk and remote cloud storage options like AWS S3 and Google Cloud Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage enables you to indefinitely store data on specific topics without running out of space. Once enabled, it is configured per topic, giving you granular control over data storage. -Tiered storage in Aiven for Apache Kafka® lets you manage your data more efficiently by leveraging multiple storage types—local disk and remote cloud storage options like AWS S3 and Google Cloud Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage allows you to store data on specific topics indefinitely without running out of space. Once enabled, it is configured on a per-topic basis, giving you granular control over data storage. .. note:: Azure blob storage is not yet supported for tiered storage in Aiven for Apache Kafka. diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst index d59fdc1c1a..26f11ff35c 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -6,16 +6,15 @@ Aiven for Apache Kafka® tiered storage is a feature that optimizes data managem * **Local tier**: Primarily consists of faster and typically more expensive storage solutions like solid-state drives (SSDs). * **Remote tier**: Relies on slower, cost-effective options like cloud object storage. -In Aiven for Apache Kafka's tiered storage architecture, **remote storage** refers to storage options external to the Kafka broker's local disk. This typically includes cloud-based or self-hosted object storage solutions like AWS S3, Google Cloud, and Azure Blob Storage. Although network-attached block storage solutions like AWS EBS are technically external to the broker machine, Apache Kafka considers them local storage within its tiered storage architecture. +In Aiven for Apache Kafka's tiered storage architecture, **remote storage** refers to storage options external to the Kafka broker's local disk. This typically includes cloud-based or self-hosted object storage solutions like AWS S3 and Google Cloud. Although network-attached block storage solutions like AWS EBS are technically external to the broker machine, Apache Kafka considers them local storage within its tiered storage architecture. Tiered storage operates in a way that is seamless for both Apache Kafka producers and consumers. This means that producers and consumers interact with Apache Kafka in the same way, regardless of whether tiered storage is enabled or not. -Administrators can configure Tiered storage per topic by defining the retention period and retention bytes to specify how much data should be retained on the local disk as opposed to remote storage. +Administrators can configure Tiered storage per topic by defining the retention period and retention bytes to specify how much data should be retained on the local disk instead of remote storage. Local vs. remote data retention --------------------------------- - When tiered storage is enabled, data is initially stored on the local disk of the Kafka broker. Data is then asynchronously transferred to remote storage based on the pre-defined local retention threshold. During periods of high data ingestion or transient errors, such as network connectivity issues, the local storage might temporarily hold more data than specified by the local retention threshold. Segment management @@ -29,10 +28,10 @@ Data is transferred to remote storage asynchronously and does not interfere with Any data exceeding the local retention threshold will not be purged by the log cleaner until it is successfully uploaded to remote storage. The replication factor is not considered during the upload process, and only one copy of each segment is uploaded to the remote storage. Most remote storage options have their own measures, including data replication, to ensure data durability. + Data retrieval ----------------- -When consumers fetch records stored in remote storage, the broker downloads and caches these records locally. This allows for quicker access in subsequent retrieval operations. -The retention time and the maximum size of the cache can be configured. +When consumers fetch records stored in remote storage, the broker downloads and caches these records locally. This allows for quicker access in subsequent retrieval operations. You can configure the retention time and the maximum size of the cache. diff --git a/docs/products/kafka/concepts/tiered-storage-limitations.rst b/docs/products/kafka/concepts/tiered-storage-limitations.rst index a5ebb63ca7..7d4f005b99 100644 --- a/docs/products/kafka/concepts/tiered-storage-limitations.rst +++ b/docs/products/kafka/concepts/tiered-storage-limitations.rst @@ -1,7 +1,7 @@ Trade-offs and limitations ============================ -The main trade-off of tiered storage in Aiven for Apache Kafka® is the higher latency while accessing and reading data from remote storage compared to local disk storage. While adding local caching can partially solve this problem, it cannot eliminate the latency. +The main trade-off of tiered storage is the higher latency while accessing and reading data from remote storage compared to local disk storage. While adding local caching can partially solve this problem, it cannot eliminate the latency completely. Limitations ------------- From 6b2eed1dca1f19be37dccd0cb12f304ccb43f31a Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Mon, 18 Sep 2023 13:15:49 +0200 Subject: [PATCH 09/19] Addressed review feedback --- _toc.yml | 4 +++- .../kafka/concepts/kafka-tiered-storage.rst | 24 +++++++++---------- .../concepts/list-kafka-tiered-storage.rst | 7 ++++++ .../kafka/concepts/tiered-storage-backups.rst | 1 - .../concepts/tiered-storage-guarantees.rst | 2 +- .../concepts/tiered-storage-how-it-works.rst | 6 ++++- 6 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 docs/products/kafka/concepts/list-kafka-tiered-storage.rst diff --git a/_toc.yml b/_toc.yml index 2a1e64b967..2563bb3662 100644 --- a/_toc.yml +++ b/_toc.yml @@ -318,9 +318,11 @@ entries: - file: docs/products/kafka/concepts/monitor-consumer-group - file: docs/products/kafka/concepts/kafka-quotas title: Quotas - - file: docs/products/kafka/concepts/kafka-tiered-storage + - file: docs/products/kafka/concepts/list-kafka-tiered-storage title: Tiered storage entries: + - file: docs/products/kafka/concepts/kafka-tiered-storage + title: Overview - file: docs/products/kafka/concepts/tiered-storage-how-it-works title: How it works - file: docs/products/kafka/concepts/tiered-storage-guarantees diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index bfe606205c..8aaa0084ae 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -1,11 +1,7 @@ -Tiered storage in Aiven for Apache Kafka® -=========================================== +Tiered storage overview +========================== -Discover the tiered storage capability in Aiven for Apache Kafka®. Learn how it works and explore its use cases. Check why you might need it and what benefits you get using it. - -Overview ---------- -Tiered storage in Aiven for Apache Kafka® lets you manage your data more efficiently by leveraging multiple storage types—local disk and remote cloud storage options like AWS S3 and Google Cloud Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage enables you to indefinitely store data on specific topics without running out of space. Once enabled, it is configured per topic, giving you granular control over data storage. +Tiered storage in Aiven for Apache Kafka allows you to manage your data more efficiently by leveraging two distinct storage types—local disk and remote cloud storage options like AWS S3 and Google Cloud Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage enables you to indefinitely store data on specific topics without running out of space. Once enabled, it is configured per topic, giving you granular control over data storage needs. .. note:: @@ -14,8 +10,8 @@ Tiered storage in Aiven for Apache Kafka® lets you manage your data more effici Tiered storage offers multiple benefits, including: -* **Scalability:** Tiered storage allows Aiven for Apache Kafka instances to scale almost infinitely with cloud solutions, eliminating concerns about storage limitations. -* **Cost efficiency:** By moving less frequently accessed data to cost-effective storage tiers, you can realize significant financial savings. +* **Scalability:** With tiered storage in Aiven for Apache Kafka, storage and computing are effectively decoupled, enabling them to scale independently. This flexibility ensures that while the storage capacity can expand almost infinitely with cloud solutions, compute resources can also be adjusted based on demand, thus eliminating any concerns about storage or processing limitations. +* **Cost efficiency:** By moving less frequently accessed data to a cost-effective storage tier, you can achieve significant financial savings. * **Operational speed:** With the bulk of data offloaded to remote storage, service rebalancing in Aiven for Apache Kafka becomes faster, making for a smoother operational experience. * **Infinite data retention:** With the scalability of cloud storage, you can achieve unlimited data retention, valuable for analytics and compliance. * **Transparency:** Even older Kafka clients can benefit from tiered storage without needing to be explicitly aware of it. @@ -31,14 +27,16 @@ Understanding when and why to use tiered storage in Aiven for Apache Kafka will * **High-speed data ingestion**: Tiered storage can offer a solution when dealing with unpredictable or sudden influxes of data. By supplementing the local disks with cloud storage, sudden increases in incoming data can be managed, ensuring optimum system performance. -Security --------- -Segments are encrypted with 256-bit AES encryption before being uploaded to the remote storage. The encryption keys are not shared with the cloud storage provider and generally do not leave Aiven machines. - Pricing ------- Tiered storage costs are determined by the amount of remote storage used, measured in GB/hour. The highest usage level within each hour is the basis for calculating charges. +Related reading +---------------- +* :doc:`How tiered storage works in Aiven for Apache Kafka® <../tiered-storage-how-it-works.html>` +* :doc:`Guarantees <../tiered-storage-guarantees>` +* :doc:`Backups <../tiered-storage-backups>` +* :doc:`Limiations <../tiered-storage-limitations>` diff --git a/docs/products/kafka/concepts/list-kafka-tiered-storage.rst b/docs/products/kafka/concepts/list-kafka-tiered-storage.rst new file mode 100644 index 0000000000..ae6005167f --- /dev/null +++ b/docs/products/kafka/concepts/list-kafka-tiered-storage.rst @@ -0,0 +1,7 @@ +Tiered storage in Aiven for Apache Kafka® +=========================================== + +Discover the tiered storage capability in Aiven for Apache Kafka®. Learn how it works and explore its use cases. Check why you might need it and what benefits you get using it. + +.. tableofcontents:: + \ No newline at end of file diff --git a/docs/products/kafka/concepts/tiered-storage-backups.rst b/docs/products/kafka/concepts/tiered-storage-backups.rst index 4bc3745012..7019c0bf2f 100644 --- a/docs/products/kafka/concepts/tiered-storage-backups.rst +++ b/docs/products/kafka/concepts/tiered-storage-backups.rst @@ -10,4 +10,3 @@ To ensure security, Aiven for Apache Kafka employs client-side encryption at res Metadata backups are automatically restored during regular power cycles, but significant incidents may require manual operator intervention. The backup and restoration procedures for local storage remain separate and unchanged. -As active segments are not uploaded to the remote storage, the data stored in them will be lost after powering off the service. \ No newline at end of file diff --git a/docs/products/kafka/concepts/tiered-storage-guarantees.rst b/docs/products/kafka/concepts/tiered-storage-guarantees.rst index 4dfa59f0a4..3a71e9a028 100644 --- a/docs/products/kafka/concepts/tiered-storage-guarantees.rst +++ b/docs/products/kafka/concepts/tiered-storage-guarantees.rst @@ -13,6 +13,6 @@ Example Let's say you have a topic with a total retention threshold of 1000 GB and a local retention threshold of 200 GB. This means that: * All data for the topic will be retained, regardless of whether it is stored locally or remotely, as long as the total size of the data does not exceed 1000 GB. -* If the total size of the data exceeds 200 GB, Kafka will move older segments to the remote storage and delete them from the local disk. No data will be deleted from local storage until it has been safely transferred to remote storage. +* If tiered storage is enabled per topic, older segments will be uploaded immediately to remote storage, irrespective of whether the local retention threshold of 200 GB is exceeded. Data will be deleted from local storage only after it has been safely transferred to remote storage. * If the total size of the data exceeds 1000 GB, Apache Kafka will begin deleting the oldest data from remote storage. diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst index 26f11ff35c..05f08c02cb 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -31,7 +31,11 @@ The replication factor is not considered during the upload process, and only one Data retrieval ----------------- -When consumers fetch records stored in remote storage, the broker downloads and caches these records locally. This allows for quicker access in subsequent retrieval operations. You can configure the retention time and the maximum size of the cache. +When consumers fetch records stored in remote storage, the broker downloads and caches these records locally. This allows for quicker access in subsequent retrieval operations. +Security +-------- +Segments are encrypted with 256-bit AES encryption before being uploaded to the remote storage. The encryption keys are not shared with the cloud storage provider and generally do not leave Aiven machines. + From 1b4b610c9428cccc37fac5f54e060449443af2b4 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Fri, 22 Sep 2023 11:52:06 +0200 Subject: [PATCH 10/19] address review feedback --- .../kafka/concepts/kafka-tiered-storage.rst | 15 +++++++++------ .../concepts/list-kafka-tiered-storage.rst | 4 +++- .../concepts/tiered-storage-guarantees.rst | 2 +- .../concepts/tiered-storage-how-it-works.rst | 4 ++++ .../kafka/tiered-storage/data-retention.png | Bin 0 -> 20470 bytes 5 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 images/products/kafka/tiered-storage/data-retention.png diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index 8aaa0084ae..bf0f5eaf9d 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -1,11 +1,12 @@ Tiered storage overview ========================== -Tiered storage in Aiven for Apache Kafka allows you to manage your data more efficiently by leveraging two distinct storage types—local disk and remote cloud storage options like AWS S3 and Google Cloud Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage enables you to indefinitely store data on specific topics without running out of space. Once enabled, it is configured per topic, giving you granular control over data storage needs. +Tiered storage in Aiven for Apache Kafka® allows you to manage your data more efficiently by leveraging two distinct storage types—local disk and remote cloud storage options like AWS S3 and Google Cloud Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage enables you to indefinitely store data on specific topics without running out of space. Once enabled, it is configured per topic, giving you granular control over data storage needs. .. note:: - Azure blob storage is not yet supported for tiered storage in Aiven for Apache Kafka. + - Tiered stoage for Aiven for Apache Kafka® is support from Apache Kafka version 3.6 or higher + - Azure blob storage is not yet supported for tiered storage in Aiven for Apache Kafka. Tiered storage offers multiple benefits, including: @@ -25,6 +26,8 @@ Understanding when and why to use tiered storage in Aiven for Apache Kafka will * **Long-term data retention**: Many organizations require large-scale data storage for extended periods, either for regulatory compliance or historical data analysis. Cloud services provide an almost limitless storage capacity, making it possible to keep data accessible for as long as required at a reasonable cost. This is where tiered storage becomes especially valuable. * **High-speed data ingestion**: Tiered storage can offer a solution when dealing with unpredictable or sudden influxes of data. By supplementing the local disks with cloud storage, sudden increases in incoming data can be managed, ensuring optimum system performance. +* **Unlock unexplored opportunities:** Tiered storage in Aiven for Apache Kafka addresses existing storage challenges and opens the door to new and innovative use cases that were once unfeasible or cost-prohibitive. By eliminating traditional storage limitations, organizations gain the flexibility to support a wide range of applications and workflows, even those where Apache Kafka might have been considered impractical before. We encourage users to leverage this newfound flexibility to think creatively and redefine their experience with Apache Kafka. + Pricing @@ -35,8 +38,8 @@ Tiered storage costs are determined by the amount of remote storage used, measur Related reading ---------------- -* :doc:`How tiered storage works in Aiven for Apache Kafka® <../tiered-storage-how-it-works.html>` -* :doc:`Guarantees <../tiered-storage-guarantees>` -* :doc:`Backups <../tiered-storage-backups>` -* :doc:`Limiations <../tiered-storage-limitations>` +* :doc:`How tiered storage works in Aiven for Apache Kafka® ` +* :doc:`Guarantees ` +* :doc:`Backups ` +* :doc:`Limiations ` diff --git a/docs/products/kafka/concepts/list-kafka-tiered-storage.rst b/docs/products/kafka/concepts/list-kafka-tiered-storage.rst index ae6005167f..81d06cba49 100644 --- a/docs/products/kafka/concepts/list-kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/list-kafka-tiered-storage.rst @@ -1,7 +1,9 @@ Tiered storage in Aiven for Apache Kafka® =========================================== -Discover the tiered storage capability in Aiven for Apache Kafka®. Learn how it works and explore its use cases. Check why you might need it and what benefits you get using it. +Discover how tiered storage works in Aiven for Apache Kafka®, explore its use cases, and learn why you might need it and what benefits it offers. + + .. tableofcontents:: \ No newline at end of file diff --git a/docs/products/kafka/concepts/tiered-storage-guarantees.rst b/docs/products/kafka/concepts/tiered-storage-guarantees.rst index 3a71e9a028..8ede2ce70a 100644 --- a/docs/products/kafka/concepts/tiered-storage-guarantees.rst +++ b/docs/products/kafka/concepts/tiered-storage-guarantees.rst @@ -10,7 +10,7 @@ With Aiven for Apache Kafka®'s tiered storage, there are two primary types of d Example -------- -Let's say you have a topic with a total retention threshold of 1000 GB and a local retention threshold of 200 GB. This means that: +Let's say you have a topic with a **total retention threshold** of **1000 GB** and a **local retention threshold** of **200 GB**. This means that: * All data for the topic will be retained, regardless of whether it is stored locally or remotely, as long as the total size of the data does not exceed 1000 GB. * If tiered storage is enabled per topic, older segments will be uploaded immediately to remote storage, irrespective of whether the local retention threshold of 200 GB is exceeded. Data will be deleted from local storage only after it has been safely transferred to remote storage. diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst index 05f08c02cb..6c9635cc49 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -17,6 +17,9 @@ Local vs. remote data retention --------------------------------- When tiered storage is enabled, data is initially stored on the local disk of the Kafka broker. Data is then asynchronously transferred to remote storage based on the pre-defined local retention threshold. During periods of high data ingestion or transient errors, such as network connectivity issues, the local storage might temporarily hold more data than specified by the local retention threshold. +.. image:: /images/products/kafka/tiered-storage/data-retention.png + :alt: Diagram depicting the concept of local vs. remote data retention in a tiered storage system. + Segment management ------------------- Data is organized into segments, which are uploaded to remote storage individually. The active (newest) segment remains in local storage, which means that the segment size can also influence local data retention. For instance, if the local retention threshold is 1 GB, but the segment size is 2 GB, the local storage will exceed the 1 GB limit until the active segment is rolled over and uploaded to remote storage. @@ -25,6 +28,7 @@ Data is organized into segments, which are uploaded to remote storage individual Asynchronous uploads and replication -------------------------------------- Data is transferred to remote storage asynchronously and does not interfere with the producer activity. While the broker aims to move data as swiftly as possible, certain conditions, such as high-throughput or connectivity issues, may cause more data to be stored in the local storage than the specified local retention policy. + Any data exceeding the local retention threshold will not be purged by the log cleaner until it is successfully uploaded to remote storage. The replication factor is not considered during the upload process, and only one copy of each segment is uploaded to the remote storage. Most remote storage options have their own measures, including data replication, to ensure data durability. diff --git a/images/products/kafka/tiered-storage/data-retention.png b/images/products/kafka/tiered-storage/data-retention.png new file mode 100644 index 0000000000000000000000000000000000000000..b42cc3eaaeec980c593ee3f9738c266a0ed68945 GIT binary patch literal 20470 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 literal 0 HcmV?d00001 From 36e1ed707b4d53026c25bb5277f43ffe4bf655da Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Thu, 28 Sep 2023 14:15:29 +0200 Subject: [PATCH 11/19] Fixed a typo --- docs/products/kafka/concepts/kafka-tiered-storage.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index bf0f5eaf9d..f2fb489537 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -5,7 +5,7 @@ Tiered storage in Aiven for Apache Kafka® allows you to manage your data more e .. note:: - - Tiered stoage for Aiven for Apache Kafka® is support from Apache Kafka version 3.6 or higher + - Tiered storage for Aiven for Apache Kafka® is support from Apache Kafka version 3.6 or higher - Azure blob storage is not yet supported for tiered storage in Aiven for Apache Kafka. From 96b8000e504c23003f9ece3407adfdbe514f29de Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Fri, 29 Sep 2023 17:20:23 +0200 Subject: [PATCH 12/19] Minor update text in Backups topic based on feedback --- docs/products/kafka/concepts/tiered-storage-backups.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/kafka/concepts/tiered-storage-backups.rst b/docs/products/kafka/concepts/tiered-storage-backups.rst index 7019c0bf2f..150b95663a 100644 --- a/docs/products/kafka/concepts/tiered-storage-backups.rst +++ b/docs/products/kafka/concepts/tiered-storage-backups.rst @@ -1,7 +1,7 @@ Tiered storage backups ======================== -In Aiven for Apache Kafka®'s tiered storage, data that resides in topics with tiered storage will persist across power cycles. However, this is not the same as a conventional backup system. Only topics with tiered storage get copied to remote locations, while active data segments remain on local storage due to limitations with Apache Kafka. +In Aiven for Apache Kafka's tiered storage, data that resides in topics with tiered storage will persist across power cycles, as long as segments have been successfully synchronized to the remote storage. Only topics with tiered storage get copied to remote locations, while active data segments remain on local storage due to limitations with Apache Kafka. .. note:: Remote data can remain vulnerable to accidental or intentional deletions as it stays connected to Apache Kafka brokers. From ab75a564ac977a2a0daf8e29b1fc7a3f170f3685 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Mon, 2 Oct 2023 10:57:28 +0200 Subject: [PATCH 13/19] Added related reading section and nnote about early availability --- .../kafka/concepts/kafka-tiered-storage.rst | 13 ++++++++++--- .../kafka/concepts/tiered-storage-guarantees.rst | 7 +++++++ .../kafka/concepts/tiered-storage-how-it-works.rst | 12 ++++++++++++ .../kafka/concepts/tiered-storage-limitations.rst | 7 +++++++ 4 files changed, 36 insertions(+), 3 deletions(-) diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index f2fb489537..6f0f69f320 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -1,14 +1,20 @@ -Tiered storage overview -========================== +Tiered storage in Aiven for Apache Kafka® overview +===================================================== Tiered storage in Aiven for Apache Kafka® allows you to manage your data more efficiently by leveraging two distinct storage types—local disk and remote cloud storage options like AWS S3 and Google Cloud Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage enables you to indefinitely store data on specific topics without running out of space. Once enabled, it is configured per topic, giving you granular control over data storage needs. +.. important:: + + Aiven for Apache Kafka® tiered storage is an early availability feature, which means it has some restrictions on the functionality and service level agreement. It is intended for non-production environments, but you can test it with production-like workloads to assess the performance. To enable this feature, navigate to the :doc:`Feature preview ` page within your user profile. + .. note:: - - Tiered storage for Aiven for Apache Kafka® is support from Apache Kafka version 3.6 or higher + - Tiered storage for Aiven for Apache Kafka® is supported starting from Apache Kafka® version 3.6. - Azure blob storage is not yet supported for tiered storage in Aiven for Apache Kafka. +Benefits of tiered storage +---------------------------- Tiered storage offers multiple benefits, including: * **Scalability:** With tiered storage in Aiven for Apache Kafka, storage and computing are effectively decoupled, enabling them to scale independently. This flexibility ensures that while the storage capacity can expand almost infinitely with cloud solutions, compute resources can also be adjusted based on demand, thus eliminating any concerns about storage or processing limitations. @@ -42,4 +48,5 @@ Related reading * :doc:`Guarantees ` * :doc:`Backups ` * :doc:`Limiations ` +* Enabled tiered storage for Aiven for Apache Kafka® service diff --git a/docs/products/kafka/concepts/tiered-storage-guarantees.rst b/docs/products/kafka/concepts/tiered-storage-guarantees.rst index 8ede2ce70a..bf9b4710dc 100644 --- a/docs/products/kafka/concepts/tiered-storage-guarantees.rst +++ b/docs/products/kafka/concepts/tiered-storage-guarantees.rst @@ -16,3 +16,10 @@ Let's say you have a topic with a **total retention threshold** of **1000 GB** a * If tiered storage is enabled per topic, older segments will be uploaded immediately to remote storage, irrespective of whether the local retention threshold of 200 GB is exceeded. Data will be deleted from local storage only after it has been safely transferred to remote storage. * If the total size of the data exceeds 1000 GB, Apache Kafka will begin deleting the oldest data from remote storage. + +Related reading +---------------- + +* :doc:`Tiered storage in Aiven for Apache Kafka® overview ` +* :doc:`How tiered storage works in Aiven for Apache Kafka® ` +* Enabled tiered storage for Aiven for Apache Kafka® service \ No newline at end of file diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst index 6c9635cc49..d6db204ef4 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -43,3 +43,15 @@ Security Segments are encrypted with 256-bit AES encryption before being uploaded to the remote storage. The encryption keys are not shared with the cloud storage provider and generally do not leave Aiven machines. + + +Related reading +---------------- + +* :doc:`Tiered storage in Aiven for Apache Kafka® overview ` +* :doc:`Guarantees ` +* :doc:`Backups ` +* :doc:`Limiations ` +* Enabled tiered storage for Aiven for Apache Kafka® service + + diff --git a/docs/products/kafka/concepts/tiered-storage-limitations.rst b/docs/products/kafka/concepts/tiered-storage-limitations.rst index 7d4f005b99..e7efd57596 100644 --- a/docs/products/kafka/concepts/tiered-storage-limitations.rst +++ b/docs/products/kafka/concepts/tiered-storage-limitations.rst @@ -11,3 +11,10 @@ Limitations * Increasing the local retention threshold won't move segments already uploaded to remote storage back to local storage. This change only affects new data segments. * If you enable tiered storage on a service, you can't migrate the service to a different region or cloud, except for moving to a virtual cloud in the same region. For migration to a different region or cloud, contact `Aiven support `_. + +Related reading +---------------- + +* :doc:`Tiered storage in Aiven for Apache Kafka® overview ` +* :doc:`How tiered storage works in Aiven for Apache Kafka® ` +* Enabled tiered storage for Aiven for Apache Kafka® service \ No newline at end of file From e16891ab625186777c4e8eeb57ed9c7a7016cf3f Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy <108724024+harshini-rangaswamy@users.noreply.github.com> Date: Sun, 8 Oct 2023 19:37:25 +0200 Subject: [PATCH 14/19] Update docs/products/kafka/concepts/tiered-storage-how-it-works.rst Co-authored-by: Jorge Esteban Quilcate Otoya --- docs/products/kafka/concepts/tiered-storage-how-it-works.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst index d6db204ef4..f3666ab261 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -35,7 +35,8 @@ The replication factor is not considered during the upload process, and only one Data retrieval ----------------- -When consumers fetch records stored in remote storage, the broker downloads and caches these records locally. This allows for quicker access in subsequent retrieval operations. +When consumers fetch records stored in remote storage, the broker downloads and caches these records locally. This allows for quicker access in subsequent retrieval operations. +Aiven will use a small amount of disk (between 2GB and 16GB, based on the 5% of disk available on the broker) to store records fetched temporally. Security From fdfbaebea30c15a1602b949010b69afb02639852 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Sun, 8 Oct 2023 19:42:28 +0200 Subject: [PATCH 15/19] Updated information about local cache --- docs/products/kafka/concepts/tiered-storage-how-it-works.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst index f3666ab261..666b2eaeac 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -36,8 +36,8 @@ The replication factor is not considered during the upload process, and only one Data retrieval ----------------- When consumers fetch records stored in remote storage, the broker downloads and caches these records locally. This allows for quicker access in subsequent retrieval operations. -Aiven will use a small amount of disk (between 2GB and 16GB, based on the 5% of disk available on the broker) to store records fetched temporally. +Aiven allocates a small amount of disk space, ranging from 2GB to 16GB, equivalent to 5% of the broker's total available disk, for the temporary storage of fetched records. Security -------- From 35293f115e22fcacf970fa5b4d71c07f2bc74c23 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Fri, 20 Oct 2023 16:27:56 +0200 Subject: [PATCH 16/19] Removed backup related content --- _toc.yml | 2 -- .../products/kafka/concepts/kafka-tiered-storage.rst | 1 - .../kafka/concepts/tiered-storage-backups.rst | 12 ------------ .../kafka/concepts/tiered-storage-how-it-works.rst | 1 - 4 files changed, 16 deletions(-) delete mode 100644 docs/products/kafka/concepts/tiered-storage-backups.rst diff --git a/_toc.yml b/_toc.yml index 2563bb3662..21d7a2bc1c 100644 --- a/_toc.yml +++ b/_toc.yml @@ -327,8 +327,6 @@ entries: title: How it works - file: docs/products/kafka/concepts/tiered-storage-guarantees title: Guarantees - - file: docs/products/kafka/concepts/tiered-storage-backups - title: Backups - file: docs/products/kafka/concepts/tiered-storage-limitations title: Limitations diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index 6f0f69f320..211d88a27b 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -46,7 +46,6 @@ Related reading * :doc:`How tiered storage works in Aiven for Apache Kafka® ` * :doc:`Guarantees ` -* :doc:`Backups ` * :doc:`Limiations ` * Enabled tiered storage for Aiven for Apache Kafka® service diff --git a/docs/products/kafka/concepts/tiered-storage-backups.rst b/docs/products/kafka/concepts/tiered-storage-backups.rst deleted file mode 100644 index 150b95663a..0000000000 --- a/docs/products/kafka/concepts/tiered-storage-backups.rst +++ /dev/null @@ -1,12 +0,0 @@ -Tiered storage backups -======================== - -In Aiven for Apache Kafka's tiered storage, data that resides in topics with tiered storage will persist across power cycles, as long as segments have been successfully synchronized to the remote storage. Only topics with tiered storage get copied to remote locations, while active data segments remain on local storage due to limitations with Apache Kafka. - -.. note:: - Remote data can remain vulnerable to accidental or intentional deletions as it stays connected to Apache Kafka brokers. - -To ensure security, Aiven for Apache Kafka employs client-side encryption at rest and multi-stage data integrity checks. The remote data is stored in the same cloud region as the Aiven for Apache Kafka service. - -Metadata backups are automatically restored during regular power cycles, but significant incidents may require manual operator intervention. The backup and restoration procedures for local storage remain separate and unchanged. - diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst index 666b2eaeac..2434ebfe3e 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -51,7 +51,6 @@ Related reading * :doc:`Tiered storage in Aiven for Apache Kafka® overview ` * :doc:`Guarantees ` -* :doc:`Backups ` * :doc:`Limiations ` * Enabled tiered storage for Aiven for Apache Kafka® service From 9933f246c3f2a7e959dc5374d9cf9a0886ea2141 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Thu, 2 Nov 2023 11:10:21 +0100 Subject: [PATCH 17/19] Added note TS not supported on startup-2 plans --- docs/products/kafka/concepts/kafka-tiered-storage.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index 211d88a27b..5f1ddef77d 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -10,6 +10,7 @@ Tiered storage in Aiven for Apache Kafka® allows you to manage your data more e .. note:: - Tiered storage for Aiven for Apache Kafka® is supported starting from Apache Kafka® version 3.6. + - Tiered storage for Aiven for Apache Kafka® is not available for startup-2 plans. - Azure blob storage is not yet supported for tiered storage in Aiven for Apache Kafka. From 9186189f4bff6a5578bdf7d06c5c3519ad14e7e4 Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy Date: Thu, 2 Nov 2023 16:21:18 +0100 Subject: [PATCH 18/19] Updated note --- docs/products/kafka/concepts/kafka-tiered-storage.rst | 3 +-- docs/products/kafka/concepts/tiered-storage-how-it-works.rst | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/products/kafka/concepts/kafka-tiered-storage.rst b/docs/products/kafka/concepts/kafka-tiered-storage.rst index 5f1ddef77d..27900c1ded 100644 --- a/docs/products/kafka/concepts/kafka-tiered-storage.rst +++ b/docs/products/kafka/concepts/kafka-tiered-storage.rst @@ -1,7 +1,7 @@ Tiered storage in Aiven for Apache Kafka® overview ===================================================== -Tiered storage in Aiven for Apache Kafka® allows you to manage your data more efficiently by leveraging two distinct storage types—local disk and remote cloud storage options like AWS S3 and Google Cloud Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage enables you to indefinitely store data on specific topics without running out of space. Once enabled, it is configured per topic, giving you granular control over data storage needs. +Tiered storage in Aiven for Apache Kafka® enables more effective data management by utilizing two different storage types—local disk and remote cloud storage solutions such as AWS S3, Google Cloud Storage, and Azure Blob Storage. This feature offers a tailored approach to data storage, allowing you to allocate frequently accessed data to high-speed local disks while offloading less critical or infrequently accessed data to more cost-effective remote storage solutions. Tiered storage enables you to indefinitely store data on specific topics without running out of space. Once enabled, it is configured per topic, giving you granular control over data storage needs. .. important:: @@ -11,7 +11,6 @@ Tiered storage in Aiven for Apache Kafka® allows you to manage your data more e .. note:: - Tiered storage for Aiven for Apache Kafka® is supported starting from Apache Kafka® version 3.6. - Tiered storage for Aiven for Apache Kafka® is not available for startup-2 plans. - - Azure blob storage is not yet supported for tiered storage in Aiven for Apache Kafka. Benefits of tiered storage diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst index 2434ebfe3e..14041bdfb7 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -10,7 +10,7 @@ In Aiven for Apache Kafka's tiered storage architecture, **remote storage** refe Tiered storage operates in a way that is seamless for both Apache Kafka producers and consumers. This means that producers and consumers interact with Apache Kafka in the same way, regardless of whether tiered storage is enabled or not. -Administrators can configure Tiered storage per topic by defining the retention period and retention bytes to specify how much data should be retained on the local disk instead of remote storage. +Administrators can configure tiered storage per topic by defining the retention period and retention bytes to specify how much data should be retained on the local disk instead of remote storage. Local vs. remote data retention From 963302eebeeaaeb432ae498493687f2bd0524a5f Mon Sep 17 00:00:00 2001 From: Harshini Rangaswamy <108724024+harshini-rangaswamy@users.noreply.github.com> Date: Fri, 3 Nov 2023 13:08:23 +0100 Subject: [PATCH 19/19] Update docs/products/kafka/concepts/tiered-storage-how-it-works.rst Co-authored-by: Ivan Yurchenko --- docs/products/kafka/concepts/tiered-storage-how-it-works.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst index 14041bdfb7..1c918d8a67 100644 --- a/docs/products/kafka/concepts/tiered-storage-how-it-works.rst +++ b/docs/products/kafka/concepts/tiered-storage-how-it-works.rst @@ -27,7 +27,7 @@ Data is organized into segments, which are uploaded to remote storage individual Asynchronous uploads and replication -------------------------------------- -Data is transferred to remote storage asynchronously and does not interfere with the producer activity. While the broker aims to move data as swiftly as possible, certain conditions, such as high-throughput or connectivity issues, may cause more data to be stored in the local storage than the specified local retention policy. +Data is transferred to remote storage asynchronously and does not interfere with the producer activity. While the broker aims to move data as swiftly as possible, certain conditions, such as high ingestion rate or connectivity issues, may cause more data to be stored in the local storage than the specified local retention policy. Any data exceeding the local retention threshold will not be purged by the log cleaner until it is successfully uploaded to remote storage. The replication factor is not considered during the upload process, and only one copy of each segment is uploaded to the remote storage. Most remote storage options have their own measures, including data replication, to ensure data durability.