
Data Gravity and System Design
Applications are ephemeral. Data is permanent and exerts an inescapable gravitational pull.
The Physics of Information
In physics, gravity is the force by which a planet or other body draws objects toward its center. The more massive the object, the stronger its gravitational pull.
In software architecture, data behaves exactly like mass.
As an application scales and accumulates data, that data begins to exert a gravitational pull on the surrounding architecture. Applications, services, processing power, and even organizational structures are inexorably drawn toward the data. Understanding and designing for data gravity is the most critical component of building systems that survive hyper-growth.
"You can refactor code in an afternoon. You can change your infrastructure in a week. But migrating petabytes of live data while maintaining zero downtime takes years. Data is the anchor."
The Latency Tax
The most immediate consequence of data gravity is the latency tax.
When data is small, the network distance between your application logic and your database is negligible. You can query the database, pull the entire dataset into application memory, perform a transformation, and return the result.
As data mass increases, this approach becomes technically impossible. The cost of moving terabytes of data across the network exceeds the compute cost of processing it. You can no longer bring the data to the application; you must bring the application to the data.
This shift fundamentally alters system design. It requires pushing logic down into the database via stored procedures, utilizing edge computing to process data locally, or implementing heavy caching layers to construct a localized gravitational field.
The Vendor Lock-In Reality
Data gravity is the ultimate engine of vendor lock-in.
Cloud providers understand this implicitly. This is why ingress (putting data into the cloud) is practically free, while egress (taking data out) is prohibitively expensive. Once a cloud provider has captured your data mass, they have captured your architecture.
If your core PostgreSQL database holds 50 terabytes of transactional data on AWS, you cannot easily utilize a cutting-edge machine learning service on Google Cloud. The gravitational pull of the data dictates that the ML service must be built near the database.
Strategic architects must be acutely aware of where they are building mass.
Architecting for Gravity
To build resilient systems in the face of data gravity, you must design with boundaries.
- Decentralize Mass: Do not build a single monolithic database that holds the entire company's state. Distribute data by bounded context. The billing system's data should be entirely isolated from the user behavioral tracking data.
- Event-Driven Architectures: Instead of relying on massive batch processes that pull data from the center, utilize event streams to push state changes to the periphery.
- Data Independence: Abstraction layers should exist not just in the codebase, but at the data level.
Applications are stateless, ephemeral, and easily replaced. Data is permanent, massive, and exerts absolute control. If you design the system around the code, it will collapse under its own weight. If you design the system around the data gravity, it will scale infinitely.

Kai Cyrus
Founder, Builder, Investor