3 SSO Architecture
Figure 1 illustrates the SSO data architecture. The
SSO service maps usernames to user account data
and services to service-specific data.1 These mappings
are stored in the SSO database, which is partitioned
into hundreds of pieces (called shards) for
load balancing and data localization. Each shard
is a replicated Berkeley DB database composed of
between 5 and 15 replicas, depending on the shard’s
purpose. The SSO data in each replica is stored in
a single Berkeley DB Btree database 2