From 9511458ec5566901f6037442480d4f758d359154 Mon Sep 17 00:00:00 2001 From: iddoavn <87393827+iddoavn@users.noreply.github.com> Date: Tue, 26 Nov 2024 16:58:19 -0500 Subject: [PATCH] Added an explicit call out about the data and metadata flow difference between the gateway and the clients. --- docs/assets/img/s3gatewayvsclientdataflow.png | Bin 0 -> 86340 bytes docs/understand/architecture.md | 9 +++++++++ 2 files changed, 9 insertions(+) create mode 100644 docs/assets/img/s3gatewayvsclientdataflow.png diff --git a/docs/assets/img/s3gatewayvsclientdataflow.png b/docs/assets/img/s3gatewayvsclientdataflow.png new file mode 100644 index 0000000000000000000000000000000000000000..9431c18ccb524d674956fac9ccd7163577cd402e GIT binary patch literal 86340 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�gwKj?(_1NwpqTA1l=x- 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 literal 0 HcmV?d00001 diff --git a/docs/understand/architecture.md b/docs/understand/architecture.md index 3da64fc6f98..7af37d77167 100644 --- a/docs/understand/architecture.md +++ b/docs/understand/architecture.md @@ -112,6 +112,15 @@ Using [lakeFSFileSystem][hadoopfs] increases Spark ETL jobs performance by execu and all data operations directly through the same underlying object store that lakeFS uses. +## How lakeFS Clients and Gateway Handle Metadata and Data Access + + +When using the Python client, lakeCTL, or the lakeFS Spark client, these clients communicate with the lakeFS server to retrieve metadata information. For example, they may query lakeFS to understand which version of a file is needed or to track changes in branches and commits. This communication does not include the actual data transfer, but instead involves passing only metadata about data locations and versions. +Once the client knows the exact data location from the lakeFS metadata, it directly accesses the data in the underlying object storage (potentially using presigned URLs) without routing through lakeFS. For instance, if data is stored in S3, the Spark client will retrieve the S3 paths from lakeFS, then directly read and write to those paths in S3 without involving lakeFS in the data transfer. + +lakeFS Clients vs Gateway Data Flow + + [data-quality-gates]: {% link understand/use_cases/cicd_for_data.md %}#using-hooks-as-data-quality-gates [dynamodb-permissions]: {% link howto/deploy/aws.md %}#grant-dynamodb-permissions-to-lakefs [roadmap]: {% link project/index.md %}#roadmap