Storage (dist.ribut.us)

From Adam Colton
Jump to navigation Jump to search

One of the first services that needs to be built is a storage service.

Storage cost is per unit of storage and time. So something like $0.10/GB/month. But I'd like to take compound interest into account, so paying for a longer period up front is (sort of) cheaper. And this means that there is some price at which you can store data indefinitely.

I think the best network structure is based on 3 tiers. One tier primarily serves the resources. The second tier manages reliability and the third tier is a sort of cold storage.

The first tier needs fast reliable connections. But we'll only rely on having a single copy of any particular resource in the ring at any time.

The second tier watches the distribution of resources and makes sure that we're in a good state at all times.

The third tier is the bulk of the storage. Users can commit storage and they only need to make it available periodically. Between this ring and the first tier ring, we should try and keep all resources with 3 active copies at any time, and probably another 3 offline.

Geography

Should things be distributed by default or registered to a region?