JP7397928B2 - 分散データベースのグローバルセカンダリインデックス方法及びその装置 - Google Patents
分散データベースのグローバルセカンダリインデックス方法及びその装置 Download PDFInfo
- Publication number
- JP7397928B2 JP7397928B2 JP2022128211A JP2022128211A JP7397928B2 JP 7397928 B2 JP7397928 B2 JP 7397928B2 JP 2022128211 A JP2022128211 A JP 2022128211A JP 2022128211 A JP2022128211 A JP 2022128211A JP 7397928 B2 JP7397928 B2 JP 7397928B2
- Authority
- JP
- Japan
- Prior art keywords
- index
- global secondary
- distributed database
- secondary index
- global
- 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
- 238000000034 method Methods 0.000 title claims description 51
- 238000012545 processing Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 19
- 230000002688 persistence Effects 0.000 claims description 16
- 238000003672 processing method Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 239000003999 initiator Substances 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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/2272—Management thereof
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- 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
-
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/213—Schema design and management with details for schema evolution support
-
- 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、前記元データを前記分散データベースに書き込むステップと、
前記分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得するステップと、
前記グローバルセカンダリインデックスデータと前記分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込むステップと、を含む、分散データベースのグローバルセカンダリインデックス方法が提供される。
受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、前記元データを前記分散データベースに書き込むように構成される元データ書き込みモジュールと、
前記分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得するように構成されるインデックス処理モジュールと、
前記グローバルセカンダリインデックスデータと前記分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込むように構成されるインデックステーブル作成モジュールと、を含む、分散データベースのグローバルセカンダリインデックス装置が提供される。
Claims (15)
- 分散データベースのグローバルセカンダリインデックス方法であって、
受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、前記元データを前記分散データベースに書き込むステップと、
前記分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得するステップであって、前記グローバルセカンダリインデックス処理は、前記分散データベース内に書き込まれた元データのインデックスを非同期で作成することを含むステップと、
前記グローバルセカンダリインデックスデータと前記分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込むステップと、を含む、分散データベースのグローバルセカンダリインデックス方法。 - 前記元データを前記分散データベースに書き込む前記ステップは、
前記元データをデータバッファキューに書き込むステップと、
前記データバッファキューをストレージノードに送信してデータ永続化処理を行うステップと、
前記ストレージノードから返されたデータ永続化処理結果を受信し、前記データ永続化処理結果を前記データベース書き込み要求のイニシエータに送信するステップと、を含む、請求項1に記載の分散データベースのグローバルセカンダリインデックス方法。 - 非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込む前記ステップは、
非同期処理方式に基づいて、前記グローバルセカンダリインデックステーブルをバッチごとにインデックスシャードに書き込むステップを含む、請求項1に記載の分散データベースのグローバルセカンダリインデックス方法。 - 前記グローバルセカンダリインデックステーブルがバッチごとに前記インデックスシャードに書き込まれる時、現在のバッチで書き込まれたグローバルセカンダリインデックステーブルのインデックス値を分散合意アルゴリズムのRaftログに記録するステップをさらに含む、請求項3に記載の分散データベースのグローバルセカンダリインデックス方法。
- 前記インデックス値は、前記現在のバッチの最後の、前記インデックスシャードに書き込まれたグローバルセカンダリインデックステーブルのインデックス値である、請求項4に記載の分散データベースのグローバルセカンダリインデックス方法。
- 前記インデックスシャードの障害回復に応答して、前記Raftログから、対象時間に新たに記録されたグローバルセカンダリインデックステーブルの対象インデックス値を取得するステップであって、前記対象時間が、前記インデックスシャードに障害が発生する前の時間であるステップと、
前記対象インデックス値に基づいて、前記インデックスシャードに障害が発生している間に正常に書き込まれなかったグローバルセカンダリインデックステーブルを決定するステップと、
前記正常に書き込まれなかったグローバルセカンダリインデックステーブルを前記インデックスシャードに再度に書き込むステップと、をさらに含む、請求項4に記載の分散データベースのグローバルセカンダリインデックス方法。 - 分散データベースのグローバルセカンダリインデックス装置であって、
受信したデータベース書き込み要求に応答して、書き込み対象の元データを取得し、前記元データを前記分散データベースに書き込むための元データ書き込みモジュールと、
前記分散データベースに書き込まれた元データに対してグローバルセカンダリインデックス処理を行って、グローバルセカンダリインデックスデータを取得するように構成されるインデックス処理モジュールであって、前記グローバルセカンダリインデックス処理は、前記分散データベース内に書き込まれた元データのインデックスを非同期で作成することを含むインデックス処理モジュールと、
前記グローバルセカンダリインデックスデータと前記分散データベース内のデータテーブルの主キーとを対応付けさせたグローバルセカンダリインデックステーブルを作成し、非同期処理方式に基づいて前記グローバルセカンダリインデックステーブルをインデックスシャードに書き込むように構成されるインデックステーブル作成モジュールと、を含む、分散データベースのグローバルセカンダリインデックス装置。 - 前記元データ書き込みモジュールは、具体的には、
前記元データをデータバッファキューに書き込み、
前記データバッファキューをストレージノードに送信してデータ永続化処理を行い、
前記ストレージノードから返されたデータ永続化処理結果を受信し、前記データ永続化処理結果を前記データベース書き込み要求のイニシエータに送信するように構成される、請求項7に記載の分散データベースのグローバルセカンダリインデックス装置。 - 前記インデックステーブル作成モジュールは、具体的には、
非同期処理方式に基づいて、前記グローバルセカンダリインデックステーブルをバッチごとにインデックスシャードに書き込むように構成される、請求項7に記載の分散データベースのグローバルセカンダリインデックス装置。 - 前記グローバルセカンダリインデックステーブルがバッチごとに前記インデックスシャードに書き込まれる時、現在のバッチで書き込まれたグローバルセカンダリインデックステーブルのインデックス値を分散合意アルゴリズムのRaftログに記録するように構成されるログ記録モジュールをさらに含む、請求項9に記載の分散データベースのグローバルセカンダリインデックス装置。
- 前記インデックス値は、前記現在のバッチの最後の、前記インデックスシャードに書き込まれたグローバルセカンダリインデックステーブルのインデックス値である、請求項10に記載の分散データベースのグローバルセカンダリインデックス装置。
- 前記インデックスシャードの障害回復に応答して、前記Raftログから、対象時間に新たに記録されたグローバルセカンダリインデックステーブルの対象インデックス値を取得するように構成される取得モジュールであって、前記対象時間が、前記インデックスシャードに障害が発生する前の時間である取得モジュールをさらに含み、
前記インデックステーブル作成モジュールはさらに、前記対象インデックス値に基づいて、前記インデックスシャードに障害が発生している間に正常に書き込まれなかったグローバルセカンダリインデックステーブルを決定し、前記正常に書き込まれなかったグローバルセカンダリインデックステーブルを前記インデックスシャードに再度に書き込むように構成される、請求項10又は11に記載の分散データベースのグローバルセカンダリインデックス装置。 - コンピュータ機器であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが請求項1~6のいずれか1項に記載の分散データベースのグローバルセカンダリインデックス方法を実行できる、コンピュータ機器。 - コンピュータに請求項1~6のいずれか1項に記載の分散データベースのグローバルセカンダリインデックス方法を実行させるためのコンピュータ命令を記憶した、非一時的コンピュータ読み取り可能な記憶媒体。
- プロセッサによって実行される場合、請求項1~6のいずれか1項に記載の分散データベースのグローバルセカンダリインデックス方法を実現する、コンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124021.0A CN113868251B (zh) | 2021-09-24 | 2021-09-24 | 分布式数据库的全局二级索引方法及其装置 |
CN202111124021.0 | 2021-09-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022160666A JP2022160666A (ja) | 2022-10-19 |
JP7397928B2 true JP7397928B2 (ja) | 2023-12-13 |
Family
ID=78994144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022128211A Active JP7397928B2 (ja) | 2021-09-24 | 2022-08-10 | 分散データベースのグローバルセカンダリインデックス方法及びその装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230014427A1 (ja) |
EP (1) | EP4141687A1 (ja) |
JP (1) | JP7397928B2 (ja) |
KR (1) | KR20220091444A (ja) |
CN (1) | CN113868251B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860655B (zh) * | 2022-03-21 | 2024-08-09 | 阿里巴巴(中国)有限公司 | 文件处理方法、装置及存储介质 |
CN117555907A (zh) * | 2022-08-05 | 2024-02-13 | 华为技术有限公司 | 分布式数据库中处理基表及其全局二级索引的方法及装置 |
CN117555894A (zh) * | 2022-08-05 | 2024-02-13 | 华为技术有限公司 | 一种分布式数据库中创建全局二级索引的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210429A1 (en) | 2008-02-19 | 2009-08-20 | Yahoo! Inc. | System and method for asynchronous update of indexes in a distributed database |
US20150331910A1 (en) | 2014-04-28 | 2015-11-19 | Venkatachary Srinivasan | Methods and systems of query engines and secondary indexes implemented in a distributed database |
CN111221814A (zh) | 2018-11-27 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 二级索引的构建方法、装置及设备 |
US20200250210A1 (en) | 2019-01-31 | 2020-08-06 | Salesforce.Com, Inc. | Temporary reservations in non-relational datastores |
US10853182B1 (en) | 2015-12-21 | 2020-12-01 | Amazon Technologies, Inc. | Scalable log-based secondary indexes for non-relational databases |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083089B2 (en) * | 2015-09-07 | 2018-09-25 | International Business Machines Corporation | Efficient index recovery in log-structured object stores |
CN110147407B (zh) * | 2017-09-29 | 2023-02-14 | 华为技术有限公司 | 一种数据处理方法、装置及数据库管理服务器 |
CN109800222B (zh) * | 2018-12-11 | 2021-06-01 | 中国科学院信息工程研究所 | 一种HBase二级索引自适应优化方法和系统 |
CN110297881A (zh) * | 2019-07-08 | 2019-10-01 | 北京友缘在线网络科技股份有限公司 | 用于实现二级索引的方法和计算机可读介质 |
CN112540731B (zh) * | 2020-12-22 | 2023-08-11 | 北京百度网讯科技有限公司 | 数据的追加写方法、装置、设备、介质和程序产品 |
-
2021
- 2021-09-24 CN CN202111124021.0A patent/CN113868251B/zh active Active
-
2022
- 2022-06-13 KR KR1020220071773A patent/KR20220091444A/ko unknown
- 2022-08-10 JP JP2022128211A patent/JP7397928B2/ja active Active
- 2022-09-19 US US17/933,180 patent/US20230014427A1/en active Pending
- 2022-09-22 EP EP22197105.4A patent/EP4141687A1/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210429A1 (en) | 2008-02-19 | 2009-08-20 | Yahoo! Inc. | System and method for asynchronous update of indexes in a distributed database |
US20150331910A1 (en) | 2014-04-28 | 2015-11-19 | Venkatachary Srinivasan | Methods and systems of query engines and secondary indexes implemented in a distributed database |
US10853182B1 (en) | 2015-12-21 | 2020-12-01 | Amazon Technologies, Inc. | Scalable log-based secondary indexes for non-relational databases |
CN111221814A (zh) | 2018-11-27 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 二级索引的构建方法、装置及设备 |
US20200250210A1 (en) | 2019-01-31 | 2020-08-06 | Salesforce.Com, Inc. | Temporary reservations in non-relational datastores |
Also Published As
Publication number | Publication date |
---|---|
KR20220091444A (ko) | 2022-06-30 |
CN113868251B (zh) | 2022-10-18 |
JP2022160666A (ja) | 2022-10-19 |
CN113868251A (zh) | 2021-12-31 |
US20230014427A1 (en) | 2023-01-19 |
EP4141687A1 (en) | 2023-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7397928B2 (ja) | 分散データベースのグローバルセカンダリインデックス方法及びその装置 | |
US11455217B2 (en) | Transaction consistency query support for replicated data from recovery log to external data stores | |
JP7413306B2 (ja) | データ処理方法、装置、機器及び記憶媒体 | |
US10303679B2 (en) | Ensuring snapshot monotonicity in asynchronous data replication | |
US9811577B2 (en) | Asynchronous data replication using an external buffer table | |
CN111865970A (zh) | 用于实现接口幂等性的方法和装置 | |
US20210216212A1 (en) | Method and apparatus for processing data | |
US20210311914A1 (en) | Transaction processing method and device, electronic device and readable storage medium | |
US20180165307A1 (en) | Executing Queries Referencing Data Stored in a Unified Data Layer | |
CN111258957B (zh) | 分布式文件系统目录更新方法、装置、设备和介质 | |
CN111459882B (zh) | 分布式文件系统的命名空间事务处理方法和装置 | |
US10620660B2 (en) | Efficient timestamp solution for analyzing concurrent software systems | |
WO2020192663A1 (zh) | 一种数据管理方法及相关设备 | |
US10083192B2 (en) | Deleted database record reuse | |
CN117043763A (zh) | 数据库加速器中的易失性数据库高速缓存 | |
US10970175B2 (en) | Flexible per-request data durability in databases and other data stores | |
US11953996B1 (en) | Method and system for selectively preserving data generated during application access | |
US8862544B2 (en) | Grid based replication | |
US10936430B2 (en) | Method and system for automation of differential backups | |
US11789971B1 (en) | Adding replicas to a multi-leader replica group for a data set | |
CN112084204A (zh) | 浏览数据处理方法、装置、终端及存储介质 | |
US11966411B1 (en) | Change data capture log augmentation for streamlined ETL processing | |
JP7451697B2 (ja) | データ記憶方法、装置、クエリ方法、電子機器および可読媒体 | |
EP3690656A1 (en) | Method and system for inline deduplication using accelerator pools | |
US20230014029A1 (en) | Local indexing for metadata repository objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230927 |
|
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: 20231121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7397928 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |