JP7153420B2 - データベース中にグラフ情報を記憶するためのb木使用 - Google Patents
データベース中にグラフ情報を記憶するためのb木使用 Download PDFInfo
- Publication number
- JP7153420B2 JP7153420B2 JP2018556975A JP2018556975A JP7153420B2 JP 7153420 B2 JP7153420 B2 JP 7153420B2 JP 2018556975 A JP2018556975 A JP 2018556975A JP 2018556975 A JP2018556975 A JP 2018556975A JP 7153420 B2 JP7153420 B2 JP 7153420B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- slot
- node
- page
- nodes
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本出願は、2016年5月13日付で出願された米国仮特許出願第62/336,473号、発明の名称「データベースにグラフ情報を記憶するためのB木の使用」に対する優先権を主張するもので、ここに参照することによりすべての目的のために本明細書に組み込まれるものである。
この出願の発明に関連する先行技術文献情報としては、以下のものがある(国際出願日以降国際段階で引用された文献及び他国に国内移行した際に引用された文献を含む)。
(先行技術文献)
(特許文献)
(特許文献1) 米国特許出願公開第2013/0191416号明細書
(特許文献2) 米国特許出願公開第2006/0282455号明細書
(特許文献3) 米国特許出願公開第2012/0089791号明細書
さらに図4を参照すると、受信されたノードデータ(例えば、ノード識別子、ノード属性、ノードが所有するエッジ、およびそのようなエッジの属性の1つまたは複数)は、B木索引タイプページ(406)を使って格納される。例えば、メモリ内に構築されたページは、単一のページ書き込み操作で物理記憶装置および/または論理記憶装置に書き込まれてもよい。
Claims (18)
- システムであって、
所定のページサイズの複数のページとして構成された記憶装置と、
前記記憶装置に結合されたプロセッサであって、
複数のノードおよびエッジに関連付けられたデータを受信する工程であって、前記エッジの各々は前記ノードの2つ以上の間の関係を表す、受信する工程と、
各ノードに対して前記データを格納する1以上のページを生成する工程であって、各ページは前記所定のページサイズに対応するものであり、各ページは固定幅データスロットの可変サイズのセットと、可変サイズの可変長データ領域とを含むB木索引データ構造を有する、生成する工程と、
前記複数のノードおよびエッジに関する前記データの読み込み、更新、および削除の内の少なくとも1つの操作を行う工程と、
前記複数のノードとエッジの関連付けを行う工程と、
を実行し、
前記固定幅データスロットの各々は、スロットヘッダ及びスロットデータ値セクションを含むものであり、
前記スロットヘッダは、スロットタイプ、スロットステータス、およびエッジ方向を示す値を格納するものであり、
前記スロットデータ値セクションは、エッジスロットデータ値または属性スロットデータ値のいずれかを格納するものである、
プロセッサと、
を有するものである、システム。 - 請求項1記載のシステムにおいて、前記固定幅データスロットは、前記ノードに関連付けられたノード属性データ、エッジデータ、およびエッジ属性データのうちの1つまたは複数を格納するために使用されるように構成された、システム。
- 請求項1記載のシステムにおいて、単一の前記固定幅データスロットに収まらないデータは前記可変サイズの可変長データ領域に格納される、システム。
- 請求項1記載のシステムにおいて、前記スロットヘッダは、データにスロットタイプを格納するための1つ以上のフィールドを含むものである、システム。
- 請求項4記載のシステムにおいて、前記スロットタイプは、格納されたデータのタイプ、またはそのスロットの対応するスロットデータ値セクションに格納されたデータによって識別される位置に格納されたデータのタイプを示すものである、システム。
- 請求項5記載のシステムにおいて、前記スロットデータ値セクションは、前記スロットデータ値セクションの固定幅以下のサイズのプリミティブ値を格納するように構成されているものである、システム。
- 請求項1記載のシステムにおいて、前記スロットヘッダは、対応する値が前記可変長データ領域内に位置する位置を示すオフセットを格納するフィールドを含むものである、システム。
- 請求項1記載のシステムにおいて、前記プロセッサは、前記所定ページサイズの前記ページにさらなる空きスペースがなくなるまで、前記ページにスロットを追加及び前記可変長データ領域のサイズを必要に応じ増加して、特定のノードに関連する追加データを格納するように構成されたものである、システム。
- 請求項8記載のシステムにおいて、前記プロセッサは、追加のデータをノード用に格納すると前記所定のページサイズを超えるページが生成される場合は、そのページを分割するように構成されるものである、システム。
- 請求項1記載のシステムにおいて、前記プロセッサは、前記ページを前記記憶装置に書き込む前に前記データスロットをソートするようにさらに構成されるものである、システム。
- 請求項10記載のシステムにおいて、前記プロセッサは、各スロットのそれぞれのスロットタイプに少なくとも部分的に基づいて前記スロットをソートするように構成されるものである、システム。
- 請求項10記載のシステムにおいて、前記プロセッサは、ソートされる順でノード属性が最初で、次に前記ノードによって所有されるエッジ、続いてエッジ属性が含まれるように、前記スロットをソートするように構成されるものである、システム。
- 所定のページサイズの複数のページとして構成された記憶装置と、当該記憶装置に結合されたプロセッサと、を有するシステムにより実行される方法であって、
複数のノードおよびエッジに関連付けられたデータを前記プロセッサにより受信する工程であって、前記エッジの各々は、前記ノードの2つ以上の間の関係を表す、受信する工程と、
各ノードに対して前記データを格納する1以上のページを前記プロセッサにより生成する工程であって、各ページは当該1以上のページが格納される前記記憶装置と関連付けられた前記所定のページサイズに対応するものであり、各ページは固定幅データスロットの可変サイズのセットと、可変サイズの可変長データ領域とを含むB木索引データ構造を有する、生成する工程と、
前記複数のノードおよびエッジに関する前記データの読み込み、更新、および削除の内の少なくとも1つの操作を行う工程と、
前記複数のノードとエッジの関連付けを行う工程と、
を有し、
前記固定幅データスロットの各々は、スロットヘッダ及びスロットデータ値セクションを含むものであり、
前記スロットヘッダは、スロットタイプ、スロットステータス、およびエッジ方向を示す値を格納するものであり、
前記スロットデータ値セクションは、エッジスロットデータ値または属性スロットデータ値のいずれかを格納するものである、
方法。 - 請求項13記載の方法において、前記固定幅データスロットは、前記ノードに関連付けられたノード属性データ、エッジデータ、およびエッジ属性データの1つまたは複数を格納するために使用されるように構成されるものである、方法。
- 請求項13記載の方法において、単一の前記固定幅データスロットに収まらないデータは前記可変サイズの可変長データ領域に格納されるものである、方法。
- 請求項13記載の方法において、前記スロットヘッダは、データにスロットタイプを格納するための1つ以上のフィールドを含む、方法。
- 請求項16記載の方法において、前記スロットタイプは、格納されたデータのタイプ、またはそのスロットの対応するスロットデータ値セクションに格納されたデータによって識別される位置に格納されたデータのタイプを示すものである、方法。
- 非一時的なコンピュータ可読媒体に格納されたコンピュータソフトウエアプログラムであって、当該コンピュータソフトウエアプログラムは、
コンピュータに、複数のノードおよびエッジに関連するデータを受信する手順であって、前記エッジの各々は、前記ノードの2つ以上の間の関係を表す、受信する手順と、
コンピュータに、各ノードに対して前記データを格納する1以上のページを生成する手順であって、各ページは当該1以上のページが格納される記憶装置と関連付けられた所定のページサイズに対応し、各ページは、固定幅データスロットの可変サイズのセットと可変サイズの可変長データ領域を含むB木索引データ構造を有するものである、生成する手順と、
コンピュータに、前記複数のノードおよびエッジに関する前記データの読み込み、更新、および削除の内の少なくとも1つの操作を行う手順と、
コンピュータに、前記複数のノードとエッジの関連付けを行う手順と、
を実行させるための、コンピュータソフトウエアプログラムであって、
前記固定幅データスロットの各々は、スロットヘッダ及びスロットデータ値セクションを含むものであり、
前記スロットヘッダは、スロットタイプ、スロットステータス、およびエッジ方向を示す値を格納するものであり、
前記スロットデータ値セクションは、エッジスロットデータ値または属性スロットデータ値のいずれかを格納するものである、
コンピュータソフトウエアプログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662336473P | 2016-05-13 | 2016-05-13 | |
US62/336,473 | 2016-05-13 | ||
US15/357,924 US10579680B2 (en) | 2016-05-13 | 2016-11-21 | Using a B-tree to store graph information in a database |
US15/357,924 | 2016-11-21 | ||
PCT/US2017/021451 WO2017196444A1 (en) | 2016-05-13 | 2017-03-08 | Using a b-tree to store graph information in a database |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019520627A JP2019520627A (ja) | 2019-07-18 |
JP2019520627A5 JP2019520627A5 (ja) | 2020-04-09 |
JP7153420B2 true JP7153420B2 (ja) | 2022-10-14 |
Family
ID=60267344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018556975A Active JP7153420B2 (ja) | 2016-05-13 | 2017-03-08 | データベース中にグラフ情報を記憶するためのb木使用 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10579680B2 (ja) |
JP (1) | JP7153420B2 (ja) |
KR (1) | KR20190008228A (ja) |
DE (1) | DE112017002460T5 (ja) |
WO (1) | WO2017196444A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698865B2 (en) * | 2017-06-26 | 2020-06-30 | Vmware, Inc. | Management of B-tree leaf nodes with variable size values |
CN111523000B (zh) * | 2020-04-23 | 2023-06-23 | 北京百度网讯科技有限公司 | 用于导入数据的方法、装置、设备以及存储介质 |
CN114996297B (zh) * | 2022-04-14 | 2023-09-26 | 建信金融科技有限责任公司 | 数据处理方法、装置、设备及介质 |
CN115374299B (zh) * | 2022-10-24 | 2023-02-03 | 杭州悦数科技有限公司 | 分布式图数据库中可达性索引的分层构建方法和系统 |
CN117763207B (zh) * | 2024-02-22 | 2024-04-30 | 四川大学华西医院 | 一种皮肤专业二分类专病数据库建立的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014776A (ja) | 2000-06-29 | 2002-01-18 | Toshiba Corp | ディスク制御システムおよびデータ再配置方法 |
JP2004145766A (ja) | 2002-10-25 | 2004-05-20 | Kyocera Corp | 情報処理システム |
US20120317339A1 (en) | 2011-06-13 | 2012-12-13 | International Business Machines Corporation | System and method for caching data in memory and on disk |
JP2014010812A (ja) | 2012-07-03 | 2014-01-20 | Toshiba Corp | 情報処理装置、情報提供装置、情報システム及び情報処理プログラム |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2874810B2 (ja) * | 1991-09-18 | 1999-03-24 | 日立ソフトウエアエンジニアリング株式会社 | キーの記憶割り当て方法 |
JP3070020B2 (ja) * | 1993-04-28 | 2000-07-24 | 日本電信電話株式会社 | レコード格納方式 |
US5613105A (en) | 1993-06-30 | 1997-03-18 | Microsoft Corporation | Efficient storage of objects in a file system |
US6084877A (en) * | 1997-12-18 | 2000-07-04 | Advanced Micro Devices, Inc. | Network switch port configured for generating an index key for a network switch routing table using a programmable hash function |
US6757742B1 (en) * | 2000-05-25 | 2004-06-29 | Advanced Micro Devices, Inc. | Computer-based system for validating hash-based table lookup schemes in a network switch |
US7668845B1 (en) * | 2004-02-18 | 2010-02-23 | Microsoft Corporation | C-tree for multi-attribute indexing |
US7653938B1 (en) * | 2005-02-03 | 2010-01-26 | Cisco Technology, Inc. | Efficient cookie generator |
US20060282455A1 (en) | 2005-06-13 | 2006-12-14 | It Interactive Services Inc. | System and method for ranking web content |
US7821925B2 (en) * | 2007-01-29 | 2010-10-26 | Fulcrum Microsystems, Inc. | Traffic distribution techniques utilizing initial and scrambled hash values |
US7856437B2 (en) * | 2007-07-31 | 2010-12-21 | Hewlett-Packard Development Company, L.P. | Storing nodes representing respective chunks of files in a data store |
US8180763B2 (en) * | 2009-05-29 | 2012-05-15 | Microsoft Corporation | Cache-friendly B-tree accelerator |
US8665879B2 (en) * | 2009-07-14 | 2014-03-04 | Broadcom Corporation | Flow based path selection randomization using parallel hash functions |
US8782080B2 (en) | 2010-04-19 | 2014-07-15 | Facebook, Inc. | Detecting social graph elements for structured search queries |
JP5707787B2 (ja) * | 2010-06-10 | 2015-04-30 | 株式会社リコー | 転写装置及びそれを用いた画像形成装置 |
US8954688B2 (en) | 2010-10-06 | 2015-02-10 | International Business Machines Corporation | Handling storage pages in a database system |
US8832111B2 (en) * | 2010-12-30 | 2014-09-09 | Facebook, Inc. | Distributed cache for graph data |
US8775476B2 (en) * | 2010-12-30 | 2014-07-08 | Skai, Inc. | System and method for creating, deploying, integrating, and distributing nodes in a grid of distributed graph databases |
JP5647938B2 (ja) * | 2011-04-20 | 2015-01-07 | パナソニック株式会社 | 送信端末、受信端末、およびid発番装置 |
US8880871B2 (en) * | 2012-01-03 | 2014-11-04 | Broadcom Corporation | Hash table organization |
US10318583B2 (en) * | 2013-03-15 | 2019-06-11 | The Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for recommending relationships within a graph database |
US9953054B2 (en) * | 2013-04-22 | 2018-04-24 | Salesforce.Com, Inc. | Systems and methods for implementing and maintaining sampled tables in a database system |
US10019536B2 (en) * | 2014-07-15 | 2018-07-10 | Oracle International Corporation | Snapshot-consistent, in-memory graph instances in a multi-user database |
US9805080B2 (en) | 2014-08-22 | 2017-10-31 | Xcalar, Inc. | Data driven relational algorithm formation for execution against big data |
US10067966B2 (en) * | 2015-09-29 | 2018-09-04 | Vmware, Inc. | Leveraging hierarchy in a tree data structure to dynamically allocate keys |
BR102015030984A2 (pt) | 2015-12-10 | 2016-03-15 | Edson Luiz De Oliveira | aparato, sistema e método de geração de nano bolhas a partir de gases e soluções líquidas |
-
2016
- 2016-11-21 US US15/357,924 patent/US10579680B2/en active Active
-
2017
- 2017-03-08 DE DE112017002460.9T patent/DE112017002460T5/de active Pending
- 2017-03-08 WO PCT/US2017/021451 patent/WO2017196444A1/en active Application Filing
- 2017-03-08 JP JP2018556975A patent/JP7153420B2/ja active Active
- 2017-03-08 KR KR1020187032896A patent/KR20190008228A/ko not_active Application Discontinuation
-
2019
- 2019-11-21 US US16/691,407 patent/US11567999B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002014776A (ja) | 2000-06-29 | 2002-01-18 | Toshiba Corp | ディスク制御システムおよびデータ再配置方法 |
JP2004145766A (ja) | 2002-10-25 | 2004-05-20 | Kyocera Corp | 情報処理システム |
US20120317339A1 (en) | 2011-06-13 | 2012-12-13 | International Business Machines Corporation | System and method for caching data in memory and on disk |
JP2014010812A (ja) | 2012-07-03 | 2014-01-20 | Toshiba Corp | 情報処理装置、情報提供装置、情報システム及び情報処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
US11567999B2 (en) | 2023-01-31 |
DE112017002460T5 (de) | 2019-01-31 |
US20200089707A1 (en) | 2020-03-19 |
JP2019520627A (ja) | 2019-07-18 |
KR20190008228A (ko) | 2019-01-23 |
US20170329871A1 (en) | 2017-11-16 |
WO2017196444A1 (en) | 2017-11-16 |
US10579680B2 (en) | 2020-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7153420B2 (ja) | データベース中にグラフ情報を記憶するためのb木使用 | |
US10180992B2 (en) | Atomic updating of graph database index structures | |
US10353893B2 (en) | Data partitioning and ordering | |
US10671671B2 (en) | Supporting tuples in log-based representations of graph databases | |
US11249980B2 (en) | Updating of in-memory synopsis metadata for inserts in database table | |
US20180144061A1 (en) | Edge store designs for graph databases | |
US20170255708A1 (en) | Index structures for graph databases | |
US10445370B2 (en) | Compound indexes for graph databases | |
US11775526B1 (en) | Systems and methods for joining non-relational database search results over multiple database indexes | |
Hashem et al. | An Integrative Modeling of BigData Processing. | |
CN112528067A (zh) | 图数据库的存储方法、读取方法、装置及设备 | |
James et al. | Hybrid database system for big data storage and management | |
CN110720097A (zh) | 图数据库中元组和边的功能性等价 | |
CN112912870A (zh) | 租户标识符的转换 | |
US10754859B2 (en) | Encoding edges in graph databases | |
US20180349443A1 (en) | Edge store compression in graph databases | |
US20180144060A1 (en) | Processing deleted edges in graph databases | |
US20230153300A1 (en) | Building cross table index in relational database | |
CN114579617A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
Lian et al. | Sql or nosql? which is the best choice for storing big spatio-temporal climate data? | |
Grossman | What is analytic infrastructure and why should you care? | |
Alam | Data Migration: Relational Rdbms To Non-Relational Nosql | |
Huang | Research of Big Data Based on NoAQL | |
US20180210670A1 (en) | Storage management of metadata | |
Bolla et al. | Anatomization of Document-Based NoSQL Databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200302 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210518 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210812 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20211014 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220719 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221001 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7153420 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |