Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL...
Transcript of Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL...
![Page 1: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/1.jpg)
Copyright©2016, Oracleand/oritsaffiliates.Allrightsreserved.|
UsingSQLandPLSQLforMid-TierDatabaseCaching
DougHood@ScalableDBDougConsultingMemberofTechnicalStaffProductManagerTimesTen In-MemoryDatabaseMay16,2019
![Page 2: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/2.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Agenda
BusinessProblem
DevOpschallenge
Architecturesandtechnicalchallenges
Howtodoit
Demo,summaryandQ&A
2
1
2
3
4
5
![Page 3: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/3.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Latency,ThroughputandScalabilityLatency Howquicklycanoneoperationcomplete
Onesprinterin9.58 seconds~40km/hfor100M[2009]
Throughput Howquicklycanmanyoperationscomplete
Tensprintersinunder11seconds~40km/hfor100m[2009]
Scalability Byaddingmoreresourcescanthroughput keepincreasing
33carson2.5mileovaltrack~250km/hfor804km[Indy500,2017]
Confidential– OracleInternal/Restricted/HighlyRestricted 3
![Page 4: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/4.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
LowerLatencywithTimesTen Cache
Confidential– OracleInternal/Restricted/HighlyRestricted 4
Oracle11.2.0.4RACRACnodeswereOracleSunX7-2LNVMe StorageOver50MillionUsers
LatencyisinMicroSeconds…
ApplicationTierDatabaseCache(TimesTen)RanonthesamenodesastheproductionRAC5tablejoinsfor100sofmillionsofrowsofdata
Query Oracle Cache
Q1 43 3
Q2 69 6
Q3 105 8
Q4 121 20
Q5 140 18
Q6 163 19
Q7 231 18
![Page 5: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/5.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
WhyCacheData?
Confidential– OracleInternal/Restricted/HighlyRestricted 5
![Page 6: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/6.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
WhyCacheData?
• TogetlowerlatencyforSQLstatements• Togetmorethroughput• Togetmorescalability
Confidential– OracleInternal/Restricted/HighlyRestricted 6
![Page 7: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/7.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CachingChallenges
Confidential– OracleInternal/Restricted/HighlyRestricted 7
![Page 8: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/8.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
TheBusinessProblem
• DBapps,makethemfasterandcheaper• Domorewithless
Confidential– OracleInternal/Restricted/HighlyRestricted 8
![Page 9: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/9.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
TheDevOpsChallenge
• Makeitboring,nosurprises• Standardized,runinVMsorcontainers• Everything isautomated• Figureouteverythingthatcangowrongandbewellbehaved
Confidential– OracleInternal/Restricted/HighlyRestricted 9
![Page 10: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/10.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Architecturesandtechnicalchallenges
• Howmanyusers?Howmanyconcurrentusers?• HowmanyconcurrentOracleDBconnections?• HowmanyconcurrentApplicationServerconnections?• WhataboutHA?WhataboutDR?• Whataboutlatency?
Confidential– OracleInternal/Restricted/HighlyRestricted 10
![Page 11: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/11.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Architecturesandtechnicalchallenges
Confidential– OracleInternal/Restricted/HighlyRestricted 11
Canwedobetter?
![Page 12: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/12.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Architecturesandtechnicalchallenges
Confidential– OracleInternal/Restricted/HighlyRestricted 12
Connectionpool
Canwedobetter?
![Page 13: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/13.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Architecturesandtechnicalchallenges
Confidential– OracleInternal/Restricted/HighlyRestricted 13
Connectionpool
SharedServers(MTS)
Canwedobetter?
![Page 14: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/14.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Architecturesandtechnicalchallenges
Confidential– OracleInternal/Restricted/HighlyRestricted 14
Connectionpool
Canwedobetter?
Read/writecaches• Offloadwork fromOracle• Offloadconnections fromOracle
SharedServers(MTS)
![Page 15: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/15.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Architecturesandtechnicalchallenges• Gofaster thanNoSQLsolutions&minimize thehardwarecost– Lowerlatencyatthe99th percentile
Confidential– OracleInternal/Restricted/HighlyRestricted 15
![Page 16: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/16.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Architecturesandtechnicalchallenges• Gofaster thanNoSQLsolutions&minimize thehardwarecost– Lowerlatencyatthe99th percentile
Confidential– OracleInternal/Restricted/HighlyRestricted 16
• Simpleandscalableisgood,buthowmanymachinesdoyouneed?• Whataboutthe95th and99th percentileforlatency?• Whataboutcachemisses?• Howisthecachekeptuptodate?
99th percentilelatencycanbeashighas324ms…
100th percentilelatencyismanyseconds,timeout>100ms
![Page 17: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/17.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
YCSBWorkloadB(95%read,5%write)
Confidential– OracleInternal/Restricted/HighlyRestricted 17
Database TPS Nodes
Cassandra 221K 32
MongoDB 260K 2
CouchBase 454K 9
Redis 1M 3
VoltDB 1.5M 6
AeroSpike 1.6M 1
![Page 18: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/18.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
YCSBWorkloadB(95%read,5%write)
Confidential– OracleInternal/Restricted/HighlyRestricted 18
Database TPS Nodes
Cassandra 221K 32
MongoDB 260K 2
CouchBase 454K 9
Redis 1M 3
VoltDB 1.5M 6
AeroSpike 1.6M 1
TimesTen 2.8M 1 Letstalk
![Page 19: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/19.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Architecturesandtechnicalchallenges
Confidential– OracleInternal/Restricted/HighlyRestricted 19
Connectionpool
Canwedobetter?
Read/writecaches• Offloadwork fromOracle• Offloadconnections fromOracle
![Page 20: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/20.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CustomermeasuredTimesTenCachelatency
• 97%cachehitratio– 3%ofthetimethedatawasnotinthecache,soneededaroundtriptoOracle
• 99th percentilelatency=1ms
Confidential– OracleInternal/Restricted/HighlyRestricted 20
![Page 21: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/21.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CustomermeasuredTimesTenCachelatency
• 97%cachehitratio– 3%ofthetimethedatawasnotinthecache,soneededaroundtriptoOracle
• 99th percentilelatency=1ms
Confidential– OracleInternal/Restricted/HighlyRestricted 21
Percentile Latencyinms
87 0.016
98 0.125
99.7 1
99.99 8
100 423
NoSQLwas324ms
![Page 22: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/22.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CustomermeasuredTimesTenCachelatency
• 97%cachehitratio– 3%ofthetimethedatawasnotinthecache,soneededaroundtriptoOracle
• 99th percentilelatency=1ms
Confidential– OracleInternal/Restricted/HighlyRestricted 22
Percentile Latencyinms
87 0.016
98 0.125
99.7 1
99.99 8
100 423Workingtoimprovethis• Goalis<50msfor100th percentile• Alsodefinea300ms timeout
![Page 23: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/23.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Improvingthe100th percentile[maxlatency]
Confidential– OracleInternal/Restricted/HighlyRestricted 23
SQLNetConnection
pool
Canwedobetter?
Read/writecaches• Offloadwork fromOracle• Offloadconnections fromOracle
TimesTenConnection
pool
Forcachemisses,createanewSQLNetconnection!
Thiscanbereallyslow…
![Page 24: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/24.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Improvingthe100th percentile[maxlatency]
Confidential– OracleInternal/Restricted/HighlyRestricted 24
SQLNetConnection
pool
Canwedobetter?
Read/writecaches• Offloadwork fromOracle• Offloadconnections fromOracle
SQLNetConnection
pool
TimesTenConnection
pool
Forcachemisses,getconnectionfromTTOCICPratherthanthesharedpool
Tunethepoolfortheexpectedmin/max
![Page 25: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/25.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Howisitpossible
Confidential– OracleInternal/Restricted/HighlyRestricted 25
![Page 26: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/26.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Howisitpossible
• Useareallyfast In-memorySQLRDBMS
Confidential– OracleInternal/Restricted/HighlyRestricted 26
![Page 27: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/27.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Howisitpossible
• Useareallyfast In-memorySQLRDBMS• UseaCacheDB thatjustrequiresconfiguration
Confidential– OracleInternal/Restricted/HighlyRestricted 27
T1
T3
T2
![Page 28: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/28.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Howisitpossible
• Useareallyfast In-memorySQLRDBMS• UseaCacheDB thatjustrequiresconfiguration• Somehardwareandsoftwaretuning
Confidential– OracleInternal/Restricted/HighlyRestricted 28
T1
T3
T2
• Prepare&bindSQLstatements• Usetherelevantindexes• Dosensiblejoins• UpdatestatisticsforSQLoptimizer• CheckTimesTenSQLstatsforSQLandIObottlenecks
![Page 29: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/29.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
MostWidelyUsedRelationalIn-MemoryDatabaseDeployedbyThousandsofCompanies
29
![Page 30: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/30.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
RelationalDatabase– Purein-memory– ACIDcompliant– StandardSQL/PLSQL– EntiredatabaseinDRAM
PersistentandRecoverable– DatabaseandTransactionlogspersistedonlocaldiskorflashstorage
– ReplicationtostandbyandDRsystems
30
ExtremelyFast– Microsecondsresponsetime– Veryhighthroughput
HighlyAvailable– Active-Standbyandmulti-masterreplication
– Veryhighperformanceparallelreplication
– HAandDisasterRecovery
OracleTimesTenIn-MemoryDatabase
![Page 31: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/31.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
LowLatency- Microseconds ResponseTimePerformance– ResponseTime
Millionthsofa
Second
Millionthsofa
Second
31
2socket,22cores/socket,2threads/core
TimesTen11.2.2.8.0(100Mrows,17GBdata)
1.64
5.06
0.00
1.00
2.00
3.00
4.00
5.00
6.00
SELECTQuery UPDATETransaction
Microsecond
s
![Page 32: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/32.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
HLRMobileTransactionsResponseTimeResponseTimeImprovementWithTimesTenApplication-TierDatabaseCache
Intel®[email protected]/socket2hyper-threads/core32vCPU
OracleDatabaseWithTimesTenCacheOracleDatabaseWithoutTimesTenCache
Speedup
17x
10x
17x
44x
69x
31x
29x
![Page 33: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/33.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
TimesTenIn-MemoryDatabasePersistenceandRecovery
• TimesTendatabasepersistencecanbeconfiguredon– Flash,SSD,harddiskstorage
• Alltransactionsareloggedandpersisted– Redo,undo,andrecovery
• DualdatabaseCheckpointfiles– Databaserestart– Databaserecoveryafterfailures
TimesTen Checkpoint
Files
TimesTen Transaction
Log Files
![Page 34: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/34.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
CacheDB =OracleApplicationTierDatabaseCacheAfeatureofOracleEnterpriseEdition
34
T1
T3
T2T1
T3
T2
CacheAgent
RepAgent
Metadata• Cachegroups
Batchreadstorefreshthecache
Parallelbatchwrites
![Page 35: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/35.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
FlexibleCacheGroupConfigurations
• CacheGroupdescribestheOracleDatabasetablestocache– Allorsubsetofrowsandcolumns– DefinedusingSQLCREATECACHEGROUPPremierUsersFROMOE.CUSTOMER(NAMEVARCHAR2(100)NOTNULL,ADDRVARCHAR2(100)
)WHEREOE.CUSTOMER.ORDER>500;
• CachetablesareregulartablesinTimesTen– Joins/search,insert/update/delete
ApplicationTransactions CacheGroups
AutomaticDataSynchronization
![Page 36: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/36.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
![Page 37: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/37.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
![Page 38: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/38.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
![Page 39: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/39.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
![Page 40: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/40.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
![Page 41: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/41.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
createdynamicreadonly cachegroupmyReadCache1autorefreshmodeincrementalinterval 100millsecondsstateonfrom hr.employees (employee_id number(6)notnull,
first_name varchar2(20),last_name varchar2(25)notnull,hire_datedatenotnull,job_id varchar2(10)notnull,salary number(8,2),manager_id number(6),department_id number(4),
primarykey(employee_id)),hr.job_history (employee_idnumber(6)notnull,
start_datedatenotnull,end_datedatenotnull,job_idvarchar2(10)notnull,department_idnumber(4),
primarykey (employee_id,start_date),foreignkey (employee_id)references hr.employees(employee_id));
![Page 42: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/42.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
OracleTimesTen• Onetechnology,twoproducts,threedeploymentmodes
ApplicationTierDatabaseCache
StandaloneIn-MemoryDatabaseforOLTP
andanalytics
Application
TimesTenScaleout
SingleSystemImageIn-MemoryDatabase
OracleTimesTenIn-MemoryDatabase
Application
![Page 43: Using SQL and PLSQL for Mid-Tier Database Caching · 2019. 5. 20. · –Standard SQL / PLSQL –Entire database in DRAM Persistent and Recoverable –Database and Transaction logs](https://reader034.fdocuments.in/reader034/viewer/2022051815/603f082f8c99fc74d35fa46d/html5/thumbnails/43.jpg)
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Summary• CloudScaleread/writecachingwith1mslatencyat99th percentile• OracleTimesTenisfasterthananyNoSQLDB• Cachingisconfiguration,notcoding• UseTimesTen PLSQLstoredprocedurestominimizenetworkhops
• WriteTimesTenappsasifitwereanOracleDB*– SQL,JDBC,PLSQL,OCI,ODBC,ODP.Net,Pro*C,Pro*COBOL– R,Python,Node.js,Go,Ruby&PHP
Subset oftheOracleSQLandPLSQL