Subject | RE: [firebird-support] Re: Hosting Firebird in cloud |
---|---|
Author | Leyne, Sean |
Post date | 2013-02-21T16:36:22Z |
Lester,
For Firebird, an application would need to be have a client-server or multi-tier design. Accessing data using an ODBC or remote connection will have terrible performance!
At the very least the processor resources need to be *available*, but there are plenty of times when a CPU is sitting idle doing nothing at all.
All clouds store data on a distributed storage cluster, where multiple physical storage devices (HDD/SSD) are managed by multiple hosts (at least 2 if not many more). The file blocks (ie. database pages) are then stored across the disks and hosts so that you have 2 or more copies of each block/db page. So, that you would need to have a failure of 3 separate devices before your data would be unavailable (only lost if all of the HDD/SDDs where you file is stored, failed at the exact same time).
There is one benefit of the distributed storage is that the available Read and Write IO expands linearly with each additional storage device added, Read at 100% credit and write at 33 or 50% credit. If an HDD can handle 200 Random Read IO/s then 10 HDDs can handle 2000 IO/s, 50 HDDs can handle 10,000 IO/s. The Write IOs have less growth, because all write operations require that a block be written to 2 or 3 separate disks before they considered completed.
So, it is possible that you can get significantly faster disk IO from such a solution. At last year's MS NA TechEd, several vendors where showing Windows 2012 Storage Clusters which had Disk IO throughput of 5 *GBytes* per second!!!
The location of each file block is itself stored on multiple devices.
"Cloud" does not mean - non-phyiscal. It means that it is managed by someone else, at a remote location.
Sean
> While I can understand the theory behind some aspects of 'The Cloud', IWith the correct setup, a "cloud" deployment could be an ideal solution. It all depends on the pieces of the cloud and where the application bottleneck is.
> don't see how it can work in the case of some of the 'real-time' applications
> that we use Firebird for?
For Firebird, an application would need to be have a client-server or multi-tier design. Accessing data using an ODBC or remote connection will have terrible performance!
> The data needs to be in one physical location with a physical processor talking to it?The processor and the data need to be in the same 'location' but that does not mean that they need to be in a single box or be physical.
At the very least the processor resources need to be *available*, but there are plenty of times when a CPU is sitting idle doing nothing at all.
> The idea that the raw data is floating around some 'virtual' storage mechanism just seems dangerous?It is far less dangerous than you would think.
All clouds store data on a distributed storage cluster, where multiple physical storage devices (HDD/SSD) are managed by multiple hosts (at least 2 if not many more). The file blocks (ie. database pages) are then stored across the disks and hosts so that you have 2 or more copies of each block/db page. So, that you would need to have a failure of 3 separate devices before your data would be unavailable (only lost if all of the HDD/SDDs where you file is stored, failed at the exact same time).
There is one benefit of the distributed storage is that the available Read and Write IO expands linearly with each additional storage device added, Read at 100% credit and write at 33 or 50% credit. If an HDD can handle 200 Random Read IO/s then 10 HDDs can handle 2000 IO/s, 50 HDDs can handle 10,000 IO/s. The Write IOs have less growth, because all write operations require that a block be written to 2 or 3 separate disks before they considered completed.
So, it is possible that you can get significantly faster disk IO from such a solution. At last year's MS NA TechEd, several vendors where showing Windows 2012 Storage Clusters which had Disk IO throughput of 5 *GBytes* per second!!!
> That data can be located on a system anywhere, but surely there mustCorrect there is!
> be a static location that is storing it? Even in the case of simple static website pages
> which can be 'served' from virtual locations, there should be a physical static
> copy somewhere?
The location of each file block is itself stored on multiple devices.
"Cloud" does not mean - non-phyiscal. It means that it is managed by someone else, at a remote location.
Sean