This application claims benefit of priority of European application no. ______ titled “Database System and Method for External Backup”, filed Jun. 22, 2007, and whose inventors are Andreas Schmidt, Harald Schöning and Wolfgang Obmann.
European application no. ______ titled “Database System and Method for External Backup”, filed Jun. 22, 2007, and whose inventors are Andreas Schmidt, Harald Schöning and Wolfgang Obmann, is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
The present application relates to a database system comprising database logic and a backup interface for external backup.
Databases are very important technical tools of modern information societies. Typically, databases are constantly accessed by a number of clients deleting, adding or changing the content of the database. For example in case of a database of a financial institution, there is a continuous flow of transactions performed on the database, which requires the correct technical processing of the corresponding data.
For security reasons it is imperative that backups of parts or the overall database are performed so that none or only non-essential data is lost, in case of a failure in the hardware and/or software of the database system. To this end, it is known in the art to provide backup systems such as mirrored disks, tape streamers or any other combination of hardware and software, which is capable to reliably backup the data of the database system. Such a backup system can be provided internally and therefore be tightly integrated into the operation of the database system. In some situations, however, it is preferable to connect the database system to an external backup system. One reason is that such a backup system might be in a remote place thereby increasing the security for the stored data. Further, manufacturers of external backup systems are highly specialized and may be able to provide an amount of security for the stored data, which cannot be provided by an internal backup system.
Performing a backup of a database system with an external backup system requires typically a high amount of manual work in order to select the various volumes of data to be saved and their destination directories for the backup. Similar efforts are needed to restore the data in a decoupled fashion. Further, the database administrators must put the database in a synchronized state before they can manually perform a backup or a restore.
Alternatively, a lot of programming effort is needed to provide a special interface allowing the database system to directly access a certain external backup system. Whenever the external backup system changes, for example if the content of the database exceeds the capabilities of a certain external backup system, this binding process and all the related effort must be repeated so that the database system can cooperate with the new external backup system.
In view of the above, it is the technical problem underlying one aspect of the present invention to provide a database system which facilitates the binding to new external backup systems in order to overcome at least some of the disadvantages of the prior art.
This problem is solved by a method according to claim 1 of the present application. In one embodiment, the database system comprises a database logic adapted to perform database processing and a backup interface for external backup, wherein the backup interface is adapted to connect the database system to a plurality of different external backup systems and wherein the backup interface is adapted to receive one or more plugged-in functions of the different external backup systems.
The database logic communicates with the backup interface using only a predefined set of extension points, at least some of the extension points being adapted for being implemented by one or more of the plugged-in functions of each of the different external backup systems.
Accordingly, the described embodiment provides a number of designated extension points for a defined backup interface enabling a database system to connect to a variety of external backup systems. The standardized interface allows to strictly divide hardware specific aspects of the backup process from the database logic. The plugged-in functions need only to implement the storage specific methods for realizing at least some of the extension points. On the side of the external backup system there is no need to care about database synchronisation or other steps, which may be necessary for the database logic to perform prior to initiating a backup process or a restore process.
The standardized backup interface is preferably specifically adapted for the support of databases. To this end, the preconfigured data are handed over in the form of parameter=value. Further, the name of the backup and the name of the database can be added.
In one embodiment, the database system further comprises a graphical user interface for the control of an external backup, wherein the content of the graphical user interface is at least partly driven by one or more of the plugged-in functions of at least one of the different external backup systems. To this end, the database system may comprise a registry, the registry being adapted to receive entries for the one or more connected external backup systems. Accessing the registry, the graphical user interface can therefore present different backup controls, which are specific for a certain external backup system. As a result, the database system flexibly adapts its user interface to the one or more backup systems, which are presently connected.
Further, the set of extension points may comprise an extension point METHOD, which provides a string for each of the plurality of different external backup systems, the registry being adapted to store the string. Again, the graphical user interface may comprise a configuration screen for an external backup, wherein the screen is adapted to present the string.
The database system may further comprise an extension point PARAMETER, which provides one or more pairs of parameters and their values, which may be specific for one of the external backup systems. The graphical user interface can then comprise a configuration screen for the external backup, wherein the screen is adapted to set the value(s) of the one or more pairs of parameters.
In addition, the database system may further comprise a BACKUP START extension point, a BACKUP PROCESS extension point, a BACKUP END extension point and a BACKUP RESTORE extension point, which prepare, process, finalize and restore a database backup using one of the different external backup systems.
According to another aspect, the present invention is directed to a method of performing a backup of a database using a database system as described above. The method could be implemented using a computer program with suitable instructions stored on a computer readable memory medium.
In the following detailed description, presently preferred embodiments are described with reference to the following figures:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
In the following, an embodiment of the present invention is described with reference to an XML database, in particular the Tamino database, of applicant. However, it is to be understood that embodiments of the present invention can be used for any kind of database system regardless of its specific design or content. In particular, the database can be centralized or distributed and can be managed using one or more servers. None of these implementation details is essential for the present invention.
As indicated by the dashed lines, there might be more than one backup system connected to the database system at the same time. The external backup systems may comprise suitable hard- and software such as a SAN (storage area network) or any other arrangement, which can be used for backup, for example for taking a snapshot of a certain file system or for mirroring a disk or a volume of the database system to another disk with a subsequent split.
The external backup systems 11 on their side comprise one or more plug-in functions 12. The functions 12 may be closely related to the extension points and directly implement them. In one embodiment, they are implemented as .dll files and stored in a suitable library (not shown in
In the following, it will be explained with respect to the flow charts of
To make a new external backup system 11 known to the database system 1, there are two extension points 6 and 7 for its configuration, which are called extension point METHOD and PARAMETER. They allow to define the environment for the respective backup system. Subsequently, the administration GUI of the database is able to find appropriate entries to configure and initiate database backups using the respective system and the administration GUI can show corresponding GUI elements.
As indicated by the flowchart of
The GUI is able to present these names based on information in the registry 15.
If the METHOD extension point 6 is available, i.e. an external backup system can be identified, the Tamino's Administration GUI is able to retrieve configuration parameters. Then the PARAMTER extension point 7 has the task to obtain backup specific parameters as pairs of name/value. The parameters are in general very specific to the storage system. For example a so-called NetApp backup system would deliver the name of the filer and the name of the volume, where the database is located. The parameters will be permanently stored in the database's registry.
Since plug-in functions are used for the implementation of the extension points, it is possible that these functions also drive the GUI of the database manager.
After identification and configuration a newly connected external backup system is ready for use. This is explained in the following with reference to the flowcharts of
However, at this point the database system is not in a synchronized state. Therefore, the database logic 5 will bring the database system into a synchronized state, for example by closing any open tasks and no longer accepting any further tasks. This is schematically indicated by the step 103 in
In the next step 105, the BACKUP PROCESS extension point 9 is called by the database logic. The BACKUP PROCESS extension point 9 is designed to execute a database saving in the hardware specific way. Here, a file system snapshot can be performed or a mirror can be split to be used as a backup medium. Calling this extension point after synchronization, the database system is in a state where the data to be freezed is reliable, i.e. no writes to the database will occur. After the backup processing is finished, the database continues its normal operation and is no longer in synchronized state (cf. step 107 in
The BACKUP END extension point 10 is called in step 109. It enables a final processing of the saved data. The specific implementation of step 109 by an external backup system can do final processing with its created backup medium. Alternatively, this extension point is called, if some error occurred for cleanup. The process ends in step 111.
After the described backup processing has been successfully completed, an entry can be made in the list of backups (no shown) like after any internal database backup. Each backup list entry can be selected by the Tamino Administration GUI, mainly for performing a database restore operation, which will be described below with reference to
The RESTORE extension point 17 is designed to restore the database from the specific hardware storage previously saved with the corresponding BACKUP extension points. As can be seen from the flow chart of
It is to be noted that the whole backup and restore process can thus be controlled by the database logic 5 of the database system 1 without any adaptation to the specific backup system presently connected. On the contrary, the backup interface 20 with its extension points and the plug-in functions of the various external backup systems 11 allow to flexibly change from one external backup system 11 to another with a minimum amount of configuration effort.
Further modifications and alternative embodiments of various aspects of the invention may be apparent to those skilled in the art in view of this description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the general manner of carrying out the invention. It is to be understood that the forms of the invention shown and described herein are to be taken as embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed, and certain features of the invention may be utilized independently, all as would be apparent to one skilled in the art after having the benefit of this description of embodiments of the invention. Changes may be made in the elements described herein without departing from the spirit and scope of the invention as described in the following claims.
Number | Date | Country | Kind |
---|---|---|---|
07 012 270.0 | Jun 2007 | EP | regional |