Is Google Drive file storage or object storage?

Google Drive is a file storage and synchronization service launched by Google in 2012. With Google Drive, users can store and sync content across multiple devices and access it on the web. The service uses cloud storage to allow users to keep files, photos, videos and more in one central location.

When discussing cloud storage services, it is important to distinguish between file storage and object storage. File storage organizes data in a hierarchical structure of folders and files, similar to a traditional file system on a local computer. Object storage manages data as objects that are stored in a flat structure without folders. Understanding whether Google Drive utilizes file storage or object storage architecture can provide insight into how it stores, organizes, and accesses user data.

Definition of File Storage

File storage refers to a data storage method where complete files are organized in a hierarchical tree structure of folders and subdirectories (IBM, 2022). In file storage systems, files are stored and retrieved using a filename that identifies the file’s location in the folder hierarchy.

With file storage, the operating system manages the creation, storage and organization of files. Users interact with files through a file manager interface that allows them to store, retrieve, move, delete and search for files based on their names and folder locations (Oracle, 2022). The folders provide a way for users to logically group related files together for easier organization and access.

Behind the scenes, the operating system tracks the physical location of file contents on the storage media, whether it is a hard disk drive or solid state drive. The user does not have to know the actual physical location or block addresses where the file contents are stored. They simply work with the abstraction of folders, files and filenames.

Definition of Object Storage

Object storage is a data storage architecture in which files are managed as objects instead of a file hierarchy. According to https://cloud.google.com/learn/what-is-object-storage, object storage stores data as objects in a flat structure instead of as files in folders or directories. Each object contains the data itself, metadata, and a globally unique identifier.

In object storage, the data is broken down into discrete units called objects. As mentioned in https://aws.amazon.com/what-is/object-storage/, these objects are kept in a single repository and are not stored in a hierarchical structure like file systems. Each object has a unique identifier and metadata that enables you to retrieve the object without needing to know the physical location of the data. The objects are stored redundantly across multiple servers or devices to provide high availability and durability.

When storing data in object storage, the application must provide the object’s identity, metadata, and the data itself to be stored as an object. To retrieve the object, only the unique ID is required. The object storage system handles locating and retrieving the data based on the ID. This enables greater scalability and simplified access compared to hierarchical file storage systems.

Google Drive Architecture

Google Drive uses a distributed file storage architecture across multiple data centers and servers. When a file is uploaded to Google Drive, it is split into chunks and distributed across Google’s storage servers [1]. The chunks contain redundancy to ensure availability even if some servers fail. Metadata about the file such as name, owner, sharing permissions, and folder location is stored in Google’s databases.

Google Drive presents files to users through a unified view and allows access as if the file was stored in a single location. But behind the scenes, the file chunks are distributed for redundancy and availability. When a user opens a file in Google Drive, the chunks are assembled on-the-fly and streamed to the user’s device. This distributed architecture allows Google Drive to store large amounts of data across servers and scale capacity easily.

In summary, Google Drive is architected as a distributed file system, breaking files into chunks, replicating for redundancy, and reassembling on-demand when users access them [2]. This provides scalability and availability behind the unified view presented to users.

File Operations in Google Drive

Google Drive allows users to interact with files through typical file operations like open, save, delete, etc. Users can open files directly in Google Drive for viewing or editing. When a file is opened, Google Drive retrieves the latest version from the cloud. Files can be saved back to Google Drive, which uploads any changes to the cloud. Saving a file will update the existing version or create a new version, depending on the user’s settings.

Users can also delete files permanently from Google Drive. This removes the file from the cloud storage completely. However, Google Drive does send deleted files to the trash for 30 days before permanently purging them. Users can restore deleted files from the trash if needed within this window.

In addition to basic operations, users can also move or copy files between folders. This reorganizes the storage location of the file metadata, while the file contents remain in cloud storage. Google Drive also supports renaming files and folders within the web interface or mobile apps.

Programmatically, Google Drive provides APIs that allow developers to build applications to interact with files stored in Google Drive (https://technicalsand.com/file-operations-in-google-drive-api-with-spring-boot/). The API supports common file operations like upload, download, delete, copy, etc. This allows developers to integrate Google Drive storage into custom apps and automate interactions with files.

Metadata and Organization

Google Drive allows users to add metadata like labels and comments to files, which aids in search and organization. Files in Drive have system metadata like title, description, and sharing permissions, as well as user-defined metadata like labels which function as tags.

Labels allow users to categorize and group files. Labels can be added manually or automatically based on criteria like file type. Labels make it easy to search for files with common attributes. Users can also create a folder structure and organize files, or rely on search to find files. Search in Drive indexes file contents in addition to metadata.

Overall, the metadata options in Drive facilitate organization and discovery of files. Features like starring files, adding descriptions, and using labels as tags provide more flexibility than traditional file folders. Drive’s search is quite robust leveraging all this metadata. Proper metadata strategies and practices are important for optimizing organization and search in Drive.

Sharing and Access Control

Google Drive allows users to share files and folders with other users and control the access permissions. There are four levels of access control in Google Drive:

  • Viewer – Users can view, comment on, and download files.
  • Commenter – Users can view, comment on, and download files but cannot edit them.
  • Editor – Users can view, comment, edit, and download files.
  • Owner – Full access and ownership of files.

When sharing a file or folder, you can choose which users to share with and what level of access to provide. Access can be granted to specific users or made public via a link. Permissions can be changed or revoked later if needed.

Setting the right sharing permissions is important to prevent sensitive data from being exposed while still enabling collaboration. Some best practices are to limit sharing to only necessary users, use viewer access unless editing is required, and leverage link settings to prevent resharing.

The owner always retains full control and can monitor activity on shared items via the activity dashboard. Overall, Google Drive provides granular tools to configure access control and monitor usage when sharing content.

Sources:

https://www.nightfall.ai/blog/google-drive-permissions-1

Scalability

Google Drive can handle large amounts of data and users due to its highly scalable architecture. The backend consists of distributed file servers running on Google’s infrastructure, which leverages technologies like BigTable to partition and replicate data across multiple data centers (https://www.quora.com/What-kind-of-companies-is-Google-Drive-suitable-for). This allows Google Drive to scale up and serve large enterprises with millions of users without compromising performance. Data is redundantly stored across locations to prevent data loss in case of failures.

As a business grows, Google Drive can easily accommodate the increasing storage demands and users. According to one source, “Businesses benefit from Google Drive’s scalability and easy sharing options. With its focus on collaboration, it’s an excellent fit for teams that value flexibility and accessibility when working together.” (https://www.loyalit.com.au/blog/exploring-cloud-storage-systems). The service is designed to elastically scale compute resources to handle workload spikes during peak usage.

Overall, Google has engineered Drive to be highly scalable and reliable, making it suitable for organizations of any size. The distributed architecture and redundancy mechanisms ensure continuous availability and prevent slowdowns as capacity needs increase.

Comparison to Object Storage

Object storage differs from file storage in some key ways that impact how Google Drive operates compared to a true object storage system like Amazon S3. While Google Drive stores complete files with metadata, object storage manages data as objects that consist of the data itself, metadata, and an ID. Unlike file storage, object storage does not have folder hierarchy or file paths [1].

With Google Drive being file-based storage, files are organized in a hierarchy of folders. Operations like renaming or moving files impact the file path. In contrast, object storage has a flat structure with no folders, so renaming or moving objects only changes metadata, not the object ID [2]. This makes object storage more scalable and flexible.

Furthermore, object storage is designed for high durability and availability by replicating objects across servers. Google Drive does not provide the same level of redundancy, though files can be accessed from any device. Overall, while Google Drive offers convenient file management, object storage better handles massive scale and frequent access [3].

Conclusion

In summary, the key differences between Google Drive and traditional object storage are:

  • Google Drive stores complete files with optional metadata, while object storage manages objects/blobs and metadata separately.
  • Google Drive has a hierarchical file/folder structure, whereas object storage uses a flat structure.
  • Google Drive includes features like access controls, sharing, real-time collaboration, and office editing. Object storage focuses on scalable storage and retrieval.
  • Google Drive is optimized for file operations like upload, download, move, and delete. Object storage emphasizes data access through an API.

Given its hierarchical file storage, metadata attachment, access controls, and file operations, Google Drive is best described as a file storage system rather than object storage. While it scales massively and uses some object storage principles internally, the user-facing system model is structured as networked file storage.