JP2019520627A - データベース中にグラフ情報を記憶するためのb木使用 - Google Patents
データベース中にグラフ情報を記憶するためのb木使用 Download PDFInfo
- Publication number
- JP2019520627A JP2019520627A JP2018556975A JP2018556975A JP2019520627A JP 2019520627 A JP2019520627 A JP 2019520627A JP 2018556975 A JP2018556975 A JP 2018556975A JP 2018556975 A JP2018556975 A JP 2018556975A JP 2019520627 A JP2019520627 A JP 2019520627A
- Authority
- JP
- Japan
- Prior art keywords
- data
- slot
- node
- page
- stored
- 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
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000004557 technical material Substances 0.000 description 1
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)
Abstract
Description
本出願は、2016年5月13日付で出願された米国仮特許出願第62/336,473号、発明の名称「データベースにグラフ情報を記憶するためのB木の使用」に対する優先権を主張するもので、ここに参照することによりすべての目的のために本明細書に組み込まれるものである。
さらに図4を参照すると、受信されたノードデータ(例えば、ノード識別子、ノード属性、ノードが所有するエッジ、およびそのようなエッジの属性の1つまたは複数)は、B木索引タイプページ(406)を使って格納される。例えば、メモリ内に構築されたページは、単一のページ書き込み操作で物理記憶装置および/または論理記憶装置に書き込まれてもよい。
Claims (20)
- システムであって、
所定のページサイズの複数のページとして構成された記憶装置と、
前記記憶装置に結合されたプロセッサであって、
複数のノードおよびエッジに関連付けられたデータを受信する工程であって、前記エッジの各々は前記ノードの2つ以上の間の関係を表す、受信する工程と、
各ノードに対して1以上のページのデータを生成する工程であって、各ページは前記所定のページサイズに対応するものであり、各ページは固定長データスロットの可変サイズのセットと、可変サイズの可変長データ領域とを含むデータ構造を有する、生成する工程と、
を行う、プロセッサと、
を有するものである、システム。 - 請求項1記載のシステムにおいて、前記固定長データスロットは、前記ノードに関連付けられたノード属性データ、エッジデータ、およびエッジ属性データのうちの1つまたは複数を格納するために使用されるように構成された、システム。
- 請求項1記載のシステムにおいて、前記固定長データスロットに格納するには大きすぎるデータ値が格納される、システム。
- 請求項1記載のシステムにおいて、前記固定長データスロットの各々は、スロットヘッダ及びスロットデータ値セクションを含むものである、システム。
- 請求項4記載のシステムにおいて、前記スロットヘッダは、データにスロットタイプを格納するための1つ以上のフィールドを含むものである、システム。
- 請求項5記載のシステムにおいて、前記スロットタイプは、格納されたデータのタイプ、またはそのスロットの対応するスロットデータ値セクションに格納されたデータによって識別される位置に格納されたデータのタイプを示すものである、システム。
- 請求項6記載のシステムにおいて、前記スロットデータ値セクションは、前記スロットデータ値セクションの固定幅以下のサイズのプリミティブ値を格納するように構成されているものである、システム。
- 請求項4記載のシステムにおいて、前記スロットヘッダは、対応する値が前記可変長データ領域内に位置する位置を示すオフセットを格納するフィールドを含むものである、システム。
- 請求項1記載のシステムにおいて、前記プロセッサは、前記所定ページサイズの前記ページにさらなる空きスペースがなくなるまで、前記ページにスロットを追加及び前記可変長データ領域のサイズを必要に応じ増加して、特定のノードに関連する追加データを格納するように構成されたものである、システム。
- 請求項9記載のシステムにおいて、前記プロセッサは、追加のデータをノード用に格納すると前記所定のページサイズを超えるページが生成される場合は、そのページを分割するように構成されるものである、システム。
- 請求項1記載のシステムにおいて、前記プロセッサは、前記ページを前記記憶装置に書き込む前に前記データスロットをソートするようにさらに構成されるものである、システム。
- 請求項11記載のシステムにおいて、前記プロセッサは、各スロットのそれぞれのスロットタイプに少なくとも部分的に基づいて前記スロットをソートするように構成されるものである、システム。
- 請求項11記載のシステムにおいて、前記プロセッサは、ソートされる順でノード属性が最初で、次に前記ノードによって所有されるエッジ、続いてエッジ属性が含まれるように、前記スロットをソートするように構成されるものである、システム。
- 方法であって、
複数のノードおよびエッジに関連付けられたデータを受信する工程であって、前記エッジの各々は、前記ノードの2つ以上の間の関係を表す、受信する工程と、
各ノードに対して1以上のページのデータを生成する工程であって、各ページは前記1以上のページが格納される記憶装置と関連付けられた所定のページサイズに対応するものであり、各ページは固定長データスロットの可変サイズのセットと、可変サイズの可変長データ領域とを含むデータ構造を有する、生成する工程と、を有する方法。 - 請求項14記載の方法において、前記固定長データスロットは、前記ノードに関連付けられたノード属性データ、エッジデータ、およびエッジ属性データの1つまたは複数を格納するために使用されるように構成されるものである、方法。
- 請求項14記載の方法において、前記固定長データスロットに格納するには大きすぎるデータ値が格納されるものである、方法。
- 請求項14記載の方法において、前記固定長データスロットの各々は、スロットヘッダとスロットデータ値セクションとを含むものである、方法。
- 請求項17記載の方法において、前記スロットヘッダは、データにスロットタイプを格納するための1つ以上のフィールドを含む、方法。
- 請求項18記載の方法において、前記スロットタイプは、格納されたデータのタイプ、またはそのスロットの対応するスロットデータ値セクションに格納されたデータによって識別される位置に格納されたデータのタイプを示すものである、方法。
- 非一時的なコンピュータ可読媒体に組み込まれたコンピュータプログラム製品であって、
複数のノードおよびエッジに関連するデータを受信する工程であって、前記エッジの各々は、前記ノードの2つ以上の間の関係を表す、受信する工程と、
各ノードに対して、1以上のページのデータを生成する工程であって、前記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 true JP2019520627A (ja) | 2019-07-18 |
JP2019520627A5 JP2019520627A5 (ja) | 2020-04-09 |
JP7153420B2 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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0581101A (ja) * | 1991-09-18 | 1993-04-02 | Hitachi Software Eng Co Ltd | キーの記憶割り当て方法 |
JPH06314171A (ja) * | 1993-04-28 | 1994-11-08 | Nippon Telegr & Teleph Corp <Ntt> | レコード格納方式 |
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 (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US8612688B2 (en) * | 2010-12-30 | 2013-12-17 | 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 |
US9805079B2 (en) | 2014-08-22 | 2017-10-31 | Xcalar, Inc. | Executing constant time relational queries against structured and semi-structured 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 KR KR1020187032896A patent/KR20190008228A/ko not_active Application Discontinuation
- 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 DE DE112017002460.9T patent/DE112017002460T5/de active Pending
-
2019
- 2019-11-21 US US16/691,407 patent/US11567999B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0581101A (ja) * | 1991-09-18 | 1993-04-02 | Hitachi Software Eng Co Ltd | キーの記憶割り当て方法 |
JPH06314171A (ja) * | 1993-04-28 | 1994-11-08 | Nippon Telegr & Teleph Corp <Ntt> | レコード格納方式 |
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 |
---|---|
WO2017196444A1 (en) | 2017-11-16 |
US10579680B2 (en) | 2020-03-03 |
KR20190008228A (ko) | 2019-01-23 |
JP7153420B2 (ja) | 2022-10-14 |
US20200089707A1 (en) | 2020-03-19 |
US11567999B2 (en) | 2023-01-31 |
US20170329871A1 (en) | 2017-11-16 |
DE112017002460T5 (de) | 2019-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11567999B2 (en) | Using a B-tree to store graph information in a database | |
US10180992B2 (en) | Atomic updating of graph database index structures | |
US9558251B2 (en) | Transformation functions for compression and decompression of data in computing environments and systems | |
CN112269792B (zh) | 数据查询方法、装置、设备及计算机可读存储介质 | |
CN108228817A (zh) | 数据处理方法、装置和系统 | |
CN109952569A (zh) | 用于基于字典的连接和聚合的技术 | |
US20180144061A1 (en) | Edge store designs for graph databases | |
US20170255708A1 (en) | Index structures for graph databases | |
US10445370B2 (en) | Compound indexes for graph databases | |
CN114579584B (zh) | 数据表处理方法、装置、计算机设备和存储介质 | |
CN112528067A (zh) | 图数据库的存储方法、读取方法、装置及设备 | |
James et al. | Hybrid database system for big data storage and management | |
CN110720097A (zh) | 图数据库中元组和边的功能性等价 | |
Suri et al. | A comparative study between the performance of relational & object oriented database in Data Warehousing | |
US20180144060A1 (en) | Processing deleted edges in graph databases | |
CN106326295B (zh) | 语义数据的存储方法及装置 | |
CN115080684B (zh) | 网盘文档索引方法、装置、网盘及存储介质 | |
WO2016119508A1 (zh) | 基于Spark系统的大规模对象识别方法 | |
CN114579617A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
Lian et al. | Sql or nosql? which is the best choice for storing big spatio-temporal climate data? | |
CN110309367B (zh) | 信息分类的方法、信息处理的方法和装置 | |
CN110609926A (zh) | 数据标签存储管理方法及装置 | |
CN113449003B (zh) | 信息查询的方法、装置、电子设备及介质 | |
Engle et al. | The Case for NoSQL on a Single Desktop | |
US11675751B2 (en) | Systems and methods for capturing data schema for databases during data insertion |
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 |