Jian, Understands this is an optional feature and the cost saving depends on the ratio between local.retention.ms and total retention.ms.
In our setup, we have local.retention set to 3 hours and total retention set to 3 days, so the saving is not going to be significant. On 2025/12/01 05:33:11 jian fu wrote: > Hi Haiying Cai, > > Thanks for joining the discussion for this KIP. All of your concerns are > valid, and that is exactly why I introduced a topic-level configuration to > make this feature optional. This means that, by default, the behavior > remains unchanged. Only when users are not pursuing faster broker boot time > or other optimizations — and care more about cost — would they enable this > option to some topics to save resources. > > Regarding cost self: the actual savings depend on the ratio between local > retention and remote retention. In the KIP/PR, I provided a test example: > if we configure 1 day of local retention and 2 days of remote retention, we > can save about 50%. And realistically, I don't think anyone would boldly > set local retention to a very small value (such as minutes) due to the > latency concerns associated with remote storage. So in short, the feature > will help reduce cost, and the amount saved simply depends on the ratio. > Take my company's usage as real example, we configure most of the topics: 1 > day of local retention and 3–7 days of remote storage (3 days for topic > with log/metric usage, 7 days for topic with normal business usage). and we > don't care about the boot speed and some thing else, This KIP allows us to > save 1/7 to 1/3 of the total disk usage for remote storage. > > Anyway, this is just a topic-level optional feature which don't reject the > benifit for current design. Thanks again for the discussion. I can update > the KIP to better classify scenarios where this optional feature is not > suitable. Currently, I only listed real-time analytics as the negative > example. > > Welcome further discussion to help make this KIP more complete. Thanks! > > Regards, > Jian > > Haiying Cai via dev <[email protected]> 于2025年12月1日周一 12:40写道: > > > Jian, > > > > Thanks for the contribution. But I feel the uploading the local segment > > file to remote storage ASAP is advantageous in several scenarios: > > > > 1. Enable the fast bootstrapping a new broker. A new broker doesn’t have > > to replicate all the data from the leader broker, it only needs to > > replicate the data from the tail of the remote log segment to the tail of > > the current end of the topic (LSO) since all the other data are in the > > remote tiered storage and it can download them later lazily, this is what > > KIP-1023 trying to solve; > > 2. Although nobody has proposed a KIP to allow a consumer client to read > > from the remote tiered storage directly, but this will helps the > > fall-behind consumer to do catch-up reads or perform the backfill. This > > path allows the consumer backfill to finish without polluting the broker’s > > page cache. The earlier the data is on the remote tiered storage, the more > > advantageous it is for the client. > > > > I think in your Proposal, you are delaying uploading the segment but the > > file will still be uploaded at a later time, I guess this can saves a few > > hours storage cost for that file in the remote storage, not sure whether > > that is a significant cost saved (if the file needs to stay in remote > > tiered storage for several days or weeks due to retention policy). > > > > On 2025/11/19 13:29:11 jian fu wrote: > > > Hi everyone, I'd like to start a discussion on KIP-1241, the goal is to > > > reduce the remote storage. KIP: > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1241%3A+Reduce+tiered+storage+redundancy+with+delayed+upload > > > > > > The Draft PR: https://github.com/apache/kafka/pull/20913 Problem: > > > Currently, > > > Kafka's tiered storage implementation uploads all non-active local log > > > segments to remote storage immediately, even when they are still within > > the > > > local retention period. > > > This results in redundant storage of the same data in both local and > > remote > > > tiers. > > > > > > When there is no requirement for real-time analytics or immediate > > > consumption based on remote storage. It has the following drawbacks: > > > > > > 1. Wastes storage capacity and costs: The same data is stored twice > > during > > > the local retention window > > > 2. Provides no immediate benefit: During the local retention period, > > reads > > > prioritize local data, making the remote copy unnecessary > > > > > > > > > So. this KIP is to reduce tiered storage redundancy with delayed upload. > > > You can check the test result example here directly: > > > https://github.com/apache/kafka/pull/20913#issuecomment-3547156286 > > > Looking forward to your feedback! Best regards, Jian > > > >
