Skip to main content

Command Palette

Search for a command to run...

Data Version Control VS Git

Updated
1 min readView as Markdown
M

Senior DevOps Engineer with a strong background in CICD and Observability and Monitoring and skilled in tools like Elasticsearch, Docker, Kubernetes,Terraform, and Ansible. I focus on automating using DevOps tools or scripting using shell and python.

Git: (Manages source code)

  • Stores source code, configuration files etc

  • Version controls

  • Provides auditing feature.

  • Provides Role based access control

Limitations:

  • Git is not designed for Large data(GB,TB)

  • Slows down when multiple people handles(push/pull) large files

  • Cost Ineffective when it comes to large files

DVC: (Manages datasets)

  • Stores Data sets that are required to train the models

  • Supports Large data sets.

  • Comes with version control capabilities

  • Cost effective

  • Durable

How to use DVC+Object store+GIT for managing data sets.

#Installation
pip install git
pip install dvc
pip install dvc-s3

#Initialization
git init
dvc init
dvc remote add -d NAME URI://NAME_OF_BUCKET 

#Adds the datasets to Objectstore
#Adds the metadata to GIT
dvc add sample.csv      # creats sample.csv.dvc 
git add sample.csv.dvc  # file with metadata and checksum           
git add .dvc            # .dvc/config specifies the location of Objectstore
git commit -m "storing dataset metadata and objectstore location in Git"

#push the changes
git push      # pushes metadata and objectstore information to GIT 
dvc push.     # pushes the data set to Objectstore

GIT metadata information is the source of truth for the latest datasets being used.