JP2021500649A5 - - Google Patents

Download PDF

Info

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
Application number
JP2020520560A
Other languages
English (en)
Other versions
JP7046172B2 (ja
JP2021500649A (ja
Filing date
Publication date
Priority claimed from US15/793,100 external-priority patent/US10585915B2/en
Application filed filed Critical
Publication of JP2021500649A publication Critical patent/JP2021500649A/ja
Publication of JP2021500649A5 publication Critical patent/JP2021500649A5/ja
Application granted granted Critical
Publication of JP7046172B2 publication Critical patent/JP7046172B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (27)

  1. シャード・データベースのシャード・テーブルにレコードを記憶するためのコンピュータ実装方法であって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、前記シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記コンピュータ実装方法が、
    記憶される前記レコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得することと、
    複数の前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することによって、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成することと、
    前記複数のブルーム・フィルタのそれぞれの現在値と当該ブルーム・フィルタと共に用いるための前記シャーディング・キーの前記それぞれの表現との間のハミング距離を計算することと、
    前記計算されたハミング距離に基づき、データベース・シャードを選択することと、
    前記レコードを前記選択されたデータベース・シャードに記憶することと
    を含む、コンピュータ実装方法。
  2. 前記それぞれのブルーム・フィルタのそれぞれが、同じビット数と同じハッシュ関数とを用いる、請求項1に記載のコンピュータ実装方法。
  3. 前記それぞれのブルーム・フィルタのそれぞれが、カウンティング・フィルタである、請求項1に記載のコンピュータ実装方法。
  4. データベース・シャードを選択することが、前記計算されたハミング距離が前記計算されたハミング距離の中の最小値であるそれぞれのブルーム・フィルタと関連するデータベース・シャードを選択することを含む、請求項1に記載のコンピュータ実装方法。
  5. 前記計算されたハミング距離が前記計算されたハミング距離の中の最小値であるそれぞれのブルーム・フィルタと関連するデータベース・シャードを選択することが、前記計算されたハミング距離が最小値であるそれぞれのブルーム・フィルタと関連するデータベース・シャードの中から前記データベース・シャードをランダムに選択することを含む、請求項4に記載のコンピュータ実装方法。
  6. 前記シャード・データベースが、それぞれのデータベース・シャードが新たなレコードを記憶するために利用可能であるかまたは利用不可能であるかに関する指示をさらに含み、前記シャーディング・キーのそれぞれの表現が生成される前記複数のブルーム・フィルタが、使用不可能であると示されているデータベース・シャードと関連するどのブルーム・フィルタも含まない、請求項1に記載のコンピュータ実装方法。
  7. 前記シャーディング・キーの表現がそのために生成される前記複数のブルーム・フィルタが、使用可能であると指示されている全部のデータベース・シャードと関連する前記それぞれのブルーム・フィルタを含む、請求項6に記載のコンピュータ実装方法。
  8. 前記シャード・データベースが、前記データベース・シャードのそれぞれの中に挿入されたレコードのそれぞれの個数をカウントするためのそれぞれの挿入カウンタをさらに含み、前記コンピュータ実装方法が、
    前記選択されたデータベース・シャードのための前記挿入カウンタをインクリメントすることをさらに含む、請求項1に記載のコンピュータ実装方法。
  9. 前記選択されたデータベース・シャードの中に挿入されたレコードの前記個数が所定の閾値を超えるかどうかを判断することと、
    前記選択されたデータベース・シャードの中に挿入されたレコードの前記個数が所定の閾値を超えるかどうかを判断することに応答して、前記選択されたデータベース・シャードに、新たなレコードを記憶するためには利用不可能であるとのマークを付することと
    をさらに含む、請求項8に記載のコンピュータ実装方法。
  10. 新たなデータベース・シャードと、関連するブルーム・フィルタとを前記シャード・データベースに追加することをさらに含む、請求項1に記載のコンピュータ実装方法。
  11. シャード・データベースのシャード・テーブルからレコードを検索するためのコンピュータ実装方法であって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、前記シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記コンピュータ実装方法が、
    検索される前記レコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得することと、
    前記データベース・シャードのそれぞれと関連する前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することによって、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成することと、
    前記それぞれのブルーム・フィルタのうちのどれが、前記シャーディング・キーのそれらのそれぞれの表現とマッチするかを識別することと、
    前記レコードを見つけるために、前記識別されたブルーム・フィルタと関連する前記データベース・シャードをサーチすることと、
    前記レコードを提供することと
    を含む、コンピュータ実装方法。
  12. 前記それぞれのブルーム・フィルタのそれぞれが、同じビット数と同じハッシュ関数とを用いる、請求項11に記載のコンピュータ実装方法。
  13. シャード・データベースを記憶するためのシステムであって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記システムが、
    それぞれが、前記複数のデータベース・シャードのうちの1つまたは複数を記憶するように構成されている、複数の計算システムと、
    コントローラであって、
    検索されるレコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得し、
    前記データベース・シャードのそれぞれと関連する前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することにより、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成し、
    前記それぞれのブルーム・フィルタのうちのどれが、前記シャーディング・キーのそれらのそれぞれの表現とマッチするかを識別し、
    前記レコードを見つけるため、前記識別されたブルーム・フィルタと関連する前記データベース・シャードをサーチし、
    前記レコードを提供することにより、
    前記シャード・データベースの前記シャード・テーブルから前記レコードを検索するように構成されている、前記コントローラと
    を備える、システム。
  14. 前記それぞれのブルーム・フィルタのそれぞれが、同じビット数と同じハッシュ関数とを用いる、請求項13に記載のシステム。
  15. 前記それぞれのブルーム・フィルタのそれぞれが、カウンティング・フィルタである、請求項13に記載のシステム。
  16. 前記コントローラが、さらに、
    記憶されるレコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得し、
    複数の前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することにより、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成し、
    前記複数のブルーム・フィルタのそれぞれの現在値と当該ブルーム・フィルタと共に用いるための前記シャーディング・キーの前記それぞれの表現との間のハミング距離を計算し、
    前記計算されたハミング距離に基づき、データベース・シャードを選択し、
    前記レコードを前記選択されたデータベース・シャードに記憶することによって、
    前記シャード・データベースの前記シャード・テーブルに前記レコードを記憶するように構成されている、請求項13に記載のシステム。
  17. データベース・シャードを選択することが、前記計算されたハミング距離が前記計算されたハミング距離の中の最小値であるそれぞれのブルーム・フィルタと関連するデータベース・シャードを選択することを含む、請求項16に記載のシステム。
  18. 前記シャード・データベースが、それぞれのデータベース・シャードが新たなレコードを記憶するために利用可能であるかまたは利用不可能であるかに関する指示をさらに含み、前記シャーディング・キーのそれぞれの表現が生成される前記複数のブルーム・フィルタが、前記レコードを記憶するとき、使用不可能であると示されているデータベース・シャードと関連するどのブルーム・フィルタも含まない、請求項16に記載のシステム。
  19. 前記シャード・データベースが、前記データベース・シャードのそれぞれに挿入されたレコードのそれぞれの個数をカウントするためのそれぞれの挿入カウンタをさらに含み、前記コントローラが、さらに、前記レコードが記憶されると前記選択されたデータベース・シャードのための前記挿入カウンタをインクリメントするように構成されている、請求項16に記載のシステム。
  20. 前記コントローラが、さらに、
    前記選択されたデータベース・シャードに挿入されたレコードの前記個数が所定の閾値を超えるかどうかを判断し、
    前記選択されたデータベース・シャードに挿入されたレコードの前記個数が前記所定の閾値を実際に超えるとの判断に応答して、前記選択されたデータベース・シャードに、新たなレコードを記憶するために利用不可能であるとのマークを付す
    ように構成されている、請求項19に記載のシステム。
  21. 前記コントローラが、さらに、
    前記シャード・データベースに、新たなデータベース・シャードと、関連するブルーム・フィルタとを追加するように構成されている、請求項16に記載のシステム。
  22. 前記シャード・データベースが、前記データベース・シャードのそれぞれから削除されたレコードのそれぞれの個数をカウントするそれぞれの削除カウンタをさらに含む、請求項16に記載のシステム。
  23. 前記コントローラが、さらに、
    特定のデータベース・シャードから削除されたレコードの前記個数が当該データベース・シャードのためのそれぞれの所定の閾値を超えるかどうかを判断し、前記特定のデータベース・シャードから削除されたレコードの前記個数が当該データベース・シャードのための前記それぞれの所定の閾値を超えるとの判断に応答して、当該データベース・シャードに現に記憶されているレコードに基づき、当該データベース・シャードのための前記ブルーム・フィルタを再構築するように構成されている、請求項22に記載のシステム。
  24. コンピュータ・プログラムであって、請求項1ないし12のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
  25. 請求項24に記載のコンピュータ・プログラムを記録した、コンピュータ可読記録媒体。
  26. シャード・データベースのシャード・テーブルにレコードを記憶するためのシステムであって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、前記シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記システムが、
    記憶される前記レコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得し、
    複数の前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することによって、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成し、
    前記複数のブルーム・フィルタのそれぞれの現在値と当該ブルーム・フィルタと共に用いるための前記シャーディング・キーの前記それぞれの表現との間のハミング距離を計算し、
    前記計算されたハミング距離に基づき、データベース・シャードを選択し、および
    前記レコードを前記選択されたデータベース・シャードに記憶するように、構成可能である、システム。
  27. シャード・データベースのシャード・テーブルからレコードを検索するためのシステムであって、前記シャード・データベースは、複数のデータベース・シャードを含み、前記データベース・シャードのそれぞれは、前記シャード・テーブルのレコードの部分集合を記憶するように構成され、特定のシャーディング・キーと関連するレコードが当該データベース・シャードに記憶されていることがあり得るかどうかに関する指示を提供するように構成されたそれぞれのブルーム・フィルタと関連し、前記システムが、
    検索される前記レコードのためのシャーディング・キーであって、前記レコードの1つまたは複数のフィールドに基づくシャーディング・キーを、取得し、
    前記データベース・シャードのそれぞれと関連する前記それぞれのブルーム・フィルタのそれぞれのために、当該ブルーム・フィルタによって用いられる1つまたは複数のハッシュ関数を前記シャーディング・キーに適用することによって、当該ブルーム・フィルタと共に用いるための前記シャーディング・キーのそれぞれの表現を生成し、
    前記それぞれのブルーム・フィルタのうちのどれが、前記シャーディング・キーのそれらのそれぞれの表現とマッチするかを識別し、
    前記レコードを見つけるために、前記識別されたブルーム・フィルタと関連する前記データベース・シャードをサーチし、
    前記レコードを提供するように構成可能である、システム。
JP2020520560A 2017-10-25 2018-10-18 シャード・データベースのシャード・テーブルにレコードを記憶するためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム、シャード・データベースのシャード・テーブルからレコードを検索するためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム、ならびにシャード・データベースを記憶するためのシステム Active JP7046172B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/793,100 2017-10-25
US15/793,100 US10585915B2 (en) 2017-10-25 2017-10-25 Database sharding
US15/813,577 US10592532B2 (en) 2017-10-25 2017-11-15 Database sharding
US15/813,577 2017-11-15
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 (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3128753C (en) * 2017-02-27 2023-04-18 Timescale, Inc. Scalable database system for querying time-series data
US11126625B2 (en) 2019-05-31 2021-09-21 Salesforce.Com, Inc. Caching techniques for a database change stream
US20210034586A1 (en) 2019-08-02 2021-02-04 Timescale, Inc. Compressing data in database systems using hybrid row/column storage representations
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 北京字节跳动网络技术有限公司 分片扩容方法、装置及电子设备
TWI813413B (zh) * 2019-12-20 2023-08-21 美商尼安蒂克公司 具有可預測之查詢回應時間之地理定位資料的分區式儲存
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 北京字节跳动网络技术有限公司 分页数据获取方法、装置、电子设备及计算机可读存储介质
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)

* Cited by examiner, † Cited by third party
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
CN102667761B (zh) 2009-06-19 2015-05-27 布雷克公司 可扩展的集群数据库
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
US9165074B2 (en) 2011-05-10 2015-10-20 Uber Technologies, Inc. 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

Similar Documents

Publication Publication Date Title
JP2021500649A5 (ja)
GB2581738A (en) Database sharding
TWI682274B (zh) 鍵值儲存樹
US20200410005A1 (en) Heterogenous key-value sets in tree database
CN108632097B (zh) 异常行为对象的识别方法、终端设备及介质
US8959089B2 (en) Data processing apparatus and method of processing data
US8271462B2 (en) Method for creating a index of the data blocks
EP2711856B1 (en) Method and device for metadata query
CN103902623B (zh) 用于在存储***上存取文件的方法和***
US8760956B1 (en) Data processing method and apparatus
US8719237B2 (en) Method and apparatus for deleting duplicate data
TW201842454A (zh) 合併樹廢棄項目指標
JP2005122702A5 (ja)
CN111552692B (zh) 一种加减法布谷鸟过滤器
JP2014529126A5 (ja)
CN111475105B (zh) 监控数据存储方法、设备、服务器及存储介质
US10452676B2 (en) Managing database with counting bloom filters
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
JP2021051732A5 (ja)
CN104618361A (zh) 一种网络流数据重排序方法
WO2017101643A1 (zh) 图像存储方法和设备
JPWO2019168599A5 (ja)
CN106557583A (zh) 档案存储装置和档案存储方法