10.07.2015 Views

Expert Oracle Exadata - Parent Directory

Expert Oracle Exadata - Parent Directory

Expert Oracle Exadata - Parent Directory

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPTER 2 OFFLOADING / SMART SCANOffloading is important because one of the major bottlenecks on large databases is the time it takesto transfer the large volumes of data necessary to satisfy DW-type queries between the disk systems andthe database servers (that is, because of bandwidth). This is partly a hardware architecture issue, but thebigger issue is the sheer volume of data that is moved by traditional <strong>Oracle</strong> databases. The <strong>Oracle</strong>database is very fast and very clever about how it processes data, but for queries that access a largeamount of data, getting the data to the database can still take a long time. So as any good performanceanalyst would do, <strong>Oracle</strong> focused on reducing the time spent on the thing that accounted for themajority of the elapsed time. During the analysis, the team realized that every query that required diskaccess was very inefficient in terms of how much data had to be returned to and processed by thedatabase servers. <strong>Oracle</strong> has made a living by developing the best cache-management softwareavailable, but for really large data sets, it is just not practical to keep everything in memory on thedatabase servers.■ Kevin Says: The authors make a good point based on a historical perspective of <strong>Oracle</strong> query processing.However, I routinely find myself reminding people that modern commodity x64 servers are no longerarchitecturally constrained to small memory configurations. For example, servers based on Intel Xeon 7500processors with Quick Path Interconnect support large numbers of memory channels each with large number ofDIMM slots. Commodity-based servers with multiple terabytes of main memory are quite common. In fact, the X2-8 <strong>Exadata</strong> model supports two terabytes of main memory in the database grid, and that capacity will increasenaturally over time. I expect this book to remain relevant long enough for future readers to look back on thiscomment as arcane, since the trend toward extremely large main memory x64 systems has only just begun. Theimportant thing to remember about <strong>Exadata</strong> is that it is everything <strong>Oracle</strong> database offers plus <strong>Exadata</strong> StorageServers. This point is relevant because customers can choose to combine deep compression (for example, <strong>Exadata</strong>Hybrid Columnar Compression) with the In-Memory Parallel Query feature for those cases where ruling outmagnetic media entirely is the right solution for meeting service levels.Imagine the fastest query you can think of: a single column from a single row from a single tablewhere you actually know where the row is stored (rowid). On a traditional <strong>Oracle</strong> database, at least oneblock of data has to be read into memory (typically 8K) to get the one column. Let’s assume your tablestores an average of 50 rows per block. You’ve just transferred 49 extra rows to the database server thatare simply overhead for this query. Multiply that by a billion and you start to get an idea of themagnitude of the problem in a large data warehouse. Eliminating the time spent on transferringcompletely unnecessary data between the storage and the database tier is the main problem that<strong>Exadata</strong> was designed to solve.Offloading is the approach that was used to solve the problem of excessive time spent movingirrelevant data between the tiers. Offloading has three design goals, although the primary goal faroutweighs the others in importance:• Reduce the volume of data transferred from disk systems to the database servers.• Reduce CPU usage on database servers.• Reduce disk access times at the storage layer.24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!