RU2017104121A - Система и способ для создания выборочных моментальных снимков базы данных - Google Patents
Система и способ для создания выборочных моментальных снимков базы данных Download PDFInfo
- Publication number
- RU2017104121A RU2017104121A RU2017104121A RU2017104121A RU2017104121A RU 2017104121 A RU2017104121 A RU 2017104121A RU 2017104121 A RU2017104121 A RU 2017104121A RU 2017104121 A RU2017104121 A RU 2017104121A RU 2017104121 A RU2017104121 A RU 2017104121A
- Authority
- RU
- Russia
- Prior art keywords
- segment
- snapshot
- display status
- access
- segments
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims 48
- 230000006870 function Effects 0.000 claims 2
- 125000004122 cyclic group Chemical group 0.000 claims 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table 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/23—Updating
- G06F16/2308—Concurrency control
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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/2379—Updates performed during online database operations; commit processing
-
- 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/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Claims (28)
1. Система (200) для создания выборочных моментальных снимков базы данных, хранящейся в виде одного или более сегментов (32, 131-134), причем сегмент содержит одну или несколько страниц памяти, причем данная система содержит:
- блок (203, 205) определения для определения, будет ли процесс (230, 232) моментального снимка обращаться к выбранному сегменту из одного или более сегментов,
- блок (222) присвоения для присвоения положительного статуса отображения вызываемому сегменту (210, 212), для которого блок определения определил, что к нему обращается процесс моментального снимка, и для присвоения отрицательного статуса отображения невызываемому сегменту, для которого блок определения определил, что к нему не обращается процесс моментального снимка, и
- блок (224) моментального снимка для создания моментального снимка, в котором создание моментального снимка содержит этап порождения процесса моментального снимка, адресное пространство которого содержит подмножество одного или более сегментов, причем сегмент, которому был присвоен отрицательный статус отображения, в это адресное пространство не отображается.
2. Система (200) по п.1, в которой блок (203, 205) определения выполнен с возможностью определения, будет ли процесс (230, 232) моментального снимка обращаться к выбранному сегменту (32, 131-134), до начала выполнения процесса моментального снимка.
3. Система (200) по п.1, в которой блок (203, 205) определения выполнен с возможностью определения во время выполнения активного процесса (232, 234) моментального снимка, будет ли активный процесс моментального снимка обращаться к выбранному сегменту (32, 131-134) в течение оставшегося времени своего выполнения.
4. Система (200) по п.1, в которой блок (222) присвоения содержит блок компиляции, выполненный с возможностью компиляции физического плана выполнения, предназначенного для выполнения процессом моментального снимка, при этом предпочтительно, чтобы скомпилированный физический план выполнения содержал команду снятия отображения для сегмента в той позиции физического плана выполнения, начиная с которой к данному сегменту уже не потребуется обращаться в течение оставшегося времени выполнения физического плана выполнения.
5. Система (200) по п.1, в которой присвоение положительного статуса отображения вызываемому сегменту содержит этап (S28) вызова функции madvise операционной системы с аргументами, содержащими адрес и размер вызываемого сегмента и параметр MADV_NORMAL, и/или присвоение отрицательного статуса отображения невызываемому сегменту содержит этап (S36) вызова функции madvise операционной системы с аргументами, содержащими адрес и размер невызываемого сегмента и параметр MADV_DONTFORK.
6. Способ для создания выборочных моментальных снимков базы данных, хранящейся в виде одного или более сегментов (32, 131-134), причем сегмент содержит одну или несколько страниц памяти, причем данный способ содержит следующие этапы:
- определение родительским процессом, будет ли процесс моментального снимка обращаться к выбранному сегменту из одного или более сегментов,
- присвоение (S22, S24, S28) родительским процессом положительного статуса отображения сегменту, если определено, что к сегменту обращается процесс моментального снимка, и/или присвоение родительским процессом отрицательного статуса отображения сегменту, если определено, что к сегменту не обращается процесс моментального снимка,
- создание (S38) родительским процессом моментального снимка, где создание моментального снимка содержит этап (S38) порождения процесса моментального снимка и где сегмент, которому был присвоен отрицательный статус отображения, в адресное пространство этого процесса моментального снимка не отображается.
7. Способ по п.6, в котором присвоение положительного статуса отображения вызываемому сегменту содержит:
- установку (S22) переменной статуса вызываемого сегмента в переменную статуса, объединенную с переменной маски оператором ИЛИ,
- вставку (S24) указателя на вызываемый сегмент в хэш-таблицу, и
- при вновь осуществляемой вставке (S26) указателя в хэш-таблицу - установку (S28) положительного статуса отображения, при этом создание родительским процессом моментального снимка содержит этап (S12) обновления переменной маски, который, в свою очередь, содержит этап (S12) циклического сдвига значений битов переменной маски.
8. Способ по п.7, в котором создание моментального снимка дополнительно содержит этап (S36) установки отрицательного статуса отображения для каждого сегмента из хэш-таблицы, переменная статуса которого дает значение 0 в объединении с переменной маски оператором И.
9. Способ по п.8, где указанный способ представляет собой способ копирования в контрольных точках, при этом процесс (230, 232) моментального снимка выполнен с возможностью записи выборочного моментального снимка базы данных, который содержит подмножество одного или более сегментов (32, 131-134), в постоянную память.
10. Способ по п.9, в котором определение родительским процессом, будет ли процесс (230, 232) моментального снимка обращаться к выбранному сегменту из одного или более сегментов (32, 131-134), содержит этап определения, был ли выбранный сегмент изменен за предыдущий интервал между контрольными точками.
11. Способ по п.8, где указанный способ представляет собой способ для поддержания системы базы данных с гибридом оперативной транзакционной обработки (OLTP) и оперативной аналитической обработки (OLAP), причем данный способ содержит следующие этапы:
- получение родительским процессом OLAP-запроса, и
- выполнение процессом (230) моментального снимка соответствующего OLAP-запроса.
12. Способ по п.11, который дополнительно содержит этап компиляции родительским процессом процесса моментального снимка на основе OLAP-запроса.
13. Способ по п.11, в котором определение родительским процессом того, будет ли процесс моментального снимка обращаться к выбранному сегменту, содержит этап создания родительским процессом физического плана выполнения, в котором, в частности, упоминаемому в этом физическом плане сегменту родительский процесс присваивает положительный статус отображения.
14. Способ по любому из пп.8-13, дополнительно содержащий следующие этапы:
- определение невызываемого сегмента, к которому процессу моментального снимка больше не потребуется обращаться, и
- снятие отображения невызываемого сегмента.
15. Компьютерно-читаемый носитель, на котором хранится программный код, содержащий команды для реализации способа по любому из пп.8-13.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15167493.4 | 2015-05-13 | ||
EP15167493.4A EP3093773B1 (en) | 2015-05-13 | 2015-05-13 | System and method for creating selective snapshots of a database |
PCT/EP2015/075405 WO2016180504A1 (en) | 2015-05-13 | 2015-11-02 | System and method for creating selective snapshots of a database |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2017104121A3 RU2017104121A3 (ru) | 2018-08-08 |
RU2017104121A true RU2017104121A (ru) | 2018-08-08 |
RU2676018C2 RU2676018C2 (ru) | 2018-12-25 |
Family
ID=53177192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017104121A RU2676018C2 (ru) | 2015-05-13 | 2015-11-02 | Система и способ для создания выборочных моментальных снимков базы данных |
Country Status (6)
Country | Link |
---|---|
US (1) | US10417097B2 (ru) |
EP (2) | EP3093773B1 (ru) |
JP (1) | JP6365858B2 (ru) |
CN (1) | CN107533549B (ru) |
RU (1) | RU2676018C2 (ru) |
WO (1) | WO2016180504A1 (ru) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3079064B1 (en) * | 2015-04-07 | 2017-11-29 | Huawei Technologies Co., Ltd. | Method and apparatus for tracking objects in a first memory |
EP3291103B1 (en) | 2016-09-01 | 2019-11-06 | Huawei Technologies Co., Ltd. | System and method for creating a snapshot of a subset of a database |
US11579978B2 (en) * | 2018-02-14 | 2023-02-14 | Rubrik, Inc. | Fileset partitioning for data storage and management |
CN108551478B (zh) * | 2018-03-29 | 2020-12-18 | 中国银联股份有限公司 | 一种事务处理方法、服务器及事务处理系统 |
CN109739688B (zh) * | 2018-12-18 | 2021-01-26 | 杭州宏杉科技股份有限公司 | 快照资源空间管理方法、装置、电子设备 |
CN110781252B (zh) * | 2019-11-05 | 2021-01-05 | 安徽数据堂科技有限公司 | 一种基于大数据的数据智能分析可视化方法 |
CN111240801A (zh) * | 2020-01-06 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 生成堆内存快照文件的方法、装置、介质和电子设备 |
US11403200B2 (en) * | 2020-06-11 | 2022-08-02 | Cisco Technology, Inc. | Provisioning resources for monitoring hosts based on defined functionalities of hosts |
CN113342605B (zh) * | 2021-06-07 | 2024-02-02 | 北京许继电气有限公司 | 一种PostgreSQL数据库监控和溯源分析的方法和系统 |
CN115858046B (zh) * | 2023-02-28 | 2023-07-21 | 荣耀终端有限公司 | 一种预加载内存页的方法、电子设备及芯片系统 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4860201A (en) * | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
GB8925723D0 (en) * | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
US5313647A (en) * | 1991-09-20 | 1994-05-17 | Kendall Square Research Corporation | Digital data processor with improved checkpointing and forking |
CA2285089C (en) * | 1991-11-12 | 2000-05-09 | Ibm Canada Limited-Ibm Canada Limitee | Logical mapping of data objects using data spaces |
US5835964A (en) * | 1996-04-29 | 1998-11-10 | Microsoft Corporation | Virtual memory system with hardware TLB and unmapped software TLB updated from mapped task address maps using unmapped kernel address map |
US5809563A (en) * | 1996-11-12 | 1998-09-15 | Institute For The Development Of Emerging Architectures, Llc | Method and apparatus utilizing a region based page table walk bit |
US6754788B2 (en) * | 2001-03-15 | 2004-06-22 | International Business Machines Corporation | Apparatus, method and computer program product for privatizing operating system data |
JP4162184B2 (ja) * | 2001-11-14 | 2008-10-08 | 株式会社日立製作所 | データベース管理システムの実行情報を取得する手段を有する記憶装置 |
KR100439675B1 (ko) * | 2002-10-24 | 2004-07-14 | 한국전자통신연구원 | 대용량 공유 저장장치를 위한 효율적인 스냅샷 수행방법 |
US7421562B2 (en) * | 2004-03-01 | 2008-09-02 | Sybase, Inc. | Database system providing methodology for extended memory support |
US7159072B2 (en) * | 2005-03-24 | 2007-01-02 | Hitachi, Ltd. | Method and apparatus for monitoring the quantity of differential data in a storage system |
RU2325690C1 (ru) * | 2006-09-21 | 2008-05-27 | Андрей Евгеньевич Васильев | Многомерная база данных и способ доступа к многомерной базе данных |
US8117409B2 (en) * | 2006-11-22 | 2012-02-14 | Hitachi, Ltd. | Method and apparatus for backup and restore in a dynamic chunk allocation storage system |
US20080270739A1 (en) * | 2007-04-27 | 2008-10-30 | Hamilton Eric W | Management of copy-on-write fault |
US20090113111A1 (en) * | 2007-10-30 | 2009-04-30 | Vmware, Inc. | Secure identification of execution contexts |
US8745311B2 (en) * | 2008-03-31 | 2014-06-03 | Spansion Llc | Flash memory usability enhancements in main memory application |
US8095770B2 (en) * | 2009-05-08 | 2012-01-10 | Oracle America Inc. | Method and system for mapping data to a process |
US8095772B2 (en) * | 2009-05-08 | 2012-01-10 | Oracle America, Inc. | Large memory pages for shared libraries |
US8327187B1 (en) * | 2009-09-21 | 2012-12-04 | Tilera Corporation | Low-overhead operating systems |
EP2499576A2 (en) * | 2009-11-13 | 2012-09-19 | Richard S. Anderson | Distributed symmetric multiprocessing computing architecture |
US8868510B2 (en) * | 2009-12-03 | 2014-10-21 | Sybase, Inc. | Managing data storage as an in-memory database in a database management system |
GB2480599A (en) * | 2010-05-17 | 2011-11-30 | Tech Universit T Muenchen | Hybrid OLTP and OLAP database |
CN101907989A (zh) * | 2010-06-01 | 2010-12-08 | 南京大学 | 一种基于移动代理的应用无缝迁移方法 |
US9063866B1 (en) * | 2010-07-12 | 2015-06-23 | Vmware, Inc. | Page table data structure for online classification of memory pages based on activity level |
US8458218B2 (en) * | 2010-09-13 | 2013-06-04 | Sybase, Inc. | Incremental data transfer in a database management system |
US8812555B2 (en) * | 2011-06-18 | 2014-08-19 | Microsoft Corporation | Dynamic lock-free hash tables |
CN102402487B (zh) * | 2011-11-15 | 2014-10-22 | 北京天融信科技股份有限公司 | 一种零拷贝接收报文的方法和系统 |
US8868843B2 (en) * | 2011-11-30 | 2014-10-21 | Advanced Micro Devices, Inc. | Hardware filter for tracking block presence in large caches |
US9678863B2 (en) * | 2012-06-12 | 2017-06-13 | Sandisk Technologies, Llc | Hybrid checkpointed memory |
WO2014023000A1 (zh) * | 2012-08-09 | 2014-02-13 | 华为技术有限公司 | 分布式数据处理方法及装置 |
US9292294B2 (en) * | 2012-09-27 | 2016-03-22 | Intel Corporation | Detection of memory address aliasing and violations of data dependency relationships |
US10210175B2 (en) * | 2012-09-28 | 2019-02-19 | Oracle International Corporation | Techniques for lifecycle state management and in-database archiving |
US9569612B2 (en) * | 2013-03-14 | 2017-02-14 | Daniel Shawcross Wilkerson | Hard object: lightweight hardware enforcement of encapsulation, unforgeability, and transactionality |
US20140351239A1 (en) * | 2013-05-23 | 2014-11-27 | Microsoft Corporation | Hardware acceleration for query operators |
JP6336090B2 (ja) | 2014-01-02 | 2018-06-06 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | データベースシステムにおけるオンライン分析処理のためのデータを維持する方法および装置 |
CN106537345B (zh) * | 2014-06-13 | 2020-10-13 | 皮沃塔尔软件公司 | 在多进程计算环境中精确跟踪内存使用 |
US9916095B2 (en) * | 2015-03-27 | 2018-03-13 | Kove Ip, Llc | Fork-safe memory allocation from memory-mapped files with anonymous memory behavior |
WO2016118620A1 (en) * | 2015-01-20 | 2016-07-28 | Ultrata Llc | Object memory data flow triggers |
EP3079064B1 (en) | 2015-04-07 | 2017-11-29 | Huawei Technologies Co., Ltd. | Method and apparatus for tracking objects in a first memory |
EP3079079B8 (en) | 2015-04-07 | 2022-04-27 | Huawei Technologies Co., Ltd. | Method, apparatus and data structure for copying values of a table of a database |
US9804803B2 (en) * | 2015-08-20 | 2017-10-31 | Sap Se | Data access in hybrid main memory systems |
US9886398B2 (en) * | 2015-12-01 | 2018-02-06 | International Business Machines Corporation | Implicit sharing in storage management |
-
2015
- 2015-05-13 EP EP15167493.4A patent/EP3093773B1/en active Active
- 2015-05-13 EP EP18194685.6A patent/EP3451197B1/en active Active
- 2015-11-02 RU RU2017104121A patent/RU2676018C2/ru active
- 2015-11-02 JP JP2017516691A patent/JP6365858B2/ja active Active
- 2015-11-02 WO PCT/EP2015/075405 patent/WO2016180504A1/en active Application Filing
- 2015-11-02 CN CN201580079661.0A patent/CN107533549B/zh active Active
-
2017
- 2017-09-11 US US15/700,564 patent/US10417097B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN107533549B (zh) | 2020-09-08 |
JP6365858B2 (ja) | 2018-08-01 |
EP3093773B1 (en) | 2019-07-10 |
CN107533549A (zh) | 2018-01-02 |
US10417097B2 (en) | 2019-09-17 |
RU2017104121A3 (ru) | 2018-08-08 |
EP3093773A1 (en) | 2016-11-16 |
RU2676018C2 (ru) | 2018-12-25 |
EP3451197A1 (en) | 2019-03-06 |
EP3451197B1 (en) | 2021-08-25 |
US20170371748A1 (en) | 2017-12-28 |
WO2016180504A1 (en) | 2016-11-17 |
JP2017529632A (ja) | 2017-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2017104121A (ru) | Система и способ для создания выборочных моментальных снимков базы данных | |
KR102010508B1 (ko) | 소스 코드 파일을 업데이트하는 시스템 및 방법 | |
CN103984582A (zh) | 一种热更新方法和装置 | |
US9639343B2 (en) | Method for altering execution of a program, debugger, and computer-readable medium | |
WO2014134990A1 (en) | Method, device and computer-readable storage medium for closure testing | |
US8769498B2 (en) | Warning of register and storage area assignment errors | |
US9170827B2 (en) | Configuration file compatibility | |
CN108334333B (zh) | 一种源代码库更新方法及装置 | |
US9778969B2 (en) | Automatic memory leak detection | |
JPH0565892B2 (ru) | ||
JP2017045144A5 (ru) | ||
CN107948227B (zh) | 分布式系统平台的性能优化方法及装置 | |
KR101628436B1 (ko) | 가상 머신의 데이터 처리 방법 | |
EP2960798A1 (en) | Automatic memory leak detection | |
CN108008981B (zh) | 一种片上系统SoC中进行程序初始化的方法和装置 | |
US9672040B2 (en) | Apparatus and method for determining a cumulative size of trace messages generated by a plurality of instructions | |
WO2015163219A1 (ja) | 制御装置 | |
KR101961818B1 (ko) | 프로세스 중단 없는 메모리 랜덤화 방법 및 이를 수행하기 위한 컴퓨팅 장치 | |
JP6927863B2 (ja) | レジスタ最適化装置及びレジスタ最適化方法 | |
JP6525267B2 (ja) | 範囲外参照検出装置、方法およびプログラム | |
JPH02220145A (ja) | プログラムトレース方式 | |
JPH05297911A (ja) | シーケンスコントローラ用シーケンス制御回路 | |
KR20230086248A (ko) | Plc를 위한 사용자 지정 어드레스 변수의 처리 방법 | |
WO2019171425A1 (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム | |
US9678776B2 (en) | Suppress newer facilities when simulating an older machine |