Golang Project with Git-like capabilities for object storage


An open-source tool that transforms your object storage into a Git-like repository. It enables you to manage your data lake the way you manage your code.

With lakeFS you can build repeatable, atomic, and versioned data lake operations – from complex ETL jobs to data science and analytics.

lakeFS supports AWS S3, Azure Blob Storage, and Google Cloud Storage as its underlying storage service. It is API compatible with S3 and works seamlessly with all modern data frameworks such as Spark, Hive, AWS Athena, Presto, etc.

For more information, see the official lakeFS documentation.

Capabilities of lakeFS Object Storage

In Development

  • Experiment – try new tools, upgrade versions, and evaluate code changes in isolation. You can get an isolated snapshot to run and compare experiments by creating a new branch of the data, while others are not exposed.
  • Debug – checkout specific commits in a repository’s commit history to materialize consistent, historical versions of your data.
  • Collaborate – leverage isolated branches managed by metadata (not copies of files) to work in parallel.

During Deployment

  • Version Control – deploy data safely with CI/CD workflows borrowed from software engineering best practices. Ingest new data onto an isolated branch, perform data validations, then add to production through a merge operation.
  • Test – define pre-merge and pre-commit hooks to run tests that enforce schema and validate data properties to catch issues before they reach production.

In Production

  • Roll Back – recover from errors by instantly reverting data to a former, consistent snapshot of the data lake. Choose any commit in a repository’s commit history to revert in one atomic action.
  • Troubleshoot – investigate production errors by starting with a snapshot of the inputs to the failed process.
  • Cross-collection Consistency – provide consumers multiple synchronized data collections in one atomic, revertable action.