Problem Statement
Everyone might have come across the issue of loosing a file/folder or in the worst case the data in the whole hard disk. Accidentally deleting or formatting the disk, data/disk corruption due to virus/malware attacks, sudden power surge, etc. These are some of the reasons that might result in data loss in the storage device. This is a very serious issue as the data lost might be a very crucial and loosing it may be troublesome sometimes.
To overcome this issue, there are many solutions and each of them have their own set of advantages and disadvantages. To avoid this, the best solution would be to make sure the data is not lost in the first place. This seems to be a simple task but it has too many variables which cannot be fixed. Maintaining spare power supply connected to the system to make sure the computer is not effected from sudden power surges or power cuts, maintaining proper checks on the I/O of the system to make sure that there is no abnormalities in the I/O during data transfer as abnormalities in I/O during data transfer might lead to data loss, incorporating advanced antivirus software with periodic scans of the whole computer to make sure that there is no malware attacks on the system which might effect the data in the computer. These are only some of the problems which are being addressed and even maintaining all of these together is a very challenging task in case of a personal computer.
Other solution to the problem of data loss is to maintain a backup of all the data present in the system. This can be done in two ways. Either backing up the data into a local drive manually, or backup the data into cloud to make sure the data is safe in a cloud server. Each of these solutions have their own sets of pros and cons. In the case of manually backing up the data to another drive, there always a high risk of missing files or folders during the manual copying. Automatic backup to local storage devices can be setup but that requires technical knowledge in scripting and automating the process. Backing up data to cloud storage solutions like Google’s G-Drive, Microsoft's Onedrive, Dropbox, Apple’s iCloud is a better solution compared to manual or automatic local storage backup. But even this has its set of advantages and disadvantages. Major issue with cloud backup is that the client computer must have proper internet connection to upload the files to the cloud drives. Also, the data will be stored in servers which doesn't belong to the person. The servers are maintained by the cloud providers and the drives are deployed on shared resources. Which means there is always a chance that one may access others data. Data which has to maintain compliance cannot be stored in the cloud servers as they are meant to be stored securely. Also this has a issue of latency while accessing files based on the internet connection, which may be a deal breaker for the applications which require high data access speeds or high data read speeds.
There is another solution where a device called RAID Controller is used to maintain multiple copies as backups and use the backup file automatically, if the file in the main drive is lost or corrupted. This uses multiple drives to maintain copies or to maintain parities based on the version of RAID being used. This is a very good solution to maintain the data without loss. But there is a catch here. The RAID controller that is being used here is too expensive and it is generally meant for small businesses or small companies. Even large companies can use this solution but they go for a better solution of maintaining backup servers instead of backup drives which gives them more efficiency but is even more expensive compared to the RAID controllers which uses backup drives.