NAS, or Network Attached Storage, is the main and primary shared storage architecture for file storage, which has been the ubiquitous and familiar way to store data for a long time, based on a traditional file system comprising files organized in hierarchical directories.
Object Storage was developed to address the scalability requirements, geographic reach, and economics of massive data storage, a hurdle initially felt at nascent hyperscale cloud service providers. By design, it overcomes the limitations of NAS and other traditional storage architectures that would not fit the bill for such cloud-scale environments.
In an Object Storage solution, data is stored in objects that carry a unique ID and embed an extensible set of metadata. These objects can be grouped in buckets, but are otherwise stored in a flat address space, or pool. Objects may be local or geographically separated, but they are accessed the same way, through HTTP-based REST application programming interface.
Most object storage solutions are based on clusters of commodity server nodes, each presenting their internal direct-attached storage to create an aggregate capacity, distributed across the whole cluster. Data protection is accomplished through replication (typically for smaller files) and/or advanced Erasure Coding algorithms.
What are the benefits of NAS?
File storage has been around for so long that it is ingrained in IT and consumer domains. Devices and applications out there leverage such an interface when it comes to storing or retrieving data. Familiarity and compatibility are the main benefits making file storage, and therefore NAS, prevalent.
What are the benefits of Object Storage?
Drawbacks of NAS
While NAS performs well at small to medium scale, it breaks down at large scale due to the overhead of the underlying file system that must be maintained, as well as limitations of related data protection schemes that must be implemented to safeguard data (RAID).
Drawbacks of Object Storage
One typical challenge is dealing with the native REST interface (and related protocols such as Amazon S3) used by Object Storage solutions. While there are gateway solutions that convert such a REST interface (from/to Object Storage) into file interfaces (such SCSI, CIFS/SMB or NFS) familiar to existing/older applications, the most efficient and performant way is to have the application code ported over, which could be a hurdle.
Another consideration for Object Storage is that objects can’t be updated partially, meaning the entire object must be stored at once (regardless of versioning). This makes Object Storage mostly suitable for nearly static or infrequently changed data sets.
Also, with a design centered on large-scale data sets, Object Storage solutions can sustain high throughput, but don’t perform well for low-latency, I/O intensive workloads.
Scality RING offers native file storage access in addition to a standard object storage interface. Why does it matter to have both?
It allows for future-proofing of your storage infrastructure: native file access makes the storage available to your current enterprise applications right away, while you have the option to switch to object access whenever your cloud-enabled applications require that along the way, on your own terms and on your own timeline.
Scality’s native file access is layered on top of an underlying object store, so it inherits the performance, scalability, and flexibility attributes Scality is known for.
Scality RING Technical Whitepaper