Download presentation
Presentation is loading. Please wait.
Published byDennis Hodge Modified over 9 years ago
1
Jason Wong http://usa.redirectme.net/repriser/ http://usa.redirectme.net/repriser/ Applications Manager DBA/Developer Programmer …. 20+ years IS&T, DEV, DBA MS Mech Eng. MBA
2
Got Database ! Processor/OS …. blade, x64, x86 Memory …. ? SAN …. scalable Disk …. space, I/O speed RAID …. 10, 5, Backup …. full, diff, log. SLA Network …. Gb/s, fibre channel D.R. mirroring, log shipping, replication, backup-restore
3
Hardware …. $$$ Software …. $$$ DBA cost …. ~~~~ Monitoring cost …. Hidden cost …. ? Upgrade …. $$$$$$ Got money !
4
Performance? (six months later) Application slow …. Code efficiency, if, case Database slow …. Defrag, index, cache Network slow …. Bandwidth User slow …. Problem between keyboard and chair …. Ha, DB blocking !!!!
5
What is blocking anyway? Isolation level (Transaction ACID, read book by Thomas Kyte) Read uncommitted (the lowest level where transactions are isolated only enough to ensure that physically corrupt data is not read) Read committed (Database Engine default level) Repeatable read Serializable (the highest level, where transactions are completely isolated from one another)
6
Isolation Level A lower isolation level increases the ability of many users to access data at the same time, but increases the number of concurrency effects (such as dirty reads or lost updates) users might encounter. Conversely, a higher isolation level reduces the types of concurrency effects that users may encounter, but requires more system resources and increases the chances that one transaction will block another. Choosing the appropriate isolation level depends on balancing the data integrity requirements of the application against the overhead of each isolation level. The highest isolation level, serializable, guarantees that a transaction will retrieve exactly the same data every time it repeats a read operation, but it does this by performing a level of locking that is likely to impact other users in multi-user systems. The lowest isolation level, read uncommitted, may retrieve data that has been modified but not committed by other transactions. All of the concurrency side effects can happen in read uncommitted, but there is no read locking or versioning, so overhead is minimized.
7
Concurrency side effects enabled by isolation levels Isolation levelDirty readNonrepeatable readPhantom Read uncommittedYes Read committedNoYes Repeatable readNo Yes SnapshotNo SerializableNo
8
Perfmon.exe Physical disk: %idle, %read, %write, avg queue 2, 30% free CPU idle time: 30% Buffer cache ratio: 99% Pages/s: 1 Memory: available bytes, private set, working set, virtual memory used Network: Traffic Bytes/s Full scan/s, Trace, Execution plan, Index
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.