Moving files between storage devices based on analysis of file operations
According to an embodiment, a system can comprise a processor and a memory that can store executable instructions that, when executed by the processor of a first device, can facilitate performance of operations. The operations can comprise receiving, from a second device, a first indication of an operation that was performed on a file stored on the second storage device, and storing an indication of the operation in a data structure, resulting in the data structure storing the first indication and other indications of operations performed on the file. Further, the operations can comprise analyzing indications of operations, comprising the first indication and the second indications, performed on the file stored in the data structure. The operations can further comprise communicating, to the second device, a command to move the file to a third device.
1. A method, comprising:
monitoring, by a system comprising a processor, a file system operation performed on an unstructured data file stored on a first storage device;
storing an indication of the file system operation in a data structure, resulting in the data structure storing the indication and other indications of operations performed on the unstructured data file other than the indication;
based on content of the unstructured data manipulated by the file system operation, analyzing indications of operations performed on the unstructured data file stored in the data structure, wherein the indications comprise the indication and the other indications; and
moving the unstructured data file from the first storage device to a second storage device, based on a result of the analyzing the indications, wherein the result comprises an importance value that corresponds to an importance of the unstructured data file, wherein monitoring the file system operation comprises facilitating, by a kernel of an operating system of the system, performance of a system call operation on the unstructured data file.
2. The method of claim 1 , wherein monitoring the file system operation further comprises:
receiving, by the kernel, the system call operation; and
storing, by a kernel module loaded into the kernel, information corresponding to details of the system call operation.
3. The method of claim 1 , further comprising rating the first storage device and the second storage device based on respective storage characteristics of the first storage device and the second storage device, resulting in ratings of storage devices, wherein moving the unstructured data file from the first storage device to the second storage device is further based on the ratings of the storage devices.
4. The method of claim 3 , wherein the storage characteristics of the storage devices comprise a storage cost for the storage devices.
5. The method of claim 3 , wherein the storage characteristics of the storage devices comprise a storage performance for the storage devices.
6. The method of claim 1 , wherein the file system operation performed on the unstructured data file comprises a file read operation.
7. The method of claim 1 , wherein the file system operation performed on the unstructured data file comprises a file update operation.
8. The method of claim 1 , wherein analyzing the indications of the operations performed on the unstructured data file comprises predicting a likelihood that the unstructured data file will be accessed within a defined period of time.
9. A first device, comprising:
a processor; and
a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:
receiving, from a second device, a first indication of an operation that was performed on content of an unstructured data file stored on a second storage device, wherein the unstructured data file comprises unstructured data;
storing the first indication of the operation in a data structure, resulting in the data structure storing the first indication with second indications of operations performed on the unstructured data file;
analyzing indications of operations, comprising the first indication and the second indications, performed on the unstructured data file stored in the data structure resulting in an analysis result comprising an importance value that corresponds to an importance of the unstructured data file; and
based on the importance value, communicating, to the second device, a command to move the unstructured data file to a third device, wherein analyzing the indications comprises facilitating by a kernel of an operating system, performance of a system call operation on the unstructured data file.
10. The first device of claim 9 , wherein the first indication of the operation was communicated by the second device based on the system call operation to be performed on the unstructured data file being received by the kernel.
11. The first device of claim 9 , wherein the operations further comprise rating the second device and the third device based on respective storage characteristics of the second device and the third device, resulting in storage ratings of devices, and wherein communicating the command to move the unstructured data file to the third device is based on the storage ratings of the devices.
12. The first device of claim 11 , wherein the storage characteristics of the devices comprise a storage cost for the respective storage devices measured according to a defined cost criterion.
13. The first device of claim 11 , wherein the storage characteristics of the devices comprise a storage performance for the respective storage devices measured according to a defined performance criterion.
14. The first device of claim 9 , wherein the operation that was performed on the unstructured data file comprises a file read operation.
15. The first device of claim 9 , wherein the operation that was performed on the unstructured data file comprises a file update operation.
16. The first device of claim 9 , wherein analyzing the indications of the operations performed on the unstructured data file comprises predicting a likelihood that the unstructured data file will be accessed within a specified period of time.
17. A non-transitory machine-readable medium comprising executable instructions that, when executed by a processor of a computing device, facilitate performance of operations, the operations comprising:
detecting a system call operation performed on unstructured data stored on a first storage device communicatively coupled to the computing device, wherein performance of the system call operation was facilitated by a kernel of an operating system;
storing an indication of the system call operation at a database server device, resulting in the indication being stored with other indications of system call operations performed on the unstructured data stored at the database server device;
retrieving indications of operations performed on content of the unstructured data from the database server device, resulting in retrieved indications comprising the indication and the other indications; and
based on a result of analyzing the retrieved indications, moving the unstructured data from the first storage device to a second storage device, wherein the result comprises an importance value for the unstructured data determined from the operations performed on the content.
18. The non-transitory machine-readable medium of claim 17 , wherein detecting the system call operation further comprises receiving, from the kernel, the system call operation to be performed on the unstructured data.
19. The non-transitory machine-readable medium of claim 17 , wherein the operations further comprise an operation rating the first storage device and the second storage device based on respective storage characteristics of the first storage device and the second storage device, resulting in respective ratings of storage devices, and wherein moving the unstructured data file from the first storage device to the second storage device is further based on the respective ratings of the storage devices.
20. The non-transitory machine-readable medium of claim 19 , wherein the storage characteristics of the storage devices comprise a storage cost for the storage devices.