RU2208834C2 - Способ и система восстановления целостности базы данных в системе секционированных баз данных без разделения ресурсов с использованием виртуальных дисков коллективного использования и машиночитаемый носитель для них - Google Patents
Способ и система восстановления целостности базы данных в системе секционированных баз данных без разделения ресурсов с использованием виртуальных дисков коллективного использования и машиночитаемый носитель для них Download PDFInfo
- Publication number
- RU2208834C2 RU2208834C2 RU99127432/09A RU99127432A RU2208834C2 RU 2208834 C2 RU2208834 C2 RU 2208834C2 RU 99127432/09 A RU99127432/09 A RU 99127432/09A RU 99127432 A RU99127432 A RU 99127432A RU 2208834 C2 RU2208834 C2 RU 2208834C2
- Authority
- RU
- Russia
- Prior art keywords
- node
- database
- access
- storage device
- data
- Prior art date
Links
Images
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Abstract
Изобретение относится к компьютерным системам доступа к базам данных. Его использование позволяет получить технический результат в виде снижения непроизводственных затрат на обработку при восстановлении целостности базы данных, нарушенной в результате сбоя в системе обеспечения доступа к базам данных, имеющей множество узлов доступа к базе данных. Технический результат достигается благодаря тому, что на первом узле доступа к базе данных запускают первый экземпляр базы данных, при этом первый и второй узлы доступа имеют соединенное с ними обоими запоминающее устройство для хранения первых данных для первого экземпляра базы данных; осуществляют обнаружение сбоя в первом узле доступа; предоставляют доступ к первым данным, хранящимся в одном запоминающем устройстве, третьему узлу доступа через второй узел доступа и запускают первый экземпляр базы данных на третьем узле доступа с предоставлением доступа к первым данным через второй узел, восстанавливая тем самым целостность базы данных, нарушенную в результате сбоя в первом узле доступа. 4 с. и 27 з.п. ф-лы, 6 ил.
Description
Изобретение относится к компьютерным системам доступа к базам данных. В частности, изобретение относится к способу и системе восстановления целостности базы данных, нарушенной в результате возникшего в узле доступа к базе данных сбоя в системе доступа к базам данных без разделения ресурсов, а также к соответствующему для них машиночитаемому носителю.
В современных компьютерных системах часто используется множество отдельных процессоров или узлов, связанных между собой через общую коммуникационную сеть. В таких системах часто хранится и обрабатывается огромное количество информации. Помимо оборудования для обработки данных в каждом узле обычно имеются цифровые запоминающие устройства (например, магнитные диски) для хранения такой информации. При этом информация часто представляется (упорядочивается) в виде базы данных, которая занимает доступное для ее хранения пространство памяти в различных узлах системы.
Выбор того или иного подхода к распределению необходимой для хранения базы данных памяти и к обеспечению доступа к базе данных в компьютерной системе со множеством узлов зависит от требований, предъявляемых к конкретной системе. Однако некоторые требования являются общими для большинства систем. Все данные в базе данных должны быть доступны для каждого узла в системе. Для эффективной работы системы непроизводительные затраты, связанные с сохранением и обработкой данных, необходимо поддерживать на минимальном уровне, а стратегия хранения/доступа к информации в общем случае должна защищать систему от сбоев и неполадок, возникающих в каждом отдельном узле.
В современных системах используются два основных подхода к распределению памяти для хранения или секционирования баз данных. Первый из них, предусматривающий совместное использование данных, предполагает обеспечение физического доступа ко всем дискам из любого узла системы. Однако для сохранения когерентности, или связности, базы данных в таких системах необходимо использовать списки глобальных блокировок или изменений, предотвращающих возможность изменения части базы данных двумя узлами путем внесения в эту часть противоречивых данных.
Второй подход к хранению данных предполагает физическое разбиение или секционирование данных по отдельным разделам и распределение полученных разделов между узлами, которые становятся ответственными за этот раздел базы данных и которые называют также узлами-владельцами раздела базы данных, и такие узлы становятся в системе также ответственными за осуществление тех транзакций, в которые вовлекаются их соответствующие собственные разделы базы данных.
Такой метод, "не предполагающий разделения ресурсов", требует дополнительных, связанных с обменом данными непроизводительных затрат времени, необходимых для того, чтобы обеспечить доступ ко всем данным во всех узлах системы. Запрашивающий узел должен выдавать запросы на узел, который является владельцем запрошенного раздела базы данных. Последний либо (I) обрабатывает поступивший запрос к базе данных, относящийся к хранящемуся в нем разделу этой базы данных (т.е. осуществляет функциональную пересылку), либо (II) сам передает данные на пославший запрос узел (т.е. осуществляет пересылку по схеме ввод-вывод).
Проблема, возникающая при таком подходе, не предполагающем разделения ресурсов, связана с тем, что возможный сбой в одном из узлов системы приводит к неспособности этого узла принимать или обрабатывать запросы к относящемуся к нему разделу базы данных.
В настоящее время известны два основных метода восстановления целостности базы данных, нарушенной в результате сбоя, возникшего в узле системы базы данных без разделения ресурсов, а именно: (I) асинхронное тиражирование (или дублирование), когда обновления данных передаются асинхронно в тиражируемую копию или реплику базы данных (см., например, работу A. Bhide, A. Goyal, H. Hsiao и A. Jhingran "An Efficient Scheme for Providing High Availability", SIGMOD '92, стр. 236-245, включенную в настоящее описание в качестве ссылки), и (II) восстановление со спаренного узла (так называемого узла-"партнера"), с которым диски поврежденного узла связаны двухразветвленной связью. Использование таких двухразветвленных связей для соединения дисков узла, в работе которого произошел сбой, со спаренными узлами обработки информации известно в данной области техники и предусматривает физическое соединение одного диска с несколькими узлами обработки. В первом варианте двухразветвленного соединения только один узел является активным и получает доступ к диску в любой момент времени. В другом варианте двухразветвленного соединения обоим узлам разрешен одновременный доступ к диску, но при этом во избежание нарушения целостности базы данных используются соответствующие протоколы по предотвращению/разрешению конфликтных ситуаций.
Основное преимущество метода (I) заключается в возможности восстановить целостность базы данных, нарушенную в результате сбоя либо диска, либо узла, однако основной недостаток этого метода заключается в необходимости зеркально дублировать данные, что предполагает удвоение емкости дисковой памяти, и в увеличении непроизводительных затрат, которые в процессе нормальной, без сбоев, работы системы обусловлены выполнением операций, необходимых для передачи данных в тиражируемую копию. Основное преимущество метода (II) состоит в отсутствии дополнительных непроизводительных затрат в процессе нормальной работы, однако главный недостаток этого метода заключается в том, что после возникновения сбоя нагрузка на спаренный узел возрастает в два раза, в результате чего производительность всего кластера может снизиться вдвое, поскольку "узким местом" для всего кластера является поиск запросов или вызов функций по обработке транзакций в узле, спаренным с давшим сбой узлом.
Таким образом, в данной области техники существует необходимость в разработке такого способа восстановления целостности базы данных, нарушенной в результате возникшего в узле обработки информации сбоя в системе обеспечения доступа к базам данных без разделения ресурсов, который не требовал бы значительных непроизводительных затрат на обработку в процессе нормальной работы системы или использования дополнительного объема памяти для полного тиражирования данных.
В настоящем изобретении предлагается способ восстановления целостности базы данных, нарушенной в результате возникшего в узле доступа к базе данных сбоя, в частности способ и система восстановления целостности базы данных, нарушенной в результате возникшего в первом узле доступа к базе данных сбоя, в системе обеспечения доступа к базам данных, имеющей множество таких узлов доступа к базе данных. При этом на первом узле доступа к базе данных до возникновения на нем сбоя запущен первый экземпляр базы данных. Первый и второй узлы доступа к базе данных имеют первое соединенное с ними обоими запоминающее устройство для хранения первых данных для первого экземпляра базы данных. При обнаружении сбоя в первом узле третьему узлу предоставляется доступ через второй узел к первым данным. Затем первый экземпляр базы данных запускается на третьем узле с предоставлением ему доступа через второй узел к первым данным, хранящимся в первом запоминающем устройстве. Тем самым обеспечивается восстановление целостности базы данных, нарушенной в результате сбоя в первом узле.
Согласно одному из предпочтительных вариантов осуществления изобретения осуществляется копирование первых данных с первого запоминающего устройства во второе запоминающее устройство, соединенное с третьим узлом доступа к базе данных. Когда первый экземпляр базы данных запущен и выполняется на третьем узле, последующие обновления первого экземпляра базы данных могут зеркально отображаться (дублироваться) на первое запоминающее устройство и на скопированные данные, хранящиеся во втором запоминающем устройстве. После перезапуска первого узла доступа к базе данных его можно сделать в системе обеспечения доступа к базе данных запасным узлом, который будет использоваться для доступа к базе данных при возможном последующем возникновении сбоев в других узлах.
Первое запоминающее устройство образовано двумя запоминающими устройствами, каждое из которых двухразветвленным соединением связано с первым и вторым узлами доступа к базе данных.
Для обеспечения доступа к первым данным через второй узел предпочтительно использовать сервисную программу виртуального диска коллективного использования, имеющую серверную часть на втором узле и клиентскую часть на третьем узле.
Поскольку на втором узле также может быть запущен и выполняться его собственный второй экземпляр базы данных, доступ ко вторым данным, относящимся ко второму экземпляру базы данных, можно предоставить четвертому узлу через второй узел. В этом случае второй экземпляр базы данных может быть запущен на четвертом узле с предоставлением доступа ко вторым данным, хранящимся в первом запоминающем устройстве, через второй узел. Второй узел после этого должен будет только поддерживать хранящуюся на нем серверную часть, а вся нагрузка, связанная с обработкой соответствующего экземпляра базы данных, может быть полностью переложена со второго узла на третий и четвертый узлы, на которых запущены соответствующие клиентские части сервисной программы виртуального диска коллективного использования.
В изобретении рассмотрены также дополнительные варианты и модификации этого способа, включая восстановление первого экземпляра базы данных на втором узле с одновременной попыткой перезапуска первого узла. Если эта попытка оказывается успешной, то первый экземпляр базы данных вновь запускается на первом узле. В противном же случае этот экземпляр базы данных запускается на втором узле или, как указано выше, на запасном узле.
В настоящем изобретении, таким образом, предлагается эффективный подход к восстановлению целостности базы данных в системе секционированных баз данных без разделения ресурсов, который не требует значительных непроизводительных затрат на обработку при нормальной работе системы или не требует дополнительного объема памяти для полного тиражирования данных.
В изобретении для предложенных способа и системы восстановления целостности базы данных, нарушенной в результате возникшего в первом узле доступа к базе данных сбоя в системе обеспечения доступа к базам данных, предлагается также машиночитаемый носитель, содержащий представленные в машиночитаемом коде программные средства для восстановления целостности базы данных, нарушенной в результате возникшего в первом узле доступа к базе данных сбоя в системе обеспечения доступа к базам данных, имеющей множество таких узлов доступа к базе данных, при этом указанные программные средства в машиночитаемом носителе включают представленные в машиночитаемом коде программные средства для запуска на первом узле доступа к базе данных первого экземпляра базы данных, при этом первый и второй узлы доступа к базе данных имеют по крайней мере одно первое соединенное с ними обоими запоминающее устройство для хранения первых данных для первого экземпляра базы данных, представленные в машиночитаемом коде программные средства для обнаружения сбоя в первом узле доступа к базе данных, представленные в машиночитаемом коде программные средства для предоставления третьему узлу доступа через второй узел к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, и представленные в машиночитаемом коде программные средства запуска первого экземпляра базы данных на третьем узле, включая программные средства для предоставления доступа через второй узел к первым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, с обеспечением тем самым восстановления целостности базы данных, нарушенной в результате сбоя в первом узле.
Ниже изобретение более подробно описано на примере одного из вариантов его осуществления со ссылкой на прилагаемые чертежи, которые показывают:
на фиг. 1 - схему системы обеспечения доступа к базам данных, имеющую множество узлов доступа к базе данных, два запасных узла доступа к базе данных и запоминающее устройство, соединенное по крайней мере с некоторыми из узлов доступа к базе данных,
на фиг.2 - схему, выполненную по первому варианту изобретения системы, в которой после сбоя одного из узлов его экземпляр базы данных запускается на одном из запасных узлов, а доступ к относящемуся к этому экземпляру базы данных осуществляется с помощью сервисной программы виртуального диска коллективного использования на том узле, который соединен с запоминающим устройством, в котором хранятся данные для этого экземпляра базы данных,
на фиг. 3 - блок-схему процедуры, выполняемой при восстановлении целостности базы данных после сбоя на одном из узлов,
на фиг. 4 - другой вариант выполнения настоящего изобретения, согласно которому два экземпляра базы данных запускаются на двух соответствующих запасных узлах, каждый из которых имеет доступ к серверу виртуального диска коллективного использования на другом узле, с которым соединено запоминающее устройство, на котором хранятся данные для обоих экземпляров базы данных,
на фиг.5 - еще один вариант выполнения настоящего изобретения, согласно которому осуществляется копирование данных в запоминающие устройства, связанные с узлами, которые ранее были запасными, что обеспечивает возможность восстановления целостности базы данных в случае возможных будущих сбоев в узлах системы,
на фиг.6 - блок-схему процедуры, которая выполняется в соответствии еще с одним вариантом осуществления настоящего изобретения и согласно которой предпринимается попытка перезагрузки вышедшего из строя узла с одновременным восстановлением соответствующего экземпляра базы данных.
на фиг. 1 - схему системы обеспечения доступа к базам данных, имеющую множество узлов доступа к базе данных, два запасных узла доступа к базе данных и запоминающее устройство, соединенное по крайней мере с некоторыми из узлов доступа к базе данных,
на фиг.2 - схему, выполненную по первому варианту изобретения системы, в которой после сбоя одного из узлов его экземпляр базы данных запускается на одном из запасных узлов, а доступ к относящемуся к этому экземпляру базы данных осуществляется с помощью сервисной программы виртуального диска коллективного использования на том узле, который соединен с запоминающим устройством, в котором хранятся данные для этого экземпляра базы данных,
на фиг. 3 - блок-схему процедуры, выполняемой при восстановлении целостности базы данных после сбоя на одном из узлов,
на фиг. 4 - другой вариант выполнения настоящего изобретения, согласно которому два экземпляра базы данных запускаются на двух соответствующих запасных узлах, каждый из которых имеет доступ к серверу виртуального диска коллективного использования на другом узле, с которым соединено запоминающее устройство, на котором хранятся данные для обоих экземпляров базы данных,
на фиг.5 - еще один вариант выполнения настоящего изобретения, согласно которому осуществляется копирование данных в запоминающие устройства, связанные с узлами, которые ранее были запасными, что обеспечивает возможность восстановления целостности базы данных в случае возможных будущих сбоев в узлах системы,
на фиг.6 - блок-схему процедуры, которая выполняется в соответствии еще с одним вариантом осуществления настоящего изобретения и согласно которой предпринимается попытка перезагрузки вышедшего из строя узла с одновременным восстановлением соответствующего экземпляра базы данных.
Показанная на фиг.1 система 10 обеспечения доступа к базе данных имеет несколько узлов 201,..., 20n доступа к базе данных, каждый из которых в нормальном режиме работает с соответствующим экземпляром БД1,...,БДN базы данных. Связь между узлами осуществляется по соответствующей коммуникационной сети (не показана). Диски 30k и 30k+1 с использованием каналов 25 связи двухразветвленными соединениями связаны со спаренными узлами 20k и 20k+1 доступа к базе данных. Хотя на чертеже показан пример с двухразветвленными связями, однако на практике диски могут быть связаны со множеством узлов доступа к базе данных многоразветвленными соединениями. Таким образом, на фиг.1 показан узел 20k, работающий с экземпляром БДК базы данных, и спаренный с ним узел 20k+1, который работает с экземпляром БДK+1 базы данных.
При нормальной работе системы диски логически разделены по спаренным узлам таким образом, что одному из спаренных узлов логически принадлежит одно подмножество дисков, имеющих двухразветвленные соединения, а другому спаренному узлу - остальные диски. Количество узлов доступа к базе данных в системе может составлять от нескольких десятков до нескольких сотен. Кроме того, в системе имеется несколько запасных узлов 401, 402 доступа к базе данных. Система должна иметь по крайней мере один, но предпочтительно два или даже более таких запасных узлов.
Предлагаемый в изобретении способ восстановления целостности базы данных, нарушенной в результате сбоя в узле доступа к базе данных, иллюстрируется схемой, показанной на фиг.2. На этой схеме показан случай, когда сбой произошел в узле 20k+1, который работает с экземпляром БДK+1 базы данных. По описанному выше известному способу (II) экземпляр БДK+1 базы данных восстанавливался бы на спаренном узле 20k, который после сбоя в узле 20k+1 работал бы с обоими экземплярами БДK и БДK+1 базы данных. Как уже было отмечено выше, при таком способе нагрузка на узел 20k увеличивается вдвое, что приводит к ухудшению эффективности работы всей системы. Схема на фиг.2 иллюстрирует предлагаемый в изобретении способ решения этой проблемы. После возникновения сбоя экземпляр БДK+1 базы данных запускается на отдельном запасном узле 401. Этому экземпляру базы данных все еще необходим доступ к тем же дискам, которые были логически выделены ему перед сбоем. Как показано на фиг. 2, после сбоя диски, которые составляли логический раздел давшего сбой узла 20k+1, реконфигурируются на доступ к ним через спаренный узел 20k по линии 50 связи соответствующей коммуникационной сети (не показана). Такой доступ обеспечивается, например, с помощью сервисной программы восстанавливаемых виртуальных дисков коллективного использования (ВВДКИ), как это описано в заявке на патент США 08/332157, озаглавленной "Application-Transparent Recovery for Virtual Shared Disks". При сбое в одном из узлов ВВДКИ независимо переключается на режим предоставления доступа из любого узла системы к дискам 30k и 30k+1 через спаренный узел 20k. После восстановления с помощью ВВДКИ экземпляр БДK+1 базы данных, с которым работал давший сбой узел, перезапускается на одном из резервных узлов 401. Экземпляру БДK+1 базы данных при этом логически принадлежат те же самые диски, и он обращается к разделу базы данных, экземпляр которой находится на давшем сбой узле, посылая запросы на чтение диска/запись на диск через клиентскую часть ВВДКИ в узле 401 на серверную часть узла 20k. Сервисная программа ВВОД независимо отправляет запросы к узлу 20k и отыскивает требуемую информацию.
При работе системы по способу, показанному на фиг.2, нагрузка на узел 20k соответствует нагрузке на экземпляр БДK базы данных и нагрузке на сервер виртуального диска коллективного использования (ВДКИ), поддерживающего экземпляр БДK+1 базы данных на узле 401. Эта нагрузка будет меньше, чем нагрузка при восстановлении полностью всего экземпляра БД1 базы данных на узле 20k после сбоя. Таким образом, в этом случае эффективность работы системы после сбоя в одном из узлов хотя и несколько снизится за счет двойной нагрузки на узел 20k, поскольку он становится "ответственным" за два экземпляра базы данных, тем не менее пропускная способность системы при этом будет значительно выше, чем при работе системы по известным методам, описанным выше.
На фиг.3 показана блок-схема процедуры, необходимой для реализации способа, который проиллюстрирован на фиг.2. После сбоя в узле 20k+1, что определяется на шаге 100, на следующем шаге 110 в качестве запасного выбирается узел 401, на котором запускается экземпляр БДK+1 базы данных. Полагая, что на диске 30k+1 хранятся разделы, относящиеся к экземпляру БДK+1 базы данных, узел 20k на шаге 120 берет на себя функции по управлению с помощью ВДКИ диском 30k+1.На следующем шаге 130 в узле 401 конфигурируется соответствующая клиентская часть ВДКИ. После этого на шаге 140 все другие узлы системы информируются (путем обновления соответствующих таблиц в системе) о том, что экземпляр БДK+1, будет теперь запускаться на узле 401. Следовательно, все относящиеся к экземпляру БДK+1, запросы будут направляться в узел 401. В завершение на шаге 150 экземпляр БДК+1 базы данных запускается на узле 401.
На фиг. 4 показан несколько модифицированный вариант осуществления настоящего изобретения. На этом чертеже показана схема системы, в которой экземпляр БДK базы данных также перезапускается на другом запасном узле 402 путем предоставления удаленного доступа с помощью ВДКИ к его данным по линии 60 через узел 20k. При запуске обоих экземпляров БДK и БДK+1 базы данных на запасных узлах 402 и 401 нагрузка на узел 20k определяется только той нагрузкой, которая необходима для управления доступами через ВДКИ от обоих этих экземпляров. Проведенные испытания показали, что в такой схеме связанная с управлением ВДКИ нагрузка на узел 20k оказывается меньше, чем при нормальной работе системы. Кроме того, при последовательном доступе пропускная способность ВДКИ практически равна пропускной способности локального диска, и при этом ВДКИ может также поддерживать работу с произвольным доступом. Таким образом, такая схема позволяет системе после выхода из строя узла 20k+1 работать в режиме, близком к нормальному. Такой подход, однако, имеет один недостаток, который заключается в том, что перенос экземпляра БДK базы данных может потребовать его сброса и перезапуска на запасном узле. Степень влияния этого фактора зависит от рабочей нагрузки системы. При решении этой проблемы необходимо учитывать, что сбои в узле 20k+1 в основном, если не полностью, влияют на выполнение запросов, и поэтому сброс и перезапуск экземпляра БДK можно считать вполне допустимыми. При оперативной обработке транзакций выбор будет зависеть от соотношения нагрузок, создаваемых выходом из строя одного узла 20k и сбоем в обоих узлах 20k и 20k+1.
Одной из возможных проблем, присущих такому способу, является проблема реинтеграции после устранения неполадок в узле 20k+1. В простейшем случае сбой в узле 20k+1 может произойти из-за отказа операционной системы, простая перезагрузка которой может привести к восстановлению нормальной работы узла. В идеальном случае систему было бы целесообразно восстанавливать до конфигурации, при которой она могла бы справиться с последующим сбоем (т.е. до конфигурации, в которой имеется достаточное количество запасных узлов). Одной из возможных альтернатив является перенос экземпляров БДK и БДK+1 базы данных снова в узлы 20k и 20k+1 соответственно. Однако для этого обычно требуется сначала удалить экземпляры базы данных, а затем снова перезапустить их в исходных узлах. В изобретении предлагается усовершенствованный способ управления процессом реинтеграции, не предусматривающий сброс или удаление экземпляров баз данных и включающий копирование данных с дисков 30k и 30k+1 на имеющие двухразветвленные соединения 65 (фиг.5) диски 701 и 702 запасных узлов. Реализовать это можно путем одновременного выполнения операций с базой данной после реконфигурации системы в результате отказа. С использованием доступа через ВДКИ данные могут быть зеркально продублированы копированием или отображением на имеющие двухразветвленные соединения диски запасных узлов, а любые осуществляемые одновременно с этим операции по обновлению дисков должны быть зеркально продублированы в узле 20k и бывших запасными узлах 401 и 402. Для специалистов в данной области техники очевидно, что достичь этого можно за счет соответствующей синхронизации процессов. Для возможного восстановления целостности базы данных, нарушенной в результате последующих сбоев в других узлах системы, узлы 20k и 20k+1 можно после этого перевести в разряд запасных.
Как указано выше, для восстановления вышедшего из строя узла 20k+1 до рабочего состояния может оказаться достаточным просто перезагрузить систему. В этом случае может оказаться целесообразным полностью отказаться от передачи функций по управлению другим узлам. Однако в этом случае решение вопроса о необходимости передачи функций по управлению необходимо отложить до того момента, пока не будет выполнен перезапуск вышедшего из строя узла и не будет предпринята попытка его перезагрузки, что соответственно увеличивает время восстановления. Для совмещения во времени операций, необходимых для восстановления, с операцией по возможной перезагрузке вышедшего из строя узла может использоваться процедура, показанная на фиг.6. При отказе узла 20k+1, что определяется на шаге 200, спаренный с ним узел 20k берет на себя функции по управлению дисками этого вышедшего из строя узла и инициирует процесс восстановления, т. е. выполняет на шаге 210 операции по восстановлению файловой системы и по восстановлению экземпляра базы данных с ведением журнала. Во время этого периода восстановления вышедший из строя узел 20k+1 можно попытаться перезагрузить на шаге 220. Если эта попытка окажется удачной (решение "Да" на шаге 230), то узел 20k+1 на шаге 250 возобновляет управление своими первоначальными дисками и локально осуществляет перезапуск своего экземпляра базы данных. Если же попытка перезагрузки окажется неудачной (решение "Нет" на шаге 230), то на шаге 240 соответствующий экземпляр базы данных запускается на спаренном узле 20k или, как сказано выше, на запасном узле. В любом случае перезапуск экземпляра базы данных выполняется немедленно, поскольку восстановление дисков уже выполнено спаренным узлом 20k.
Предлагаемый в настоящем изобретении способ относится к системам обеспечения доступа к базам данных и, в частности, к любой системе секционированной базы данных (без разделения ресурсов).
Настоящее изобретение может быть реализовано в виде промышленно изготавливаемого машиночитаемого носителя (например, в виде одного или нескольких компьютерных программных продуктов), имеющего, например, пригодный для использования с компьютером носитель. Такой носитель может содержать, например, представленные в машиночитаемом коде программные средства, позволяющие достаточно просто реализовать предложенные в настоящем изобретении подходы. Указанный машиночитаемый носитель может быть использован как часть компьютерной системы или поставляться отдельно.
Хотя выше изобретение рассмотрено на примере предпочтительного (ых) варианта (ов) его осуществления, тем не менее следует отметить, что для специалистов в данной области техники должны быть очевидны различные не рассмотренные подробно модификации, которые можно вносить в эти варианты и которые, следовательно, включены в объем изобретения.
Claims (31)
1. Способ восстановления целостности базы данных, нарушенной в результате возникшего в первом узле доступа к базе данных сбоя в системе обеспечения доступа к базам данных, имеющей множество таких узлов доступа к базе данных, заключающийся в том, что на первом узле доступа к базе данных запускают первый экземпляр базы данных, при этом первый и второй узлы доступа к базе данных имеют по крайней мере одно первое соединенное с ними обоими запоминающее устройство для хранения первых данных для первого экземпляра базы данных, осуществляют обнаружение сбоя в первом узле доступа к базе данных, третьему узлу доступа к базе данных предоставляют доступ через второй узел к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, и запускают первый экземпляр базы данных на третьем узле с предоставлением доступа через второй узел к первым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, восстанавливая тем самым целостность базы данных, нарушенную в результате сбоя в первом узле.
2. Способ по п.1, в котором также осуществляют копирование первых данных по крайней мере с одного первого запоминающего устройства по крайней мере в одно второе запоминающее устройство, соединенное с третьим узлом доступа к базе данных, при этом запуск первого экземпляра базы данных на третьем узле включает зеркальное отображение последующих обновлений первого экземпляра базы данных на первые данные, хранящиеся по крайней мере в одном первом запоминающем устройстве, и на скопированные первые данные, хранящиеся по крайней мере в одном втором запоминающем устройстве.
3. Способ по п.1 или 2, в котором после перезапуска первого узла доступа к базе данных этот первый узел делают в системе обеспечения доступа к базе данных первым запасным узлом доступа к базе данных.
4. Способ по любому из пп.1-3, в котором по крайней мере одно первое запоминающее устройство образовано двумя запоминающими устройствами, каждое из которых двухразветвленным соединением связано с первым и вторым узлами доступа к базе данных.
5. Способ по любому из пп.1-3, в котором по крайней мере одно первое запоминающее устройство образовано несколькими запоминающими устройствами, каждое из которых в системе обеспечения доступа к базе данных многоразветвленным соединением связано с первым, вторым и другими узлами доступа к базе данных.
6. Способ по любому из предыдущих пунктов, в котором первые данные представляют собой раздел секционированной базы данных без разделения ресурсов, являющейся резидентной в системе обеспечения доступа к базе данных.
7. Способ по любому из предыдущих пунктов, в котором для предоставления третьему узлу доступа к первым данным используют сервисную программу виртуального диска коллективного использования, имеющую серверную часть на втором узле и клиентскую часть на третьем узле.
8. Способ по любому из предыдущих пунктов, в котором третий узел делают в системе обеспечения доступа к базе данных запасным узлом доступа к базе данных.
9. Способ по любому из предыдущих пунктов, в котором перед обнаружением сбоя в первом узле запускают второй экземпляр базы данных на втором узле, при этом вторые данные для второго экземпляра базы данных хранятся по крайней мере в одном первом запоминающем устройстве, а после обнаружения сбоя в первом узле предоставляют доступ четвертому узлу ко вторым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, через второй узел и запускают второй экземпляр базы данных на четвертом узле с предоставлением доступа ко вторым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, через второй узел.
10. Способ по п.9, в котором первые данные и вторые данные копируют по крайней мере с одного первого запоминающего устройства по крайней мере в одно второе запоминающее устройство, соединенное как с третьим, так и с четвертым узлами, при этом запуск первого экземпляра базы данных на третьем узле включает зеркальное отображение последующих обновлений первого экземпляра базы данных на первые данные, хранящиеся по крайней мере в одном первом запоминающем устройстве, и на скопированные первые данные, хранящиеся по крайней мере в одном втором запоминающем устройстве, а запуск второго экземпляра базы данных на четвертом узле включает зеркальное отображение последующих обновлений второго экземпляра базы данных на вторые данные, хранящиеся по крайней мере в одном первом запоминающем устройстве, и на скопированные вторые данные, хранящиеся по крайней мере в одном втором запоминающем устройстве.
11. Способ по п. 9 или 10, в котором после перезапуска первого узла доступа к базе данных этот первый узел делают в системе обеспечения доступа к базе данных первым запасным узлом доступа к базе данных, а второй узел делают в системе обеспечения доступа к базе данных вторым запасным узлом доступа к базе данных.
12. Способ по любому из пп. 9-11, в котором первые и вторые данные представляют собой соответствующие разделы секционированной базы данных без разделения ресурсов, являющейся резидентной в системе обеспечения доступа к базе данных.
13. Способ по любому из пп.9-12, в котором для предоставления четвертому узлу доступа ко вторым данным используют сервисную программу виртуального диска коллективного использования, имеющую серверную часть на втором узле и первую клиентскую часть на четвертом узле.
14. Способ по п.13, в котором для предоставления третьему узлу доступа к первым данным используют сервисную программу виртуального диска коллективного использования, имеющую серверную часть на втором узле и вторую клиентскую часть на третьем узле.
15. Способ по п.10, в котором третий узел и четвертый узел делают в системе обеспечения доступа к базе данных запасными узлами доступа к базе данных.
16. Способ восстановления целостности базы данных, нарушенной в результате возникшего в первом узле доступа к базе данных сбоя в системе обеспечения доступа к базам данных, имеющей множество таких узлов доступа к базе данных, заключающийся в том, что на первом узле доступа к базе данных запускают первый экземпляр базы данных, при этом первый и второй узлы доступа к базе данных имеют по крайней мере одно соединенное с ними обоими запоминающее устройство для хранения первых данных для первого экземпляра базы данных, осуществляют обнаружение сбоя в первом узле доступа к базе данных, осуществляют восстановление первого экземпляра базы данных на втором узле с предоставлением доступа к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, через второй узел, во время этого восстановления первого экземпляра базы данных предпринимают попытку перезапуска первого узла и, если эта попытка приводит к успешному перезапуску первого узла, затем перезапускают первый экземпляр базы данных на первом узле с предоставлением доступа к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, через первый узел либо, если эта попытка не приводит к успешному перезапуску первого узла, затем перезапускают первый экземпляр базы данных на втором узле с предоставлением доступа к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, через второй узел, восстанавливая тем самым целостность базы данных, нарушенную в результате сбоя в первом узле.
17. Способ по п.16, в котором по крайней мере одно запоминающее устройство образовано двумя запоминающими устройствами, каждое из которых двухразветвленным соединением связано с первым и вторым узлами доступа к базе данных.
18. Способ по п.16, в котором по крайней мере одно запоминающее устройство образовано несколькими запоминающими устройствами, каждое из которых в системе обеспечения доступа к базе данных многоразветвленным соединением связано с первым, вторым и другими узлами доступа к базе данных.
19. Способ по любому из пп.16-18, в котором первые данные представляют собой раздел секционированной базы данных без разделения ресурсов, являющейся резидентной в системе обеспечения доступа к базе данных.
20. Способ по п.16, в котором осуществляют восстановление первого экземпляра базы данных на втором узле с предоставлением доступа к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, через второй узел, во время этого восстановления первого экземпляра базы данных предпринимают попытку перезапуска первого узла и, если эта попытка приводит к успешному перезапуску первого узла, затем перезапускают первый экземпляр базы данных на первом узле с предоставлением доступа к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, через первый узел либо, если эта попытка не приводит к успешному перезапуску первого узла, затем предоставляют третьему узлу доступ к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, через второй узел и запускают первый экземпляр базы данных на третьем узле с предоставлением доступа к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, через второй узел.
21. Система восстановления целостности базы данных, нарушенной в результате возникшего в первом узле доступа к базе данных сбоя в системе обеспечения доступа к базам данных, имеющей множество таких узлов доступа к базе данных, включающая средства для запуска первого экземпляра базы данных на первом узле доступа к базе данных, при этом первый и второй узлы доступа к базе данных имеют по крайней мере одно первое соединенное с ними обоими запоминающее устройство для хранения первых данных для первого экземпляра базы данных, средства обнаружения сбоя в первом узле доступа к базе данных, средства предоставления третьему узлу доступа через второй узел к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, и средства для запуска первого экземпляра базы данных на третьем узле, включая средства предоставления доступа через второй узел к первым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, что обеспечивает тем самым восстановление целостности базы данных, нарушенной в результате сбоя в первом узле.
22. Система по п.21, в которой по крайней мере одно первое запоминающее устройство образовано двумя запоминающими устройствами, каждое из которых двухразветвленным соединением связано с первым и вторым узлами доступа к базе данных.
23. Система по п.21, в которой по крайней мере одно первое запоминающее устройство образовано несколькими запоминающими устройствами, каждое из которых в системе обеспечения доступа к базе данных многоразветвленным соединением связано с первым, вторым и другими узлами доступа к базе данных.
24. Система по любому из пп.21-23, в которой первые данные представляют собой раздел секционированной базы данных без разделения ресурсов, являющейся резидентной в системе обеспечения доступа к базе данных.
25. Система по любому из пп.21-24, в которой средства предоставления третьему узлу доступа к первым данным включают сервисную программу виртуального диска коллективного использования, имеющую серверную часть на втором узле и клиентскую часть на третьем узле.
26. Система по любому из пп.21-25, в которой также имеются средства для запуска перед обнаружением сбоя в первом узле второго экземпляра базы данных на втором узле, при этом вторые данные для второго экземпляра базы данных хранятся по крайней мере в одном первом запоминающем устройстве, средства предоставления четвертому узлу после обнаружения сбоя в первом узле доступа ко вторым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, через второй узел и средства запуска второго экземпляра базы данных на четвертом узле, включая средства предоставления доступа ко вторым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, через второй узел.
27. Машиночитаемый носитель, содержащий представленные в машиночитаемом коде программные средства для восстановления целостности базы данных, нарушенной в результате возникшего в первом узле доступа к базе данных сбоя в системе обеспечения доступа к базам данных, имеющей множество таких узлов доступа к базе данных, при этом указанные программные средства в машиночитаемом носителе включают представленные в машиночитаемом коде программные средства для запуска на первом узле доступа к базе данных первого экземпляра базы данных, при этом первый и второй узлы доступа к базе данных имеют по крайней мере одно первое соединенное с ними обоими запоминающее устройство для хранения первых данных для первого экземпляра базы данных, представленные в машиночитаемом коде программные средства для обнаружения сбоя в первом узле доступа к базе данных, представленные в машиночитаемом коде программные средства для предоставления третьему узлу доступа через второй узел к первым данным, хранящимся по крайней мере в одном запоминающем устройстве, и представленные в машиночитаемом коде программные средства запуска первого экземпляра базы данных на третьем узле, включая программные средства для предоставления доступа через второй узел к первым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, с обеспечением тем самым восстановления целостности базы данных, нарушенной в результате сбоя в первом узле.
28. Машиночитаемый носитель по п.27, в котором первые данные представляют собой раздел секционированной базы данных без разделения ресурсов, являющейся резидентной в системе обеспечения доступа к базе данных.
29. Машиночитаемый носитель по п.27 или 28, в котором программные средства предоставления третьему узлу доступа к первым данным включают сервисную программу виртуального диска коллективного использования, имеющую серверную часть на втором узле и клиентскую часть на третьем узле.
30. Машиночитаемый носитель по любому из пп.27-29, в котором также имеются представленные в машиночитаемом коде программные средства для запуска перед обнаружением сбоя в первом узле второго экземпляра базы данных на втором узле, при этом вторые данные для второго экземпляра базы данных хранятся по крайней мере в одном первом запоминающем устройстве, представленные в машиночитаемом коде программные средства предоставления четвертому узлу после обнаружения сбоя в первом узле доступа ко вторым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, через второй узел и представленные в машиночитаемом коде программные средства для запуска второго экземпляра базы данных на четвертом узле, включая программные средства предоставления доступа ко вторым данным, хранящимся по крайней мере в одном первом запоминающем устройстве, через второй узел.
31. Машиночитаемый носитель по п.27, содержащий представленные в машиночитаемом коде программные средства для восстановления в системе обеспечения доступа к секционированной базе данных без разделения ресурсов целостности базы данных, нарушенной в результате сбоя, возникшего в первом узле из пары таких узлов, с каждым из которых двухразветвленным соединением связано по крайней мере одно запоминающее устройство, при этом первый узел имеет первый экземпляр базы данных, запускаемый на нем, и осуществляет до появления на нем сбоя доступ к первому разделу данных, хранящемуся на указанном по меньшей мере одном запоминающем устройстве, при этом указанные программные средства в промышленном изделии включают представленные в машиночитаемом коде программные средства предоставления третьему узлу доступа через второй узел из пары таких узлов к первому разделу данных, хранящемуся по крайней мере в одном запоминающем устройстве, и представленные в машиночитаемом коде программные средства для запуска на третьем узле первого заменяющего экземпляра базы данных вместо первого экземпляра базы данных, который был запущен на первом узле до возникновения в нем сбоя, включая программные средства предоставления доступа через второй узел к первому разделу данных, хранящемуся по крайней мере в одном запоминающем устройстве, что тем самым обеспечивает восстановление целостности базы данных, нарушенной в результате сбоя в первом узле.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/865,156 US5907849A (en) | 1997-05-29 | 1997-05-29 | Method and system for recovery in a partitioned shared nothing database system using virtual share disks |
US08/865,156 | 1997-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU99127432A RU99127432A (ru) | 2001-09-27 |
RU2208834C2 true RU2208834C2 (ru) | 2003-07-20 |
Family
ID=25344860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU99127432/09A RU2208834C2 (ru) | 1997-05-29 | 1998-05-27 | Способ и система восстановления целостности базы данных в системе секционированных баз данных без разделения ресурсов с использованием виртуальных дисков коллективного использования и машиночитаемый носитель для них |
Country Status (8)
Country | Link |
---|---|
US (1) | US5907849A (ru) |
EP (1) | EP0988596B1 (ru) |
CA (1) | CA2288016C (ru) |
DE (1) | DE69807077T2 (ru) |
HU (1) | HUP0003427A3 (ru) |
PL (1) | PL337021A1 (ru) |
RU (1) | RU2208834C2 (ru) |
WO (1) | WO1998054648A1 (ru) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8181256B2 (en) | 2005-09-30 | 2012-05-15 | Canon Kabushiki Kaisha | Data transmission apparatus, control method therefor, and image input/output apparatus |
RU2526753C1 (ru) * | 2013-06-20 | 2014-08-27 | Закрытое акционерное общество Научно-производственное предприятие "Реляционные экспертные системы" | Способ восстановления данных в системе управления базами данных |
RU2554847C2 (ru) * | 2010-06-15 | 2015-06-27 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Контрольные точки для файловой системы |
RU2565109C2 (ru) * | 2010-07-20 | 2015-10-20 | ЗетТиИ Корпорейшн | Способ и устройство для восстановления резервной базы данных |
RU2625562C2 (ru) * | 2013-06-25 | 2017-07-14 | Сяоми Инк. | Способ и устройство для обновления системы |
RU2665884C2 (ru) * | 2015-02-13 | 2018-09-04 | Хуавэй Текнолоджиз Ко., Лтд. | Способ и устройство для восстановления базы данных резервного узла |
RU2683167C2 (ru) * | 2014-08-07 | 2019-03-26 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Безопасный доступ к данным после сбоя хранилища |
US11169982B2 (en) | 2016-06-30 | 2021-11-09 | Microsoft Technology Licensing, Llc | Dynamic deactivation of cold database in database service |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2756070B1 (fr) * | 1996-11-18 | 1999-01-22 | Bull Sa | Systeme de gestion et de traitement de transactions distribuees d'objets et procede mis en oeuvre par ledit systeme |
US6405198B1 (en) * | 1998-09-04 | 2002-06-11 | International Business Machines Corporation | Complex data query support in a partitioned database system |
US6321238B1 (en) * | 1998-12-28 | 2001-11-20 | Oracle Corporation | Hybrid shared nothing/shared disk database system |
US6873987B1 (en) * | 2000-05-31 | 2005-03-29 | International Business Machines Corporation | Method, system and program products for recovering from failures within a shared nothing distributed computing environment |
KR100471567B1 (ko) * | 2000-07-29 | 2005-03-07 | 엘지전자 주식회사 | 이중화 시스템 환경에서 데이터 동기화를 위한 트랜잭션관리 방법 |
EP1521184A3 (en) * | 2001-06-28 | 2006-02-22 | Oracle International Corporation | Partitioning ownership of a database among different database servers to control access to the database |
US6944785B2 (en) * | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US7730153B1 (en) * | 2001-12-04 | 2010-06-01 | Netapp, Inc. | Efficient use of NVRAM during takeover in a node cluster |
US8234517B2 (en) * | 2003-08-01 | 2012-07-31 | Oracle International Corporation | Parallel recovery by non-failed nodes |
JP2005056077A (ja) * | 2003-08-01 | 2005-03-03 | Hitachi Ltd | データベース制御方法 |
CN100565460C (zh) * | 2003-08-01 | 2009-12-02 | 甲骨文国际公司 | 用于管理数据的方法 |
US7277897B2 (en) * | 2003-08-01 | 2007-10-02 | Oracle International Corporation | Dynamic reassignment of data ownership |
US7281023B2 (en) * | 2003-12-15 | 2007-10-09 | At&T Knowledge Ventures, L.P. | Architecture of database application with robust online recoverability |
US20050283658A1 (en) * | 2004-05-21 | 2005-12-22 | Clark Thomas K | Method, apparatus and program storage device for providing failover for high availability in an N-way shared-nothing cluster system |
US7814065B2 (en) * | 2005-08-16 | 2010-10-12 | Oracle International Corporation | Affinity-based recovery/failover in a cluster environment |
US7778960B1 (en) | 2005-10-20 | 2010-08-17 | American Megatrends, Inc. | Background movement of data between nodes in a storage cluster |
US8010485B1 (en) | 2005-10-20 | 2011-08-30 | American Megatrends, Inc. | Background movement of data between nodes in a storage cluster |
US8010829B1 (en) | 2005-10-20 | 2011-08-30 | American Megatrends, Inc. | Distributed hot-spare storage in a storage cluster |
US7996608B1 (en) | 2005-10-20 | 2011-08-09 | American Megatrends, Inc. | Providing redundancy in a storage system |
US20070130303A1 (en) * | 2005-11-17 | 2007-06-07 | Gary Anna | Apparatus, system, and method for recovering messages from a failed node |
US7809892B1 (en) | 2006-04-03 | 2010-10-05 | American Megatrends Inc. | Asynchronous data replication |
US7702660B2 (en) | 2006-12-12 | 2010-04-20 | Oracle International Corporation | I/O free recovery set determination |
US8498967B1 (en) | 2007-01-30 | 2013-07-30 | American Megatrends, Inc. | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome |
US7908448B1 (en) | 2007-01-30 | 2011-03-15 | American Megatrends, Inc. | Maintaining data consistency in mirrored cluster storage systems with write-back cache |
US8046548B1 (en) | 2007-01-30 | 2011-10-25 | American Megatrends, Inc. | Maintaining data consistency in mirrored cluster storage systems using bitmap write-intent logging |
US8108580B1 (en) | 2007-04-17 | 2012-01-31 | American Megatrends, Inc. | Low latency synchronous replication using an N-way router |
US8510334B2 (en) * | 2009-11-05 | 2013-08-13 | Oracle International Corporation | Lock manager on disk |
US8386431B2 (en) * | 2010-06-14 | 2013-02-26 | Sap Ag | Method and system for determining database object associated with tenant-independent or tenant-specific data, configured to store data partition, current version of the respective convertor |
DE102011018878B3 (de) * | 2011-04-28 | 2012-09-27 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum Synchronisieren der Datenbestände von Datenbanken |
US11030045B2 (en) * | 2015-07-28 | 2021-06-08 | Futurewei Technologies, Inc. | Apparatus and method for utilizing different data storage types to store primary and replicated database directories |
FR3082973B1 (fr) * | 2018-06-22 | 2020-06-05 | Bull Sas | Procede de gestion de panne dans un reseau de noeuds base sur une strategie locale |
FR3082974B1 (fr) * | 2018-06-22 | 2020-06-05 | Bull Sas | Procede de gestion de panne dans un reseau de nœuds base sur une strategie globale |
US20220156163A1 (en) * | 2020-11-13 | 2022-05-19 | Oracle International Corporation | Fault tolerance in scale-out distributed query processing appliance |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3702006A (en) * | 1971-06-09 | 1972-10-31 | Ibm | Method for balancing the utilization of input/output devices |
US4633387A (en) * | 1983-02-25 | 1986-12-30 | International Business Machines Corporation | Load balancing in a multiunit system |
US4769772A (en) * | 1985-02-28 | 1988-09-06 | Honeywell Bull, Inc. | Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases |
JPS62168497A (ja) * | 1986-01-20 | 1987-07-24 | Nec Corp | 交換処理プログラムにおけるデ−タベ−ス処理方式 |
US4925311A (en) * | 1986-02-10 | 1990-05-15 | Teradata Corporation | Dynamically partitionable parallel processors |
US4819159A (en) * | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
JPH0293836A (ja) * | 1988-09-30 | 1990-04-04 | Toshiba Corp | 分散型データベース管理装置 |
US4920487A (en) * | 1988-12-12 | 1990-04-24 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Method of up-front load balancing for local memory parallel processors |
US5269013A (en) * | 1991-03-20 | 1993-12-07 | Digital Equipment Corporation | Adaptive memory management method for coupled memory multiprocessor systems |
US5440727A (en) * | 1991-12-18 | 1995-08-08 | International Business Machines Corporation | Asynchronous replica management in shared nothing architectures |
US5555404A (en) * | 1992-03-17 | 1996-09-10 | Telenor As | Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas |
DE69521101T2 (de) * | 1994-10-31 | 2001-10-18 | Ibm | Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung |
US5696895A (en) * | 1995-05-19 | 1997-12-09 | Compaq Computer Corporation | Fault tolerant multiple network servers |
US5734896A (en) * | 1996-04-30 | 1998-03-31 | Oracle Corporation | Recovery of a remotely initiated distributed prepared transaction by status report from a second database to an external coordinator |
US5764905A (en) * | 1996-09-09 | 1998-06-09 | Ncr Corporation | Method, system and computer program product for synchronizing the flushing of parallel nodes database segments through shared disk tokens |
-
1997
- 1997-05-29 US US08/865,156 patent/US5907849A/en not_active Expired - Lifetime
-
1998
- 1998-05-27 DE DE69807077T patent/DE69807077T2/de not_active Expired - Lifetime
- 1998-05-27 RU RU99127432/09A patent/RU2208834C2/ru not_active IP Right Cessation
- 1998-05-27 EP EP98924454A patent/EP0988596B1/en not_active Expired - Lifetime
- 1998-05-27 WO PCT/GB1998/001548 patent/WO1998054648A1/en not_active Application Discontinuation
- 1998-05-27 CA CA002288016A patent/CA2288016C/en not_active Expired - Fee Related
- 1998-05-27 PL PL98337021A patent/PL337021A1/xx not_active IP Right Cessation
- 1998-05-27 HU HU0003427A patent/HUP0003427A3/hu unknown
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8181256B2 (en) | 2005-09-30 | 2012-05-15 | Canon Kabushiki Kaisha | Data transmission apparatus, control method therefor, and image input/output apparatus |
US8726401B2 (en) | 2005-09-30 | 2014-05-13 | Canon Kabushiki Kaisha | Data transmission apparatus, control method therefor, and image input/output apparatus |
RU2554847C2 (ru) * | 2010-06-15 | 2015-06-27 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Контрольные точки для файловой системы |
RU2565109C2 (ru) * | 2010-07-20 | 2015-10-20 | ЗетТиИ Корпорейшн | Способ и устройство для восстановления резервной базы данных |
RU2526753C1 (ru) * | 2013-06-20 | 2014-08-27 | Закрытое акционерное общество Научно-производственное предприятие "Реляционные экспертные системы" | Способ восстановления данных в системе управления базами данных |
RU2625562C2 (ru) * | 2013-06-25 | 2017-07-14 | Сяоми Инк. | Способ и устройство для обновления системы |
RU2683167C2 (ru) * | 2014-08-07 | 2019-03-26 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Безопасный доступ к данным после сбоя хранилища |
US10545831B2 (en) | 2014-08-07 | 2020-01-28 | Microsoft Technology Licensing, Llc | Safe data access following storage failure |
RU2665884C2 (ru) * | 2015-02-13 | 2018-09-04 | Хуавэй Текнолоджиз Ко., Лтд. | Способ и устройство для восстановления базы данных резервного узла |
US10585895B2 (en) | 2015-02-13 | 2020-03-10 | Huawei Technologies Co., Ltd. | Method and apparatus for reconstructing standby node database |
US11169982B2 (en) | 2016-06-30 | 2021-11-09 | Microsoft Technology Licensing, Llc | Dynamic deactivation of cold database in database service |
Also Published As
Publication number | Publication date |
---|---|
HUP0003427A3 (en) | 2002-03-28 |
DE69807077T2 (de) | 2003-04-30 |
DE69807077D1 (de) | 2002-09-12 |
US5907849A (en) | 1999-05-25 |
CA2288016C (en) | 2004-11-16 |
HUP0003427A2 (hu) | 2001-02-28 |
EP0988596B1 (en) | 2002-08-07 |
WO1998054648A1 (en) | 1998-12-03 |
PL337021A1 (en) | 2000-07-31 |
CA2288016A1 (en) | 1998-12-03 |
EP0988596A1 (en) | 2000-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2208834C2 (ru) | Способ и система восстановления целостности базы данных в системе секционированных баз данных без разделения ресурсов с использованием виртуальных дисков коллективного использования и машиночитаемый носитель для них | |
US5423037A (en) | Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes | |
CN109729129B (zh) | 存储集群系统的配置修改方法、存储集群及计算机系统 | |
US5555404A (en) | Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas | |
KR100326982B1 (ko) | 높은 크기 조정 가능성을 갖는 고 가용성 클러스터 시스템 및 그 관리 방법 | |
EP0953173B1 (en) | Data partitioning and duplication in a distributed data processing system | |
US9798792B2 (en) | Replication for on-line hot-standby database | |
US7779295B1 (en) | Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints | |
US9785691B2 (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster | |
US7840536B1 (en) | Methods and apparatus for dynamic journal expansion | |
US7107411B2 (en) | Apparatus method and system for fault tolerant virtual memory management | |
US8417905B2 (en) | Methods and apparatus for point-in-time volumes | |
US8856091B2 (en) | Method and apparatus for sequencing transactions globally in distributed database cluster | |
US9652346B2 (en) | Data consistency control method and software for a distributed replicated database system | |
EP2643771B1 (en) | Real time database system | |
US7702757B2 (en) | Method, apparatus and program storage device for providing control to a networked storage architecture | |
CN110727709A (zh) | 一种集群数据库系统 | |
CA2619778C (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与系统 | |
CN115858679A (zh) | 一种数据中心之间的数据同步方法、装置、设备及介质 | |
JPH0895838A (ja) | データの二重書込み制御方法 | |
Zhang et al. | A High Availability and Disaster Recovery System | |
CZ9904221A3 (cs) | Způsob a systém pro obnovu v rozděleném databázovém systému bez sdílených prostředků pomocí virtuálních sdílených disků | |
JPH07302217A (ja) | 分散処理システムにおけるファイルの障害復旧方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20070528 |