Exadata Implementation and Performance Benefits in Toyota Motor Sales USA. Author: William Hie (Toyota Motor Sales USA) Sathish Kumar Thiagarajan(Cognizant Technology Solutions) Bipin Sahani(Cognizant Technology Solutions) Agenda • OTM Overview in Toyota • Exadata and it’s Advantages • Problems faced with the Existing Database • Configuration changes made in application sides to support Migration • Performance Benefits Obtained 3 OTM Overview in Toyota Motor Sales USA • 8 Plants & 5 Vessel Ports • 8233 Delivery Points • 355 Active Itineraries and 1089 Active Rates • 3 Modes ( Truck , Rail & Vessel) 4 OTM Overview in Toyota Motor Sales USA Average Daily Shipments Per day 6810 Shipments Per day. 3 Modes (Truck, Vessel & Rail) 11 378 TRUCK VESSEL RAIL 6421 5 OTM Overview in Toyota Motor Sales USA • Current Functionality in Use • Order Management • Shipment Planning and Execution Event Management • Route Itinerary Management, Rate, Carrier Management • Freight Pay (Shipment as Work , Invoices & Vouchers ) − Tier based Rating for the Shipments − Payment for Car Inspections − Payment for 3rd party Invoicing such as car wash, Border crossing • Shipment Event Management (Actual Events) , Complete Track and Trace of the Shipment , Each order is typically planned with Truck and Rail leg shipments combination . Truck shipment is tracked with “Truck Ship” and “Truck Arrival Events”. Payment of Truck shipments are triggered during Truck Arrival Events. Rail Shipments are tracked with “Rail Shipment” and “CLM” events received for the Railcar. Payment of the Rail Car is trigged on the Rail Arrival event and CLM-Z event. CLM-P of second leg Rail car triggers the payment for first leg RAILCAR. 6 Toyota Integration and BulkPlan Volume Inbound and Outbound Transmission Volume Per Day • • • • Average Inbound Transmissions Per day – 95,000 NAP Procon Messages – 160,000 ( NAP Procon is North America Production Units, these are the Order Forecast data which are received once in a Month) CBU Procon Messages – 60,000 ( CBU Procon is Japan Production Units these are the units received by Vessel once in a Month) Average 14,000 orders Planned per day through Bulk plan Inbound Transmission Messages Bulk Plan per day 14k per day CBU Procon (Monthly once ) NAP Procon (Monthly once ) Daily Transmission Inbound Messages (95k Per day) - 50,000 100,000 150,000 200,000 7 What is Exadata? • Oracle Exadata is a Database Application which supports OLTP (transactional) and OLAP (analytical) database systems. • Complete Oracle database server (All in one machine) − Disk Storage System − CPU, Memory, Hardware − Operating System − Database Software − Fully installed and configured 8 Exadata Advantages • It delivers outstanding I/O and SQL processing performance for online transaction processing (OLTP), data warehousing (DW) and consolidation of mixed workloads • Extreme performance is delivered for all types of database applications by leveraging a massively parallel grid architecture using Real Application Clusters and Exadata storage • Database machine and Exadata storage delivers breakthrough analytic and I/O performance, is simple to use , manage and delivers mission-critical availability with high reliability 9 Exadata Advantages Cont… One vendor • All the interacting modules including Hardware, OS and Storage are from a single vendor, Oracle • In other cases without Exadata in place, we would have multiple vendors providing each of these components Multiple Database • Multiple applications can be mounted on the same server, with a clear segregation of resources for database pertaining to each application 10 Exadata Advantages Cont… • One Vendor • All the interacting modules including Hardware, OS and Storage are from a single vendor, Oracle • In other cases without Exadata in place, we would have multiple vendors providing each of these components • Multiple Databases • Multiple applications can be mounted on the same server, with a clear segregation of resources for database pertaining to each application • IORM architecture used to effectively manage the IO 11 Exadata Disadvantages • Cost: Exadata is a costly server and not many companies can afford it • Lack of Flexibility: New resources (Disk, Memory etc.) cannot be added in Exadata on an ad hoc basis. In case of additional resource requirement, whole Exadata need to be upgraded to next server e.g. Quarter Rack to Half Rack and Half Rack to Full Rack and so on • Lack of skilled resources: Exadata is relatively a new technology and there is a lack of skilled resources 12 TTMS – Old Database server Configuration • Oracle 3 RAC Cluster • HP DL580 G7 – Suse Linux Enterprise Server 11 SP1 • Database Version: 11.2.0.2 • SAN Storage 13 TTMS – New Database Server Configuration • Oracle 2 RAC Cluster • Linux x86 64-bit • Database Version: 11.2.0.4 14 TTMS – Current Exadata Configuration • Exadata comes in 4 different sizes: • Eighth Rack • Quarter Rack • Half Rack • Full Rack Toyota Motor Sales is using Quarter Rack Exadata 15 Problems we faced in the Previous Database • High Integration Volume ( ~ 100,000 inbound ) • DB was shared with 12 other applications (Resources were Shared) • Custom Schema (TTMS – Business Data model) is in the same Database and there are around 60 jobs including 60 procedures and 50 MV’s • Whenever you run a AWR/ADDM report during the peak time 50% of the contention was due to the Custom Business Data Model being built on the same Database • Peak IOPS% during the Business window 16 Purge issue faced in Toyota • OTM Data grew since the time of implementation in a fast phase • Increased DB size was making the custom jobs run longer with full table scans becoming bottlenecks • For Purging 30,000 orders 100,000 shipment and 80,000 invoices it was taking around 14hrs • Data growth is around 300,000 orders , 1.5 Million shipments & 1 Million Invoices in one month 17 Purge issue faced in Toyota Invoices were never purged in OTM 5.5 Version, Current orders, shipments and Invoices in System ( Huge Backlog ) 18000000 16000000 14000000 12000000 10000000 8000000 6000000 4000000 2000000 0 Orders Shipments Invoices Voucher Current Snapshot Before Implementing Exadata Backlog which are Ready to purge in System 18 BDM Jobs (Custom Schema to Expose TLS data to External Systems and Hyperion reports ) Issue faced in the Business Data model Jobs There are around 60-70 jobs which runs in parallel, with the top 5 jobs listed below Job Name Time Taken SHIPMENT_TABLE_REFRESH(LOAD_SHIPMENT_TABLE) T_ORDER_REL_TABLE_REFRESH (LOAD_ORDER_REL_TABLE) 29 Hours ( Weekly Job) RAILCAR_SHIPMENT_MV(T_RAILCAR_SHIPMENT) 31 min ( daily Job) 33 Minutes ( daily Job) VOUCHER_STATUS_MV(T_VOUCHER_STATUS) 12 min ( daily Job) SERVICE_PROVIDER_TYPE_MV(T_SERVICE_PROVIDER_TYP E) 15 min ( daily Job) INVOICE_MV(T_INVOICE) 7 min ( daily Job) SHIPMENT_VT_MV(SHIPMENT_VT) 1 min ( daily Job) 19 Glog Property File Changes • DB Server details added in glog.properties File # db. server URL and information dbserver=XYZ glog.database.sid=XXXX.YYY glog.database.connectstring=XXXX.YYY glog.database.port=XXXX glog.database.schema=glogowner Note :- In case of RAC always use the Scan IP, There us no need to use the full RAC details Like the one Below : #glog.database.dbaOnly.t2client.connectionURL=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIS T=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=<servername>)(PORT=<portno>)) (ADDRESS=(PROTOCOL=TCP)(HOST=<servername>)(PORT=<portno>))(ADDRESS=(PROTOCOL =TCP)(HOST=<servername>)(PORT=<portno>)))(CONNECT_DATA=(service_name=<servicename>) )) 20 Glog.Properties Changes • Add the below 17 properties at the end of glog.properties File • • • • • • • • • • • • • • • • • glog.database.DBADirect.t2client.connectionURL=$glog.database.DBADirect.t2client.databaseURL$/$glog.database.DBADirect.serv er$ glog.database.dbathin.t2client.connectionURL=$glog.database.dbathin.t2client.databaseURL$/$glog.database.dbathin.server$ glog.database.ejbLocal.t2client.connectionURL=$glog.database.ejbLocal.t2client.databaseURL$/$glog.database.ejbLocal.server$ glog.database.dbaoci.t2client.connectionURL=$glog.database.dbaoci.t2client.databaseURL$/$glog.database.dbaoci.server$ glog.database.dbaOnly.t2client.connectionURL=$glog.database.dbaOnly.t2client.databaseURL$/$glog.database.dbaOnly.server$ glog.database.ods.t2client.connectionURL=$glog.database.ods.t2client.databaseURL$/$glog.database.ods.server$ glog.database.odsthin.t2client.connectionURL=$glog.database.odsthin.t2client.databaseURL$/$glog.database.odsthin.server$ glog.database.odsoci.t2client.connectionURL=$glog.database.odsoci.t2client.databaseURL$/$glog.database.odsoci.server$ glog.database.odsglogowner.t2client.connectionURL=$glog.database.odsglogowner.t2client.databaseURL$/$glog.database.odsglogo wner.server$ glog.database.odsreportowner.t2client.connectionURL=$glog.database.odsreportowner.t2client.databaseURL$/$glog.database.odsre portowner.server$ glog.database.fti.t2client.connectionURL=$glog.database.fti.t2client.databaseURL$/$glog.database.fti.server$ glog.database.ftithin.t2client.connectionURL=$glog.database.ftithin.t2client.databaseURL$/$glog.database.ftithin.server$ glog.database.ftioci.t2client.connectionURL=$glog.database.ftioci.t2client.databaseURL$/$glog.database.ftioci.server$ glog.database.migration.t2client.connectionURL=$glog.database.migration.t2client.databaseURL$/$glog.database.migration.server$ glog.database.codegen.t2client.connectionURL=$glog.database.codegen.t2client.databaseURL$/$glog.database.codegen.server$ glog.database.dbaglogowner.t2client.connectionURL=$glog.database.dbaglogowner.t2client.databaseURL$/$glog.database.dbaglog owner.server$ glog.database.dbareportowner.t2client.connectionURL=$glog.database.dbareportowner.t2client.databaseURL$/$glog.database.dbare portowner.server$ 21 Purge Time taken after Exadata DB Migration Statistics below, Post Exadata move with a phenomenal performance boost Business Object Count Order Release 100,000 Shipment 260,000 Invoice 150,000 Total Time Taken 5 Hours 15 Min 22 Performance Improvement in the BDM Jobs and Hyperion reports Refresh Job Name Time Taken Before Exadata SHIPMENT_TABLE_REFRESH(LOAD_SHIPMENT_T ABLE) 29 hrs ( Weekly Job) T_ORDER_REL_TABLE_REFRESH (LOAD_ORDER_REL_TABLE) 33 min ( daily Job) After Exadata 2 hrs. 35 min 15 min RAILCAR_SHIPMENT_MV(T_RAILCAR_SHIPMENT) 31 min ( daily Job) 15 min VOUCHER_STATUS_MV(T_VOUCHER_STATUS) 12 min ( daily Job) SERVICE_PROVIDER_TYPE_MV(T_SERVICE_PRO VIDER_TYPE) 15 min ( daily Job) 5 min INVOICE_MV(T_INVOICE) 7 min ( daily Job) 2min SHIPMENT_VT_MV(SHIPMENT_VT) 1 min ( daily Job) 7 sec 5 min 23 Questions Key Contacts OTM Sales - North America Sukumar Srivatsan Srivatsan.Sukumar@cognizant.com Mobile: +1 503-706-7272 OTM Competency Head & Global Sales Support Hemalatha Vema Hemalatha.Vema@cognizant.com Mobile: +91-9989642171 OTM Global Delivery Head Senthilnathan Loganathan Senthilnathan.Loganathan@cognizant.com Mobile:+91-9962515453 Presenter contact Sathish Kumar Thiagarajan Sathish.Thiagarajan@cognizant.com 24