There are some compromises that you'll need to make; there are
certainly some control granularity issues. The pattern of access
for
file-based data and
block-based data is significantly different.
@31882 In file-based data, you'll probably be sending longer
streams of data and typically not have the "locality of reference"
that you might have in block-based access where you may be doing
transaction processing and so on. So the data residency in cache
and the management of cache is dramatically different -- and many
[unified or multiprotocol storage] systems
don't have the capability to discern file-based access, apply
dedicated resources, utilize optimized caching algorithms or
manage data transfers. This is different from block-based
systems that are typically tuned to handle individual blocks and
employ cache residency algorithms.
As a result, a lot of these [unified or multiprotocol storage]
systems don't have the granularity of control needed to understand
how to handle file-based
I/O versus block-based I/O. This leads to
compromises in performance and could lead to variability in
performance. As you move into more performance-critical
environments, consistency of performance becomes more important.
If a block-based application is combined on a system that has
more dynamic file-based access, users can experience variability
in performance because of resources allocated to the file-based
side.
Listen to the
unified storage FAQ audiocast.
Go to the beginning of the
Unified Storage FAQ Guide.