US-20260127081-A1 - SYSTEM AND METHOD FOR BACKUP AND RESTORATION OF A VIRTUAL-HOSTED DATABASE SYSTEM
Abstract
A method and system for restoring a digital backup of a database application hosted on a virtual machine are presented. The method includes generating a bootable volume on a new virtual machine, wherein the new virtual machine is different than the virtual machine hosting the database application; importing data from a plurality of files into the bootable volume, wherein the plurality of files are included in a data backup of the digital backup, and wherein each file of the plurality of files is in a column-oriented storage format; and restoring a virtualization backup included in the digital backup into the bootable volume.
Inventors
- Assaf Natanzon
- Yaniv Ptashnik
- Dmitry Kuznetsov
- Ofir Ehrlich
- Peleg Kazaz
- Ron KIMCHI
- Ran Mizrachi
- Sigal Weiner
Assignees
- Eon IO, Ltd.
Dates
- Publication Date
- 20260507
- Application Date
- 20251008
Claims (20)
- 1 . A method for restoring a digital backup of a database application hosted on a virtual machine, comprising: generating a bootable volume on a new virtual machine, wherein the new virtual machine is different than the virtual machine hosting the database application; importing data from a plurality of files into the bootable volume, wherein the plurality of files are included in a data backup of the digital backup, and wherein each file of the plurality of files is in a column-oriented format; and restoring a virtualization backup included in the digital backup into the bootable volume.
- 2 . The method of claim 1 , further comprising: restoring a block-level backup of the virtual machine hosting the database application into the new virtual machine; and importing data from the plurality of files into the new virtual machine.
- 3 . The method of claim 2 , further comprising: zeroing out table data prior to initiating the block-level backup.
- 4 . The method of claim 3 , further comprising: detecting a plurality of software applications in the digital backup, wherein each software application corresponds to a software product key; deploying each of the plurality of software applications on the new virtual machine; and restoring the data associated with the plurality of software applications into the new virtual machine.
- 5 . The method of claim 4 , further comprising: determining that a software application corresponding to a product key has an updated version; and deploying the updated version of the software application on the new virtual machine.
- 6 . The method of claim 1 , wherein the bootable volume is an empty bootable volume.
- 7 . The method of claim 1 , further comprising: generating the data backup of the database application by exporting data stored in the database application to a plurality of files.
- 8 . The method of claim 7 , further comprising: generating the virtualization backup as a file-level backup based on a storage-based snapshot of the virtual machine hosting the database application.
- 9 . The method of claim 1 , wherein data from a plurality of files into the bootable volume further comprises: reading a plurality of files; and writing data from the plurality of files into a database application deployed on the bootable volume.
- 10 . The method of claim 1 , wherein data from a plurality of files into the bootable volume further comprises: utilizing an insert command based on a plurality of rows stored in a column-oriented data format file.
- 11 . A non-transitory computer-readable medium storing a set of instructions for restoring a digital backup of a database application hosted on a virtual machine, the set of instructions comprising: one or more instructions that, when executed by one or more processors of a device, cause the device to: generate a bootable volume on a new virtual machine, wherein the new virtual machine is different than the virtual machine hosting the database application; import data from a plurality of files into the bootable volume, wherein the plurality of files are included in a data backup of the digital backup, and wherein each file of the plurality of files is in a column-oriented storage format; and restore a virtualization backup included in the digital backup into the bootable volume.
- 12 . A system for restoring a digital backup of a database application hosted on a virtual machine comprising: one or more processors configured to: generate a bootable volume on a new virtual machine, wherein the new virtual machine is different than the virtual machine hosting the database application; import data from a plurality of files into the bootable volume, wherein the plurality of files are included in a data backup of the digital backup, and wherein each file of the plurality of files is in a column-oriented storage format; and restore a virtualization backup included in the digital backup into the bootable volume.
- 13 . The system of claim 12 , wherein the one or more processors are further configured to: restore a block-level backup of the virtual machine hosting the database application into the new virtual machine; and import data from the plurality of files into the new virtual machine.
- 14 . The system of claim 13 , wherein the one or more processors are further configured to: zero out table data prior to initiating the block-level backup.
- 15 . The system of claim 14 , wherein the one or more processors are further configured to: detect a plurality of software applications in the digital backup, wherein each software application corresponds to a software product key; deploy each of the plurality of software applications on the new virtual machine; and restore the data associated with the plurality of software applications into the new virtual machine.
- 16 . The system of claim 15 , wherein the one or more processors are further configured to: determine that a software application corresponding to a software product key has the updated version; and deploy the updated version of the software application on the new virtual machine.
- 17 . The system of claim 12 , wherein the bootable machine is an empty bootable volume.
- 18 . The system of claim 12 , wherein the one or more processors are further configured to: generate the data backup of the database application by exporting data stored in the database application to a plurality of files.
- 19 . The system of claim 18 , wherein the one or more processors are further configured to: generate the virtualization backup as a file-level backup based on a storage-based snapshot of the virtual machine hosting the database application.
- 20 . The system of claim 12 , wherein the one or more processors are further configured to: read a plurality of files; and write data from the plurality of files into a database application deployed on the bootable volume.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. patent application Ser. No. 18/940,434, filed on Nov. 7, 2024, the entire contents of which are incorporated herein by reference in their entirety. TECHNICAL FIELD The present disclosure relates generally to digital backup and restoration, and specifically to performing backup and restoration of databases installed on virtualizations in computing environments. BACKGROUND Database backup is the process of creating copies of data to protect against data loss, corruption, or hardware failure. Backups ensure that information can be restored if something goes wrong, maintaining data availability and minimizing downtime. There are several types of backups used to meet different recovery needs. A full backup captures the entire database, offering a complete snapshot at a specific point in time. Incremental backups, on the other hand, store only the changes made since the last backup, making them more space-efficient but requiring all previous backups for a full restore. Differential backups store changes made since the last full backup, striking a balance between efficiency and ease of recovery. Backup strategies play a critical role in deciding how often backups are taken and where they are stored. A common approach is the 3-2-1 strategy, which involves keeping three copies of data: the original plus two backups, with one stored offsite. In production environments, backups may occur at varying intervals—such as daily or weekly—depending on the organization's tolerance for data loss and downtime, often referred to as the Recovery Point Objective (RPO) and Recovery Time Objective (RTO). For high-demand systems, continuous or near-real-time backups, known as transaction log backups, are used to ensure minimal data loss. Additionally, automated backups in the cloud have become increasingly popular, offering scalability and offsite storage by default, which simplifies disaster recovery processes. However, there are challenges specific to cloud-based backups. One significant issue is latency, where the time taken to transfer large amounts of data to and from the cloud can hinder backup and restoration speed. This can be particularly problematic for large databases that need quick recovery. To overcome this, some solutions allow fast restoration of a database by doing an instance mount of the database and then querying the mounted database. While such a solution allows a user to access some content of the database, this still typically takes a significant amount of time. Further complicating this, if an incorrect version of the database is restored, a correction can be a long and error-prone process. In addition, cloud-based databases can be implemented as managed databases, such as Amazon® RDS, or by deploying a virtual machine, such as an Amazon® EC2 instance with a database application installed thereon. Such a machine can include many temporary files which occupy a large amount of storage space. Additionally, an older database backup may utilize a previous version of the database application, such that when it is restored might cause a cybersecurity risk, as an outdated application. It would therefore be advantageous to provide a solution that would overcome the challenges noted above. SUMMARY A summary of several example embodiments of the disclosure follows. This summary is provided for the convenience of the reader to provide a basic understanding of such embodiments and does not wholly define the breadth of the disclosure. This summary is not an extensive overview of all contemplated embodiments and is intended to neither identify key or critical elements of all embodiments nor to delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later. For convenience, the term “some embodiments” or “certain embodiments” may be used herein to refer to a single embodiment or multiple embodiments of the disclosure. A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation cause(s) the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by a data processing apparatus, cause the apparatus to perform the actions. A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data pr