How great a need is there to provide cloud storage performance vs capacity to enable core enterprise data processing such as RDBMS, OLTP in the cloud? Presently cloud companies tariff by capacity and volume, without regard to IOPS performance.
Hi Mark This is a great question. It depends on the type of database work being done. The problem with cloud storage for databases is latency over an IP network. Databases need to be able to issue read and read/write locks on portions of the data. That data cannot be accessed by other transactions or threads until the lock is freed. The ultimate constraint of performance of a database is locking rate, the number of locks/second; this rate is strongly affected by latency.
Databases in general work best when the data is close to the processors and in high performance storage. The performance and throughput of database applications goes down dramatically as the I/O latency does up. Networks can be improved to some extent, but the costs become very high; the ultimate constraint on network latency is the speed of light.
The bottom line is that cloud storage can be used for very simple databases, read-only databases, and low-volume databases. Development projects can also use cloud storage for some parts of the development cycle. For everything else, it makes sense to keep the database and processing in the same location. That location can be together in-house, or together in the cloud.
The answer to your question is that there is theoretically a great need, but for most practical situations, putting physical distance between the database processing and the storage is not going to work, as the cost of the low latency and the constraints of the speed of light will make it impractical to become cost-effective.
David Floyer CTO, Wikibon