JP2021500649A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2021500649A5 JP2021500649A5 JP2020520560A JP2020520560A JP2021500649A5 JP 2021500649 A5 JP2021500649 A5 JP 2021500649A5 JP 2020520560 A JP2020520560 A JP 2020520560A JP 2020520560 A JP2020520560 A JP 2020520560A JP 2021500649 A5 JP2021500649 A5 JP 2021500649A5
- Authority
- JP
- Japan
- Prior art keywords
- shard
- database
- records
- record
- bloom
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003780 insertion Methods 0.000 claims 4
- 238000004590 computer program Methods 0.000 claims 2
Claims (27)
- シャード・データベースのシャード・テーブルにレコードを記憶するためのコンピュータ実装方法であって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、前記シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記コンピュータ実装方法が、
記憶される前記レコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得することと、
複数の前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することによって、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成することと、
前記複数のブルーム・フィルタのそれぞれの現在値と当該ブルーム・フィルタと共に用いるための前記シャーディング・キーの前記それぞれの表現との間のハミング距離を計算することと、
前記計算されたハミング距離に基づき、データベース・シャードを選択することと、
前記レコードを前記選択されたデータベース・シャードに記憶することと
を含む、コンピュータ実装方法。 - 前記それぞれのブルーム・フィルタのそれぞれが、同じビット数と同じハッシュ関数とを用いる、請求項1に記載のコンピュータ実装方法。
- 前記それぞれのブルーム・フィルタのそれぞれが、カウンティング・フィルタである、請求項1に記載のコンピュータ実装方法。
- データベース・シャードを選択することが、前記計算されたハミング距離が前記計算されたハミング距離の中の最小値であるそれぞれのブルーム・フィルタと関連するデータベース・シャードを選択することを含む、請求項1に記載のコンピュータ実装方法。
- 前記計算されたハミング距離が前記計算されたハミング距離の中の最小値であるそれぞれのブルーム・フィルタと関連するデータベース・シャードを選択することが、前記計算されたハミング距離が最小値であるそれぞれのブルーム・フィルタと関連するデータベース・シャードの中から前記データベース・シャードをランダムに選択することを含む、請求項4に記載のコンピュータ実装方法。
- 前記シャード・データベースが、それぞれのデータベース・シャードが新たなレコードを記憶するために利用可能であるかまたは利用不可能であるかに関する指示をさらに含み、前記シャーディング・キーのそれぞれの表現が生成される前記複数のブルーム・フィルタが、使用不可能であると示されているデータベース・シャードと関連するどのブルーム・フィルタも含まない、請求項1に記載のコンピュータ実装方法。
- 前記シャーディング・キーの表現がそのために生成される前記複数のブルーム・フィルタが、使用可能であると指示されている全部のデータベース・シャードと関連する前記それぞれのブルーム・フィルタを含む、請求項6に記載のコンピュータ実装方法。
- 前記シャード・データベースが、前記データベース・シャードのそれぞれの中に挿入されたレコードのそれぞれの個数をカウントするためのそれぞれの挿入カウンタをさらに含み、前記コンピュータ実装方法が、
前記選択されたデータベース・シャードのための前記挿入カウンタをインクリメントすることをさらに含む、請求項1に記載のコンピュータ実装方法。 - 前記選択されたデータベース・シャードの中に挿入されたレコードの前記個数が所定の閾値を超えるかどうかを判断することと、
前記選択されたデータベース・シャードの中に挿入されたレコードの前記個数が所定の閾値を超えるかどうかを判断することに応答して、前記選択されたデータベース・シャードに、新たなレコードを記憶するためには利用不可能であるとのマークを付することと
をさらに含む、請求項8に記載のコンピュータ実装方法。 - 新たなデータベース・シャードと、関連するブルーム・フィルタとを前記シャード・データベースに追加することをさらに含む、請求項1に記載のコンピュータ実装方法。
- シャード・データベースのシャード・テーブルからレコードを検索するためのコンピュータ実装方法であって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、前記シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記コンピュータ実装方法が、
検索される前記レコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得することと、
前記データベース・シャードのそれぞれと関連する前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することによって、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成することと、
前記それぞれのブルーム・フィルタのうちのどれが、前記シャーディング・キーのそれらのそれぞれの表現とマッチするかを識別することと、
前記レコードを見つけるために、前記識別されたブルーム・フィルタと関連する前記データベース・シャードをサーチすることと、
前記レコードを提供することと
を含む、コンピュータ実装方法。 - 前記それぞれのブルーム・フィルタのそれぞれが、同じビット数と同じハッシュ関数とを用いる、請求項11に記載のコンピュータ実装方法。
- シャード・データベースを記憶するためのシステムであって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記システムが、
それぞれが、前記複数のデータベース・シャードのうちの1つまたは複数を記憶するように構成されている、複数の計算システムと、
コントローラであって、
検索されるレコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得し、
前記データベース・シャードのそれぞれと関連する前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することにより、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成し、
前記それぞれのブルーム・フィルタのうちのどれが、前記シャーディング・キーのそれらのそれぞれの表現とマッチするかを識別し、
前記レコードを見つけるため、前記識別されたブルーム・フィルタと関連する前記データベース・シャードをサーチし、
前記レコードを提供することにより、
前記シャード・データベースの前記シャード・テーブルから前記レコードを検索するように構成されている、前記コントローラと
を備える、システム。 - 前記それぞれのブルーム・フィルタのそれぞれが、同じビット数と同じハッシュ関数とを用いる、請求項13に記載のシステム。
- 前記それぞれのブルーム・フィルタのそれぞれが、カウンティング・フィルタである、請求項13に記載のシステム。
- 前記コントローラが、さらに、
記憶されるレコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得し、
複数の前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することにより、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成し、
前記複数のブルーム・フィルタのそれぞれの現在値と当該ブルーム・フィルタと共に用いるための前記シャーディング・キーの前記それぞれの表現との間のハミング距離を計算し、
前記計算されたハミング距離に基づき、データベース・シャードを選択し、
前記レコードを前記選択されたデータベース・シャードに記憶することによって、
前記シャード・データベースの前記シャード・テーブルに前記レコードを記憶するように構成されている、請求項13に記載のシステム。 - データベース・シャードを選択することが、前記計算されたハミング距離が前記計算されたハミング距離の中の最小値であるそれぞれのブルーム・フィルタと関連するデータベース・シャードを選択することを含む、請求項16に記載のシステム。
- 前記シャード・データベースが、それぞれのデータベース・シャードが新たなレコードを記憶するために利用可能であるかまたは利用不可能であるかに関する指示をさらに含み、前記シャーディング・キーのそれぞれの表現が生成される前記複数のブルーム・フィルタが、前記レコードを記憶するとき、使用不可能であると示されているデータベース・シャードと関連するどのブルーム・フィルタも含まない、請求項16に記載のシステム。
- 前記シャード・データベースが、前記データベース・シャードのそれぞれに挿入されたレコードのそれぞれの個数をカウントするためのそれぞれの挿入カウンタをさらに含み、前記コントローラが、さらに、前記レコードが記憶されると前記選択されたデータベース・シャードのための前記挿入カウンタをインクリメントするように構成されている、請求項16に記載のシステム。
- 前記コントローラが、さらに、
前記選択されたデータベース・シャードに挿入されたレコードの前記個数が所定の閾値を超えるかどうかを判断し、
前記選択されたデータベース・シャードに挿入されたレコードの前記個数が前記所定の閾値を実際に超えるとの判断に応答して、前記選択されたデータベース・シャードに、新たなレコードを記憶するために利用不可能であるとのマークを付す
ように構成されている、請求項19に記載のシステム。 - 前記コントローラが、さらに、
前記シャード・データベースに、新たなデータベース・シャードと、関連するブルーム・フィルタとを追加するように構成されている、請求項16に記載のシステム。 - 前記シャード・データベースが、前記データベース・シャードのそれぞれから削除されたレコードのそれぞれの個数をカウントするそれぞれの削除カウンタをさらに含む、請求項16に記載のシステム。
- 前記コントローラが、さらに、
特定のデータベース・シャードから削除されたレコードの前記個数が当該データベース・シャードのためのそれぞれの所定の閾値を超えるかどうかを判断し、前記特定のデータベース・シャードから削除されたレコードの前記個数が当該データベース・シャードのための前記それぞれの所定の閾値を超えるとの判断に応答して、当該データベース・シャードに現に記憶されているレコードに基づき、当該データベース・シャードのための前記ブルーム・フィルタを再構築するように構成されている、請求項22に記載のシステム。 - コンピュータ・プログラムであって、請求項1ないし12のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
- 請求項24に記載のコンピュータ・プログラムを記録した、コンピュータ可読記録媒体。
- シャード・データベースのシャード・テーブルにレコードを記憶するためのシステムであって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、前記シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記システムが、
記憶される前記レコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得し、
複数の前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することによって、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成し、
前記複数のブルーム・フィルタのそれぞれの現在値と当該ブルーム・フィルタと共に用いるための前記シャーディング・キーの前記それぞれの表現との間のハミング距離を計算し、
前記計算されたハミング距離に基づき、データベース・シャードを選択し、および
前記レコードを前記選択されたデータベース・シャードに記憶するように、構成可能である、システム。 - シャード・データベースのシャード・テーブルからレコードを検索するためのシステムであって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、前記シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記システムが、
検索される前記レコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得し、
前記データベース・シャードのそれぞれと関連する前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することによって、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成し、
前記それぞれのブルーム・フィルタのうちのどれが、前記シャーディング・キーのそれらのそれぞれの表現とマッチするかを識別し、
前記レコードを見つけるために、前記識別されたブルーム・フィルタと関連する前記データベース・シャードをサーチし、
前記レコードを提供するように構成可能である、システム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/793,100 US10585915B2 (en) | 2017-10-25 | 2017-10-25 | Database sharding |
US15/793,100 | 2017-10-25 | ||
US15/813,577 | 2017-11-15 | ||
US15/813,577 US10592532B2 (en) | 2017-10-25 | 2017-11-15 | Database sharding |
PCT/EP2018/078495 WO2019081322A1 (en) | 2017-10-25 | 2018-10-18 | BASIC PARTITIONING OF DATA |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021500649A JP2021500649A (ja) | 2021-01-07 |
JP2021500649A5 true JP2021500649A5 (ja) | 2021-04-22 |
JP7046172B2 JP7046172B2 (ja) | 2022-04-01 |
Family
ID=66169387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020520560A Active JP7046172B2 (ja) | 2017-10-25 | 2018-10-18 | シャード・データベースのシャード・テーブルにレコードを記憶するためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム、シャード・データベースのシャード・テーブルからレコードを検索するためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム、ならびにシャード・データベースを記憶するためのシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US10585915B2 (ja) |
JP (1) | JP7046172B2 (ja) |
CN (1) | CN111247518B (ja) |
DE (1) | DE112018004222T5 (ja) |
GB (1) | GB2581738A (ja) |
WO (1) | WO2019081322A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10073888B1 (en) * | 2017-02-27 | 2018-09-11 | Timescacle, Inc. | Adjusting partitioning policies of a database system in view of storage reconfiguration |
US11126625B2 (en) | 2019-05-31 | 2021-09-21 | Salesforce.Com, Inc. | Caching techniques for a database change stream |
US10936562B2 (en) | 2019-08-02 | 2021-03-02 | Timescale, Inc. | Type-specific compression in database systems |
US11194773B2 (en) * | 2019-09-12 | 2021-12-07 | Oracle International Corporation | Integration of existing databases into a sharding environment |
CN110968265B (zh) * | 2019-11-05 | 2023-08-08 | 北京字节跳动网络技术有限公司 | 分片扩容方法、装置及电子设备 |
WO2021124287A1 (en) * | 2019-12-20 | 2021-06-24 | Niantic, Inc. | Sharded storage of geolocated data with predictable query response times |
US11531666B1 (en) | 2020-08-20 | 2022-12-20 | Amazon Technologies, Inc. | Indexing partitions using distributed bloom filters |
CN112162981A (zh) * | 2020-09-08 | 2021-01-01 | 杭州涂鸦信息技术有限公司 | 一种自适应的路由分库分表方法及系统 |
CN112417276A (zh) * | 2020-11-18 | 2021-02-26 | 北京字节跳动网络技术有限公司 | 分页数据获取方法、装置、电子设备及计算机可读存储介质 |
CN114722360A (zh) * | 2021-01-04 | 2022-07-08 | 中国移动通信有限公司研究院 | 水印插入方法、提取方法及装置 |
US11568065B2 (en) * | 2021-01-15 | 2023-01-31 | Bank Of America Corporation | System for securing electronic data by aggregation of distributed electronic database entries |
US11829394B2 (en) * | 2021-03-11 | 2023-11-28 | International Business Machines Corporation | Soft deletion of data in sharded databases |
US11995084B1 (en) | 2023-10-05 | 2024-05-28 | Timescale, Inc. | Database system for querying time-series data stored in a tiered storage using a cloud platform |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4722620B2 (ja) * | 2005-08-19 | 2011-07-13 | Kddi株式会社 | 暗号化文書検索方法および暗号化文書検索システム |
US9275129B2 (en) | 2006-01-23 | 2016-03-01 | Symantec Corporation | Methods and systems to efficiently find similar and near-duplicate emails and files |
US8209178B1 (en) | 2008-01-10 | 2012-06-26 | Google Inc. | Randomized language models |
JP5353231B2 (ja) * | 2008-12-25 | 2013-11-27 | 日本電気株式会社 | 情報転送装置、情報転送方法およびプログラム |
US20100312749A1 (en) | 2009-06-04 | 2010-12-09 | Microsoft Corporation | Scalable lookup service for distributed database |
WO2010148415A1 (en) | 2009-06-19 | 2010-12-23 | Blekko, Inc. | Scalable cluster database |
US8996568B2 (en) * | 2009-07-14 | 2015-03-31 | Qualcomm Incorporated | Methods and apparatus for efficiently processing multiple keyword queries on a distributed network |
CN101916261B (zh) | 2010-07-28 | 2013-07-17 | 北京播思软件技术有限公司 | 一种分布式并行数据库系统的数据分区方法 |
US8996463B2 (en) | 2012-07-26 | 2015-03-31 | Mongodb, Inc. | Aggregation framework system architecture and method |
US8924426B2 (en) | 2011-04-29 | 2014-12-30 | Google Inc. | Joining tables in a mapreduce procedure |
WO2013082507A1 (en) | 2011-11-30 | 2013-06-06 | Decarta | Systems and methods for performing geo-search and retrieval of electronic point-of-interest records using a big index |
EP2629212A1 (en) * | 2012-02-14 | 2013-08-21 | Alcatel Lucent | Method for storing and searching tagged content items in a distributed system |
US8856234B2 (en) | 2013-02-28 | 2014-10-07 | Workiva Llc | System and method for performing distributed asynchronous calculations in a networked environment |
US9507824B2 (en) * | 2014-08-22 | 2016-11-29 | Attivio Inc. | Automated creation of join graphs for unrelated data sets among relational databases |
US9875263B2 (en) | 2014-10-21 | 2018-01-23 | Microsoft Technology Licensing, Llc | Composite partition functions |
US9727275B2 (en) | 2014-12-02 | 2017-08-08 | International Business Machines Corporation | Coordinating storage of data in dispersed storage networks |
US20160328429A1 (en) | 2015-03-17 | 2016-11-10 | Cloudera, Inc. | Mutations in a column store |
US9886441B2 (en) | 2015-04-06 | 2018-02-06 | Sap Se | Shard aware near real time indexing |
US11210279B2 (en) | 2016-04-15 | 2021-12-28 | Apple Inc. | Distributed offline indexing |
US10430598B2 (en) * | 2017-06-08 | 2019-10-01 | The Government Of The United States, As Represented By The Secretary Of The Army | Secure generalized bloom filter |
-
2017
- 2017-10-25 US US15/793,100 patent/US10585915B2/en active Active
- 2017-11-15 US US15/813,577 patent/US10592532B2/en active Active
-
2018
- 2018-10-18 GB GB2007157.7A patent/GB2581738A/en not_active Withdrawn
- 2018-10-18 JP JP2020520560A patent/JP7046172B2/ja active Active
- 2018-10-18 DE DE112018004222.7T patent/DE112018004222T5/de active Pending
- 2018-10-18 CN CN201880068665.2A patent/CN111247518B/zh active Active
- 2018-10-18 WO PCT/EP2018/078495 patent/WO2019081322A1/en active Application Filing
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021500649A5 (ja) | ||
GB2581738A (en) | Database sharding | |
TWI682274B (zh) | 鍵值儲存樹 | |
US11238098B2 (en) | Heterogenous key-value sets in tree database | |
CN108632097B (zh) | 异常行为对象的识别方法、终端设备及介质 | |
US8271462B2 (en) | Method for creating a index of the data blocks | |
EP2711856B1 (en) | Method and device for metadata query | |
CN103902623B (zh) | 用于在存储系统上存取文件的方法和系统 | |
US20180225316A1 (en) | Stream selection for multi-stream storage devices | |
US8719237B2 (en) | Method and apparatus for deleting duplicate data | |
EP3425493A1 (en) | Data processing method and apparatus | |
TW201842454A (zh) | 合併樹廢棄項目指標 | |
JP2005122702A5 (ja) | ||
CN111552692B (zh) | 一种加减法布谷鸟过滤器 | |
US10452676B2 (en) | Managing database with counting bloom filters | |
WO2009131585A1 (en) | Data processing apparatus and method of processing data | |
JP2014529126A5 (ja) | ||
CN111475105B (zh) | 监控数据存储方法、设备、服务器及存储介质 | |
CN109062936B (zh) | 一种数据查询方法、计算机可读存储介质及终端设备 | |
EP3859536B1 (en) | Method and device for buffering data blocks, computer device, and computer-readable storage medium | |
US20140229496A1 (en) | Information processing device, information processing method, and computer program product | |
JPWO2019168599A5 (ja) | ||
JP2021051732A5 (ja) | ||
WO2017101643A1 (zh) | 图像存储方法和设备 | |
CN114925041A (zh) | 一种数据查询方法及装置 |