 |
|
New flash drive disks for Oracle
Oracle Database Tips by Donald BurlesonSeptember 26, 2015
|
As disk and RAM
prices continue to fall at an astonishing rate, many Oracle shops are removing
their I/O bottlenecks with RAM disk, solid-state flash memory which can read and
write data hundreds of times faster then the old-fashioned spinning platters
from the 1960's.
As of 2015, SSD
RAM disk costs less than a platter disk from the 1990's, and Oracle shops across
the globe are switching to solid-state storage for their mission critical data.
At a cost of only $150 per gigabyte, a new generation of SSD flash disks are
affordable for almost any Oracle shop.
It's important not to
confuse the PC-based flash technology (like PC flash drives) with the
industrial-strength SSD that is used for Oracle databases. The SSD used for
Oracle is extremely fast and getting cheaper every year and it's only a matter
of time before all Oracle databases will reside on solid state disks.
It's
important for all Oracle professionals to learn about solid-state disk to
understand how I/O bottlenecks will soon become a thing of the past. Let's take
a close look at this emerging technology.
Inside the next generation of data storage hardware
The ancient
platter-based disks from the 1960's will soon join paper tape and punched cards
in the annals of IT history. As prices of RAM and flash disks fall to
affordable levels, the majority of Oracle database will run entirely
solid-state, with the only physical I/O being external background writes from
the solid-state disk (SSD) to it's backup storage disks. Oracle with SSD offers
blistering data access speeds and it can save shops from expensive manual tuning
efforts.
As of September 2015, you can buy 100 gigabytes units of SSD for less then $90k, making
RAM-based SSD an extremely affordable option for smaller database that are
plagued with disk I/O bottlenecks. For larger Oracle databases, the new
TMS RAM-SAN 500 offers up to two terabytes of fast cached Flash solid state disk for
only $150 per gigabyte (cached flash systems use a combination of DDR RAM as
cache and Flash memory as persistent high density storage.
When choosing an
SSD hardware vendor, many risk-averse IT managers choose the industry leader.
The undisputed leader in the realm of super-fast RAM disks is Texas Memory
Systems (TMS), one of the largest providers of SSD for Oracle. I've worked with
many shops who use TMS SSD for their Oracle systems and their response has been
uniformly positive. But it just keeps getting better, a revolutionary new
technology that will forever change the landscape of corporate database
management. Let's take a closer look.
The latest SSD for Oracle
In September 2015, TMS introduced the next generation of
solid-state flash drives for Oracle databases, dubbed the
RamSan-500. Offered in one and two terabyte units, this is the
disk platform of choice for mission-critical Oracle databases
that must meet strict response time SLA's. The main difference
between this system and others that TMS has done is that this
system uses a big capacity of Flash memory as the storage
media. Flash memory is best known for its fast read
performance. Putting this flash memory behind a large RAM cache
provides a great combination of: high performance (for reads
and writes), high density, low power consumption and improved
cost per capacity.
Here are the
technical
details for the latest Oracle flash drive technology:
The RamSan-500, TMS' ninth generation solid state disk, is the most
important advance in solid state disk storage in the last twenty years. The
system is designed for high IO data warehousing, high bandwidth data
acquisition, and rich media environments. The RamSan-500 is a hybrid of DDR RAM
and Flash Memory (NAND-SLC).
According to
eWeek, the TMS SSD flash disks have many appealing features:
"The new RamSan-500 pairs DDR caching, which provides high write
performance, with flash memory, which offers good read performance. It provides
another option for organizations that need better performance but can't afford
to put all of their capacity into DDR solid state disk."
Leveraging the flash drives for
Oracle
With this rapid decline in
hardware costs, a shift has occurred within the Oracle
community. Instead of costly and time-consuming tuning to
reduce physical disk I/O, many shops find that it is cheaper and
less risky to use solid-state disks in lieu of expensive and
risky human tuning.
Does it make sense to "throw
hardware" at an Oracle performance problem and ignore the root
cause of the problem? Like all Oracle questions, the answer is
"it depends", and it depends on the exact nature of the
performance issue. If the root cause requires an expensive and
risky redesign or re-writing thousands of lines of code, the
answer may be "yes".

When to apply fast hardware to an Oracle performance problem
When does it make sense to throw hardware at
an Oracle performance problem?
Throwing hardware makes great sense for the following types of Oracle
performance problems, even though it does address the root cause of the
performance issue:
- Over-normalized design
- A legacy 3NF database (with high DML, prohibiting materialized views) can
run faster with SSD, a far less expensive solution that a full re-design to
introduce redundancy into the data model. Introducing redundancy into a 3NF
model can greatly reduce table joins, and reduce server stress.
- sub-optimal application code
- It's not hard to find poor Oracle code, as noted by the entertaining
Oracle WTF site. Those
offshore "bargain" systems can be made to run faster, without the expense
and risk of re-writing thousands of lines of code. Some examples of bad
code include large systems where optimizing the code (to fix the root cause)
would take months and cost hundreds of thousands of dollars.
The new cached Flash solution is a great fit for larger tablespaces in
read-intensive OLTP and Data Warehouse environments. Performance for a flash
memory based system is not as fast as it is for an all RAM based system, but it
can still shave milliseconds off response times for database reads enabling big
improvements in application performance. For smaller databases and redo logs,
RAM based solid state disks will still be the best choice.
I/O bottlenecks can be sporadic and isolated in several areas of Oracle,
especially high-impact areas such as redo log files. Once you have tuned all
SQL impacting the data files, solid-state disk (SSD) can be a great solution.
For Oracle, SSD can do I/O 300x-2,000x faster than platter disk (Texas Memory
Systems sells 100 gig for only $90k). For details, see my
book "Oracle Solid
State Disk Tuning: High Performance Oracle Tuning with RAM disk".
Tuning I/O bottlenecks in RAC with RAM-SAN is more challenging, and I have
conducted benchmarks that suggest that SSD is a Godsend for RAC when combined
with specially-designed, tiny data buffers on each node. See my book "Oracle
RAC & Grid Tuning with Solid State Disk: Expert Secrets for High Performance
Clustered Grid Computing" for details on RAC tuning with Solid-State Disk.
The performance of SSD
In my
reproducible
benchmarks of SSD vs. platter disks, the response time benefits of using SSD
with Oracle are amazing with blistering speeds that result in up to a 300x speed
improvement.
According to the book "Oracle
Solid State Disk Tuning", smaller solid-state RAM disks have far less
bandwidth issues because the RAM architecture of SSD allow high concurrent
access that is impossible on a mechanical platter.
This issue of single channel
access also imposes a bottleneck on Oracle disk devices, and the large disks
(over 144 gigabytes) often perform more slowly for high concurrent access than
their smaller predecessors.
-
Oracle's standard SAME
(Stripe and Mirror Everywhere, RAID 10) is largely useless for load
balancing if the whole database resides on just a few physical disks.
-
Seek delay (movement of
the read-write heads) composes over 80% of disk access latency, and high
concurrent requests against large devices make them very slow.
Disk enqueues can
occur when the disk is unable to quickly service concurrent requests.
Super-large disks can be problematic, and the most popular Oracle data files can
be placed on the middle absolute track of the device to minimize read-write head
movement.

As a result of this trend,
many Oracle professionals experience external I/O waits and they see that the
top-5 waits events (from a STATSPACK or AWR Report) show "db file sequential
reads" and "db file scattered reads" as a main system bottleneck.
DRAM SSD
vs. Flash SSD
With all
the talk about the Oracle ?flash cache?, it is important to note that there
are two types of SSD, and only DRAM SSD is suitable for Oracle database
storage. The flash type SSD suffers from serious shortcomings, namely
a degradation of access speed over time. At first, Flash SSD is 5
times faster than a platter disk, but after some usage the average read time
becomes far slower than a hard drive. For Oracle, only rack-mounted
DRAM SSD is acceptable for good performance:
|
Avg. Read speed |
Avg. write speed |
Platter disk |
10.0 ms. |
7.0 ms. |
DRAM SSD |
0.4 ms. |
0.4 ms. |
Flash SSD |
1.7 ms. |
94.5 ms. |
Books on Oracle SSD:
My related notes Oracle SSD:
Market Survey of SSD vendors for
Oracle:
There are many vendors who offer rack-mount solid-state disk that
work with Oracle databases, and the competitive market ensures that
product offerings will continuously improve while prices fall.
SearchStorage notes that SSD is will soon replace platter disks and that
hundreds of SSD vendors may enter the market:
"The number of vendors in this category could rise to several
hundred in the next 3 years as enterprise users become more familiar
with the benefits of this type of storage."
As of January 2015, many of the major hardware vendors (including Sun and
EMC) are replacing slow disks with RAM-based disks, and
Sun announced that all
of their large servers will offer SSD.
Here are the major SSD vendors for Oracle databases
(vendors are listed alphabetically):
2008 rack mount SSD Performance Statistics
SearchStorage has done a comprehensive survey of rack mount SSD
vendors, and lists these SSD rack mount vendors, with this showing the
fastest rack-mount SSD devices:
manufacturer |
model |
technology |
interface |
performance metrics and notes |
IBM |
RamSan-400 |
RAM SSD |
Fibre
Channel
InfiniBand
|
3,000MB/s random
sustained external throughput, 400,000 random IOPS |
Violin Memory |
Violin 1010 |
RAM SSD
|
PCIe
|
1,400MB/s read,
1,00MB/s write with ×4 PCIe, 3 microseconds latency |
Solid Access Technologies |
USSD 200FC |
RAM SSD |
Fibre Channel
SAS
SCSI
|
391MB/s random
sustained read or write per port (full duplex is 719MB/s), with
8 x 4Gbps FC ports aggregated throughput is approx 2,000MB/s,
320,000 IOPS |
Curtis |
HyperXCLR R1000 |
RAM SSD |
Fibre Channel
|
197MB/s sustained
R/W transfer rate, 35,000 IOPS |
Choosing the right SSD for Oracle
When evaluating SSD for Oracle databases you need
to consider performance (throughput and response time), reliability (Mean Time Between failures) and
TCO (total cost of ownership). Most SSD vendors will provide a
test RAM disk array for benchmark testing so that you can choose the
vendor who offers the best price/performance ratio.
Burleson Consulting does not partner with any SSD vendors and we
provide independent advice in this constantly-changing market. BC
was one of the earliest adopters of SSD for Oracle and we have been
deploying SSD on Oracle database since 2005 and we have experienced SSD
experts to help any Oracle shop evaluate whether SSD
is right for your application. BC experts can also help you choose
the SSD that is best for your database. Just
call 800-766-1884 or e-mail.:
for
SSD support details. DRAM SSD
vs. Flash SSD
With all
the talk about the Oracle “flash cache”, it is important to note that there
are two types of SSD, and only DRAM SSD is suitable for Oracle database
storage. The flash type SSD suffers from serious shortcomings, namely
a degradation of access speed over time. At first, Flash SSD is 5
times faster than a platter disk, but after some usage the average read time
becomes far slower than a hard drive. For Oracle, only rack-mounted
DRAM SSD is acceptable for good performance:
|
Avg. Read speed
|
Avg. write speed
|
Platter disk
|
10.0 ms.
|
7.0 ms.
|
DRAM SSD
|
0.4 ms.
|
0.4 ms.
|
Flash SSD
|
1.7 ms.
|
94.5 ms.
|
|