RU2017104121A - Система и способ для создания выборочных моментальных снимков базы данных - Google Patents

Система и способ для создания выборочных моментальных снимков базы данных Download PDF

Info

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
Application number
RU2017104121A
Other languages
English (en)
Other versions
RU2017104121A3 (ru
RU2676018C2 (ru
Inventor
Елизер ЛЕВИ
Антониос ИЛИОПУЛОС
Шай ГОЙКХМАН
Израэль ГОЛД
Original Assignee
Хуавэй Текнолоджиз Ко., Лтд.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Хуавэй Текнолоджиз Ко., Лтд. filed Critical Хуавэй Текнолоджиз Ко., Лтд.
Publication of RU2017104121A3 publication Critical patent/RU2017104121A3/ru
Publication of RU2017104121A publication Critical patent/RU2017104121A/ru
Application granted granted Critical
Publication of RU2676018C2 publication Critical patent/RU2676018C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/1407Checkpointing the instruction stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency 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.
RU2017104121A 2015-05-13 2015-11-02 Система и способ для создания выборочных моментальных снимков базы данных RU2676018C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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