...
- Smaller ids (64-bit?)
- Not if we want these to look like capabilities
- Simple to make fast
- Not meaningful to client (both a plus and minus)
- Indexing must be done by clients and stored in the cloud
- Akin to FriendFeed's setup
Distribution
- How much metadata space is needed for all tables/applications?
- Up to 2^48 objects, 128 bit (16 byte) key, size (4-8 bytes), permissions or appid if not in address (2-4 bytes)
- (2^43)*16 = 128 TB
- How does metadata replication occur and what is the frequency?
Effects
- + Capacity
- Strictly necessary for this reason alone
- + Throughput/Latency
- + Avoid hot spots
- Multiple hosts can service requests in parallel
- Do either of these matter if nodes can handle 1M requests/sec?
- - Throughput/Latency
- Cost to map address -> shard, shard -> host on client
- Cost to map address -> metadata (physical location, size, and permissions)
- - Consistency
- - Reliability
- How do durability and reliability tie in to the discussion?
Questions
- How much metadata space is needed for all tables/applications?
- Up to 2^48 objects, 128 bit (16 byte) key, size (4-8 bytes), permissions or appid if not in address (2-4 bytes)
- (2^43)*16 = 128 TB
- How does metadata replication occur and what is the frequency?
- Lazily
Approaches
Mapping/Address Space Paritioning
...