Data access method determines which way data exchange between compute system (host) and storage will be going through. There are 3 ways, completely different, with utilization of different mechanism and protocols. File, Block and Object level Storage access characterizes with different speed, reliability and efficiency. Moreover, they require completely different appliances, but sometimes they can be “merged” into one single SAN.
Data can be accessed over a network in one of the following ways: block level, file level, or object level. In general, the application requests data from the file system (or operating system) by specifying the filename and location. The file system has two components: user component and storage component. The user component of the file system performs functions such as hierarchy management, naming, and user access control. The storage component maps the files to the physical location on the storage device. The file system maps the file attributes to the logical block address of the data and sends the request to the storage device. The storage device converts the logical block address (LBA) to a cylinder-head-sector (CHS) address and fetches the data.
Block level access
In a block-level access, the file system is created on a compute system, and data is accessed on a network at the block level. In this case, raw disks or logical volumes are assigned to the compute system for creating the file system. Data is organized as an array of blocks. You get a portion of these blocks to form a volume that can be formatted as a local block device. Access for block storage is usually through a client on the operating system over Fibre Channel, iSCSI, FCoE. Fixed system attributes are stored with the block. Block storage is ideal for transactional or structured information like databases or running VMs and is optimized for performance or Input Output operations per second (IOPS)
File level access
In a file-level access, the file system is created on a separate file server or at the storage side, and the file-level request is sent over a network. Because data is accessed at the file level, this method has higher overhead, as compared to the data accessed at the block level. File-based storage is usually accessed via a standard protocol like NFS or SMB/CIFS. Fixed file attributes like type, size, date created and date modified are stored in the file system. File-based storage is good at shared files and shared directories over a LAN or WAN
Object level access
Object-level access is an intelligent evolution, whereby data is accessed over a network in terms of self-contained objects with a unique object identifier. In this type of access, the file system’s user component resides on the compute system and the storage component resides on the storage system. Object-based storage device stores data in the form of objects on flat address space based on its content and other attributes rather than the name and the location. An object is the fundamental unit of object-based storage that contains user data, related metadata (size, date, ownership,etc.), and user defined attributes of data (retention, access pattern, and other business-relevant attributes). the object ID. The object ID allows easy access to objects without the need to specify the storage location. The object ID is generated using specialized algorithms (such as a hash function) on the data and guarantees that every object is uniquely identified. Any changes in the object, like user- based edits to the file, results in a new object ID. Object level access uses protocols REST or SOAP.Key component of that solution is OSD (object-based storage device). OSD stores data using flat address space where the objects exist at the same level and one object cannot be placed inside another object. Therefore, there is no hierarchy of directories and files, and as a result, billions of objects are to be stored in a single namespace. Examples of object-level access is Dropbox, where end user needs to have installed special application which gives him access to stored files.
In an enterprise data center, typically different storage systems (block-based, file-based, and object-based storage) are deployed to meet the needs of different applications. In many cases, this situation has been complicated by mergers and acquisitions that bring together disparate storage infrastructures. The resulting silos of storage have increased the overall cost because of complex management, low storage utilization, and direct data center costs for power, space, and cooling. An ideal solution would be to have an integrated storage solution that supports block, file, and object access. Unified storage is a single integrated storage infrastructure that simultaneously supports Fibre Channel (FC), Fibre-Channel-over-Ethernet (FCoE), IP Storage Area Networks(iSCSI), Network Attached Storage (NAS) data protocols, along with REST and SOAP protocols. There are numerous benefits associated with deploying unified storage systems:
– Creates a single pool of storage resources that can be managed with a single management interface.
– Sharing of pooled storage capacity for multiple business workloads should lead to a lower overall system cost and administrative time, thus reducing the total cost of ownership (TCO).
– Provides the capability to plan the overall storage capacity consumption. Deploying a unified storage system takes away the guesswork associated with planning for file and block storage capacity separately.
– Increased utilization, with no stranded capacity. Unified storage eliminates the capacity utilization penalty associated with planning for block and file storage support separately.
– Provides the capability to integrate with software-defined storage environment to provide next generation storage solutions for mobile, cloud, big data, and social computing needs.