Agenda• Technology Trends– Software Defined Everything vs Engineered Appliances• Exadata X3 Specifications– Compute, Storage, Network & Software• Architectural Considerations– Resource Management, Performance, High Availability• Exadata Specific Features Explained– Smart Scan, Storage Indexes, HCC, Smart Flash Cache• Exadata Specific Recommendations– And results from a Practical Implementations• Finally, Some Criticism
Technology Trends• Software DefinedEverything…– (some times) Opensource– Virtualization– SDN– Highly Customizable– May involve multiplevendors– Google like…• Engineered Systems– Hardware awaresoftware– Software awarehardware– Optimized (for aworkload)– One vendor for completeownership– Apple like….
Exadata SpecificationsWelcome to the Oracle’sEngineered DatabaseAppliance with intelligentExadata storage andInfiniband Connectivity….From: http://www.oracle.com/technetwork/server-storage/engineered-systems/exadata/dbmachine-x3-twp-1867467.pdf
Architectural Considerations• Exadata comes in its own predefined size /Capacity– “capacity planning” is really “resourcemanagement”– Suited for consolidation– Instance Caging, DBRM and IORM• One database with multiple schemas?• Multiple databases?• Mixed, multi-workload consolidation?
Architectural Considerations• Performance– Smart Scans or Query Offloading– Storage Indexes– Hybrid Columnar Compression (HCC)– Smart flash cache• High Availability– X3-2 is built in RAC capabilities for local failover– A “DR” is still needed….
Traditional Scan Processing• With traditionalstorage, all databaseintelligence resides in thedatabase hosts• Very large percentage ofdata returned fromstorage is discarded bydatabase servers• Discarded data consumesvaluable resources, andimpacts the performanceof other workloadsI/Os Executed:1 terabyte of datareturned to hostsDB Host reduces terabyteof data to 1000 customernames that are returned toclientRows ReturnedSELECTcustomer_nameFROM callsWHERE amount >200;Table ExtentsIdentifiedI/Os Issued
Exadata Smart Scan Processing• Only the relevant columns– customer_nameand required rows– where amount>200are are returned to hosts• CPU consumed by predicateevaluation is offloaded• Moving scan processing offthe database host frees hostCPU cycles and eliminatesmassive amounts ofunproductive messaging– Returns the needle, not theentire hay stack2MB of data returnedto serverRows ReturnedSmart ScanConstructed And SentTo CellsSmart Scan identifiesrows and columnswithin terabyte tablethat match requestConsolidatedResult Set BuiltFrom All CellsSELECTcustomer_nameFROM callsWHERE amount >200;
Storage Index explained….• A –ve index built automaticallyhttp://www.oracle.com/technetwork/issue-archive/2011/11-may/o31exadata-354069.htmlselect avg(amt) from sales wherecust_level = 3
EHCC explained….• Hybrid Columnar Compression– Row major– Column major– Hybrid / Bank (compression unit ‘CU’) majorhttp://www.oracle.com/technetwork/middleware/bi-foundation/ehcc-twp-131254.pdf
Flash Cache – The OLTP acceleration..• Flash Cache for Objects– ALTER TABLE customers STORAGE(CELL_FLASH_CACHE KEEP)• Flash Logging– log_file_sync events?http://www.oracle.com/technetwork/server-storage/engineered-systems/exadata/exadata-smart-flash-cache-366203.pdf
Workload ManagementRecommendations• Separate the database instances that are processingcompletely separate subject areas that do not need linking.E.g., APP1 and APP2 need not share the same database.• Separate DEV/QA Environments from the productioninstancesRun MultipleDatabases• Use different services and server pools within a given instanceto isolate different services for different workloads• Each service uniquely identifies the type of workload and canbe tied to a server pool if needed.Design Services toisolate Load,Transform &Reporting Streams• Use as many as qualifiers to associate a user session toresource consumer groups like Service, User, Client User,Client program, module, action etc.• Design simple high level plans using mgmt_p1, mgmt_p2parametersDBRM and IORMdesign to allocateand limit resourceswithin and acrossdatabaseshttp://www.oracle.com/technetwork/database/features/availability/exadata-consolidation-522500.pdf
SQL Recommendations1. Smart scan: Use suitable selection and projection on the SQL queries with operators that can be cell offload.Take the free flash course -http://apex.oracle.com/pls/apex/f?p=44785:24:0:::24:P24_CONTENT_ID,P24_PREV_PAGE:5827,1 Determine if_serial_direct_read=TRUE will help your session.2. Avoid concurrent reads and updates to the same table blocks. When blocks are not current, smart scan cannothappen.3. Storage indexes: Use an ordered load of tables where possible for exploiting the storage indexes (read more onhttp://www.oracle.com/technetwork/issue-archive/2011/11-may/o31exadata-354069.html )4. Consider creating indexes only when the data accessed is < 1% of the total rows in the table.5. Avoid having LOB columns along with the other columns in the table.6. Consider Hybrid columnar compression to the tables that are always truncated and loaded. This will help thetables with > 255 columns also to be offloaded.7. Partition large tables either using range partitions or hash partitions.8. Use direct read and write wherever possible.9. Avoid row-by-row operations and use bulk operations.10. Avoid updates / deletes to the data when possible. Consider achieving the result by copying the data usingCATS (Create table as select) in parallel and nologging mode.
Another Large Implementation…1HourStaging Atomic DeliveryStaging Atomic Delivery13 18.5 76 17 51Hour2HourSchedulingChanges SchedulingChangesDate10.5HourIndex,ParallelismChanges36.528[Start + 4Months][Start]4 +1HourCodeChanges1HourCodeChanges2HourNewChangesDate2Date3Date2Date3Date3Date4Date5IndexChanges1500 Joba
Some Criticism…• Software based acceleration is not guaranteed towork….• It is still Oracle…• Does “Flash Cache” in Exadata really improveperformance?• etc..,• But, if you really want a OLTP + DW databaseappliance based consolidation solution,EXADATA is here to stay!
LinkedIn: http://www.linkedin.com/in/prasadchittaBlog: http://technofunctionalconsulting.blogspot.comhttp://www.oracle.com/us/products/database/exadata/overview/index.htmlhttp://www.oracle.com/technetwork/server-storage/engineered-systems/exadata/index.htmlAndGoogle “exadata” for latest updates! All the best!!