发明名称 Facilitating data redistribution in database sharding
摘要 Disclosed are various embodiments for facilitating data redistribution in database sharding. A database is maintained that is horizontally partitioned into a set of first buckets using modulo-based assignments. A fixed number of the first buckets are stored in each of multiple physical data stores. The database is repartitioned into a set of second buckets using modulo-based assignments. The number of second buckets in the set is a multiple of the sum of a positive integer and the quantity of the physical data stores. The data in the database is unmoved between the physical data stores by repartitioning.
申请公布号 US9355134(B1) 申请公布日期 2016.05.31
申请号 US201313867450 申请日期 2013.04.22
申请人 Amazon Technologies, Inc. 发明人 Wang Weinan;Magerramov Joseph;Kharchenko Maxym;Zhu Min;Kujat Aaron Drew Alexander;Gherardi Alessandro;Jenks Jason Curtis
分类号 G06F7/00;G06F17/30 主分类号 G06F7/00
代理机构 Thomas | Horstemeyer, LLP 代理人 Thomas | Horstemeyer, LLP
主权项 1. A non-transitory computer-readable medium embodying a program executable in a computing device, wherein when executed the program causes the computing device to at least: maintain a database that is stored in a plurality of physical data stores through horizontal partitioning, the database including a plurality of data items; assign individual ones of the plurality of data items to individual ones of a plurality of first buckets by generating a respective hash code from a standardized portion of the individual one of the plurality of data items and determining the respective hash code modulo the number of the plurality of first buckets, wherein a first fixed number of the plurality of first buckets are stored in corresponding ones of the plurality of physical data stores according to a mapping; reassign the individual ones of the plurality of data items to individual ones of a plurality of second buckets by determining the respective hash code modulo the number of the plurality of second buckets, the number of the plurality of second buckets being a multiple of the number of first buckets in the plurality of first buckets, a multiple of a current number of physical data stores, and a multiple of an increased number of physical data stores; and update the mapping to map a second fixed number of the plurality of second buckets to corresponding ones of the plurality of physical data stores, wherein the plurality of data items are unmoved between the plurality of physical data stores by updating the mapping.
地址 Seattle WA US