-
公开(公告)号:US20200081874A1
公开(公告)日:2020-03-12
申请号:US16681724
申请日:2019-11-12
Applicant: Facebook, Inc.
Inventor: Muthukaruppan Annamalai , Sumeet Ungratwar , Daniel Arraes Pereira , Benjamin Francois Marie Renard , Sameet Harishanker Agarwal
Abstract: Data sharding partitions data associated with an application into multiple shards in which each shard stores a subset of the data. A shard is further divided into multiple microshards in which each microshard contains a subset of the shard data. A set of microshards are assigned to a specified shard. The assignment of microshards can change, e.g., when new shards are added and microshards are migrated from one shard to another shard. A microshard map, which indicates a mapping between the microshards and shards, is updated automatically when the assignments change. After identifying the shard to which a specified microshard is assigned using the microshard map, a data access request from a client device is automatically forwarded to the appropriate shard. Because data can be accessed efficiently regardless of whether the number of shards changes, the data sharding facilitates provisioning of the shards on a need basis.
-
公开(公告)号:US20180349419A1
公开(公告)日:2018-12-06
申请号:US15611931
申请日:2017-06-02
Applicant: Facebook, Inc.
Inventor: Muthukaruppan Annamalai , Sumeet Ungratwar , Daniel Arraes Pereira , Benjamin Francois Marie Renard , Sameet Agarwal
IPC: G06F17/30
Abstract: Data sharding partitions data associated with an application into multiple shards in which each shard stores a subset of the data. A shard is further divided into multiple microshards in which each microshard contains a subset of the shard data. A set of microshards are assigned to a specified shard. The assignment of microshards can change, e.g., when new shards are added and microshards are migrated from one shard to another shard. A microshard map, which indicates a mapping between the microshards and shards, is updated automatically when the assignments change. After identifying the shard to which a specified microshard is assigned using the microshard map, a data access request from a client device is automatically forwarded to the appropriate shard. Because data can be accessed efficiently regardless of whether the number of shards changes, the data sharding facilitates provisioning of the shards on a need basis.
-
公开(公告)号:US10178168B2
公开(公告)日:2019-01-08
申请号:US14830443
申请日:2015-08-19
Applicant: Facebook, Inc.
Inventor: Muthukaruppan Annamalai , Zelaine Fong , Marc Alexander Celani , Vishal Kathuria , Sanketh Indarapu , Rohit Subhash Bhoj , Benjamin Francois Marie Renard , Sumeet Ungratwar
IPC: G06F15/167 , H04L29/08 , H04L29/06 , H04L29/14 , G06F17/30
Abstract: The disclosure is directed to data replication in a distributed computing system. The system ensures a read-after-write consistency for the replicated data by associating the write requests with unique version numbers, and using them to obtain the data. A server associates a write request with a unique version number, and returns the version number to a client, which can use it in a subsequent read request for the data. On receiving a read request for a first data, the server extracts the version number from the request and ensures a specified write request associated with the version number is processed prior to obtaining the data. If the specified write request is processed, the server obtains the data and returns it to the client, else the server processes the pending write requests up until the version number and then the specified write request, and returns the specified data to the client.
-
公开(公告)号:US20170054802A1
公开(公告)日:2017-02-23
申请号:US14830443
申请日:2015-08-19
Applicant: Facebook, Inc.
Inventor: Muthukaruppan Annamalai , Zelaine Fong , Marc Alexander Celani , Vishal Kathuria , Sanketh Indarapu , Rohit Subhash Bhoj , Benjamin Francois Marie Renard , Sumeet Ungratwar
CPC classification number: H04L67/1095 , G06F17/30575 , H04L67/1097 , H04L67/42 , H04L69/40
Abstract: The disclosure is directed to data replication in a distributed computing system. The system ensures a read-after-write consistency for the replicated data by associating the write requests with unique version numbers, and using them to obtain the data. A server associates a write request with a unique version number, and returns the version number to a client, which can use it in a subsequent read request for the data. On receiving a read request for a first data, the server extracts the version number from the request and ensures a specified write request associated with the version number is processed prior to obtaining the data. If the specified write request is processed, the server obtains the data and returns it to the client, else the server processes the pending write requests up until the version number and then the specified write request, and returns the specified data to the client.
Abstract translation: 本公开涉及分布式计算系统中的数据复制。 该系统通过将写请求与唯一版本号相关联并使用它们来获取数据来确保复制数据的写后读取一致性。 服务器将写请求与唯一版本号相关联,并将版本号返回给客户端,客户端可以在随后的数据读取请求中使用它。 在接收到对第一数据的读取请求时,服务器从请求中提取版本号,并确保在获得数据之前处理与版本号相关联的指定的写入请求。 如果处理了指定的写请求,服务器将获取数据并将其返回给客户端,否则服务器将处理挂起的写请求,直到版本号,然后再指定写请求,并将指定的数据返回给客户端。
-
公开(公告)号:US10027748B2
公开(公告)日:2018-07-17
申请号:US14796810
申请日:2015-07-10
Applicant: Facebook, Inc.
Inventor: Muthukaruppan Annamalai , Zelaine Fong , Marc Alexander Celani , Vishal Kathuria , Sanketh Indarapu , Rohit Subhash Bhoj , Benjamin Francois Marie Renard , Sumeet Ungratwar
Abstract: The disclosure is directed to data replication in a distributed computing system. The data, e.g., received from a client, is replicated to a first set of servers (“sync replica set”) synchronously and to a second set of servers asynchronously (“async tree”). A server can be a primary, secondary or a follower server. A sync replica set includes a primary server and one or more secondary servers. The async tree includes multiple follower servers deployed in a tree structure. A primary server can replicate the data to the secondary servers synchronously, and the secondary servers can replicate the data to one or more follower servers, e.g., a root node of the async tree, asynchronously. The root node then replicates the data to children of the root node, which then replicate to their children and so on until the leaf nodes of the async tree receive the data.
-
公开(公告)号:US20170013058A1
公开(公告)日:2017-01-12
申请号:US14796810
申请日:2015-07-10
Applicant: Facebook, Inc.
Inventor: Muthukaruppan Annamalai , Zelaine Fong , Marc Alexander Celani , Vishal Kathuria , Sanketh Indarapu , Rohit Subhash Bhoj , Benjamin Francois Marie Renard , Sumeet Ungratwar
CPC classification number: H04L67/1095 , G06F17/30575 , H04L5/0055
Abstract: The disclosure is directed to data replication in a distributed computing system. The data, e.g., received from a client, is replicated to a first set of servers (“sync replica set”) synchronously and to a second set of servers asynchronously (“async tree”). A server can be a primary, secondary or a follower server. A sync replica set includes a primary server and one or more secondary servers. The async tree includes multiple follower servers deployed in a tree structure. A primary server can replicate the data to the secondary servers synchronously, and the secondary servers can replicate the data to one or more follower servers, e.g., a root node of the async tree, asynchronously. The root node then replicates the data to children of the root node, which then replicate to their children and so on until the leaf nodes of the async tree receive the data.
Abstract translation: 本公开涉及分布式计算系统中的数据复制。 例如,从客户端接收到的数据被同步地复制到第一组服务器(“同步复制集”),并被异步地复制到第二组服务器(“异步树”)。 服务器可以是主服务器,辅助服务器或跟随服务器。 同步副本集包括主服务器和一个或多个辅助服务器。 异步树包括以树结构部署的多个跟随服务器。 主服务器可以将数据同步复制到辅助服务器,辅助服务器可以异步地将数据复制到一个或多个跟随服务器,例如异步树的根节点。 根节点然后将数据复制到根节点的子节点,然后根节点将其复制到子节点,直到异步树的叶节点接收数据。
-
-
-
-
-