# Git's database internals I: packed object store

DevFeed: [Git's database internals I: packed object store](<https://devfeed.tech/articles/git-s-database-internals-i-packed-object-store-68244.md>)

Original publisher: [Read original article](<https://github.blog/open-source/git/gits-database-internals-i-packed-object-store/>)

Author: Derrick Stolee

Published: 2022-08-29T13:00:06Z

Content type: article

Language: en

Sources: [GitHub Blog](<https://devfeed.tech/sources/github-engineering.md>)

Topics: [Git](<https://devfeed.tech/topics/git.md>), [Database](<https://devfeed.tech/topics/database.md>), [gitsign](<https://devfeed.tech/topics/gitsign.md>)

Tags: [branch](<https://devfeed.tech/tags/branch.md>), [building-software](<https://devfeed.tech/tags/building-software.md>), [compression](<https://devfeed.tech/tags/compression.md>), [database](<https://devfeed.tech/tags/database.md>), [git](<https://devfeed.tech/tags/git.md>), [open-source](<https://devfeed.tech/tags/open-source.md>)

## AI overview

This first installment in a five-part series explains Git's packed object store: how packfiles compress repository data, how pack-indexes and multi-pack-indexes support lookups, and how Git balances storage efficiency with read and maintenance costs. It also compares Git's storage design with application databases.

## Source excerpt

This blog series will examine Git's internals to help make your engineering system more efficient. Part I discusses how Git stores its data in packfiles using custom compression techniques.