Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon S3 Boston 2025-05-07
Search
sullis
May 07, 2025
Programming
0
39
Amazon S3 Boston 2025-05-07
Boston Lakehouse Meetup
2025-05-07
Cambridge Massachusetts
sullis
May 07, 2025
Tweet
Share
More Decks by sullis
See All by sullis
Amazon S3 Chicago 2025-06-04
sullis
0
86
Netty ConFoo Montreal 2025-02-27
sullis
0
68
GitHub Actions ConFoo Montreal 2025-02-26
sullis
0
40
Netty Portland Java User Group 2025-02-18
sullis
0
8
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
170
Amazon S3 - Portland Java User Group 2024-09-17
sullis
0
93
Netty - Montreal Java User Group 2024-05-21
sullis
0
170
Netty Chicago Java User Group 2024-04-17
sullis
0
1.1k
Java 21 - Portland Java User Group 2023-10-24
sullis
0
320
Other Decks in Programming
See All in Programming
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
1
530
ReadMoreTextView
fornewid
1
380
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
470
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
110
FormFlow - Build Stunning Multistep Forms
yceruto
1
160
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
280
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
800
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
1
120
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
120
人には人それぞれのサービス層がある
shimabox
3
670
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
KATA
mclloyd
29
14k
A Tale of Four Properties
chriscoyier
159
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Unsuck your backbone
ammeep
671
58k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Transcript
Amazon S3 Sean Sullivan Boston Lakehouse meetup May 7, 2025
None
Developers AWS
Iceberg table format
S3 buckets
org.apache.iceberg.aws.s3.S3FileIO Developers AWS
None
Agenda AWS re:Invent 2024 Amazon S3 AWS SDK Bonus topics
AWS re:Invent 2024 S3 Tables S3 Metadata
AWS re:Invent 2024 fully managed Iceberg tables
AWS re:Invent 2024 “Table buckets”
AWS re:Invent 2024 Iceberg tables as fi rst-class AWS resources
AWS re:Invent 2024
AWS re:Invent 2024 pom.xml
AWS re:Invent 2024 automatic generation of metadata that is captured
when S3 objects are added or modi fi ed stored in fully managed Apache Iceberg tables
Amazon S3 “Simple Storage Service” Launched on March 14, 2006
Amazon S3 S3 is an object storage service with an
HTTP REST API https://www.allthingsdistributed.com/2023/07/building-and-operating-a-pretty-big-storage-system.html
Amazon S3 “There is a frontend fl eet with a
REST API, a namespace service, a storage fl eet that’s full of hard disks, and a fl eet that does background operations.” https://www.allthingsdistributed.com/2023/07/building-and-operating-a-pretty-big-storage-system.html
S3 core concepts Buckets Objects
S3 core concepts An Amazon S3 object represents a fi
le or collection of data Every object must reside within a bucket
S3 bucket types General purpose buckets Directory buckets Table buckets
S3 bucket names an Amazon S3 bucket name is globally
unique the namespace is shared by all AWS accounts
S3 pricing https://aws.amazon.com/s3/pricing/ “You pay for storing objects in your
S3 buckets. The rate you’re charged depends on your objects' size, how long you stored the objects during the month, and the storage class”
S3 storage classes https://aws.amazon.com/s3/storage-classes/ “Amazon S3 o ff ers a
range of storage classes that you can choose from based on the performance, data access, resiliency, and cost requirements of your workloads.”
S3 storage classes https://aws.amazon.com/s3/storage-classes/ Standard Intelligent Tiering Express One Zone
… and many others
Storage class choice matters https://www.youtube.com/watch?v=RxgYNrXPOLw
S3 REST API 3314 pages
S3 operations Upload object List objects Download object Copy Move
Delete
using S3 in a Java application
AWS SDK for Java v1 AWS SDK for Java v2
AWS SDK for Kotlin
AWS SDK for Java v1 https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-java-v1-x-on-december-31-2025/
Open source SDK’s
AWS SDK for Java v2 pom.xml
AWS SDK for Java v2 pom.xml
AWS SDK for Java v2 : HTTP clients Apache Client
Netty Client CRT Client
AWS SDK for Java v2: CRT client pom.xml
CRT @ AWS re:Invent 2024 https://youtu.be/2DSVjJTRsz8?t=833
Di ff erent fl avors of S3 clients Async Sync
how to create an S3 bucket?
Creating an S3 bucket AWS Console UI AWS CLI AWS
SDK CloudFormation AWS CDK Terraform Pulumi Infrastructure as Code Other
CloudFormation
Pulumi
testing S3 locally Localstack MinIO Adobe S3Mock Testcontainers Testcontainers Testcontainers
S3 with MinIO S3MinioTest.java
how to upload an object? PutObjectRequest
how to retrieve an object? GetObjectRequest
how to upload large objects? CreateMultipartUploadRequest
parallel uploads? S3TransferManager
Iceberg @ Net fl ix 2018 June 2018 https://www.youtube.com/watch?v=nWwQMlrjhy0 S3
AWS re:Invent 2023 Ryan Blue
AWS re:Invent 2023
AWS re:Invent 2023 “Too many small fi les are a
problem”
Apache Iceberg project https://github.com/apache/iceberg
Iceberg pull request https://github.com/apache/iceberg/pull/11349
S3 Conditional Writes https://aws.amazon.com/about-aws/whats-new/2024/08/amazon-s3-conditional-writes/ Conditional writes can ensure there is
no existing object with the same key name in you bucket during PUT operations
S3 bucket permissions https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleCon fi guration.html By default, all Amazon
S3 resources are private, including buckets, objects, and related subresources
S3 performance considerations?
S3 performance https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html "your application can achieve at least 3,500
PUT/COPY/POST/DELETE or 5,500 GET/HEAD requests per second per partitioned Amazon S3 pre fi x”
S3 performance https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html "There are no limits to the number
of pre fi xes in a bucket. You can increase your read or write performance by using parallelization”
S3 performance https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html “While Amazon S3 is scaling to your
new higher request rate, you may see some 503 (Slow Down) errors. These errors will dissipate when the scaling is complete.”
KubeCon November 2024
re:Invent December 2024
S3
Thank you!
S3 resources
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
AWS re:Invent 2024
Bonus content
I was just hoping you might give me some insight
into the evolution of the Apache Iceberg table specification
None