Day 1 - Concepts and Architecture Knowledge of certain fundamental concepts is required to successfully design and operate scalable database systems. Day one discusses these concepts. Unit One – Scaling Concepts A look at the ‘logical’ side of scalability, software and hardware engineering techniques used to protect data consistency and speed access. - What is “scaling”?
- Latches and locks
- Linked Lists
- Hashing
- Caching
- Latency
Unit Two – Hardware Architectures A discussion on the differing hardware architectures available on server platforms, attributes common to all, and performance implications. - Bus Architecture, interconnects, and cache coherency
- Uniprocessor Architectures
- Symmetric Multiprocessor (SMP) Architectures
- SMP Variants, including Crossbar and NUMA
- Clusters
Unit Three – Storage and RAID Concepts An introduction to storage systems, the underlying physical attributes, and how to extract the best performance by understanding the operating profile. - I/O busses and controllers
- The Physical Disk
- RAID Foundation
- RAID Levels 0,1,5 and combinations
- Performance Strategies
Unit Four – SAN Concepts The next aggregation layer of storage is the Storage Area Network and related technologies. This unit explores the various flavours of ‘networked storage’, and how they fit into the architecture. - Overview of ‘intelligent storage’
- SANs, including switch fibre channel fabrics
- NAS
- iSCSI
- Best practices
| Day 2 - Benchmarking and Monitoring Large scale Oracle systems cannot be reliably built without both preliminary benchmarking and operational monitoring. Understanding of both these attributes is more than a case of purchasing off-the-shelf products, and this module explores the underlying techniques in depth. Unit One – Benchmarking Benchmarking can be a blessing and a curse. This unit explores the importance of benchmarking realistic workloads and how to do it. - Why benchmarks are necessary
- Defining the benchmark
- Benchmark approaches: Remote Terminal Emulation vs Direct Access
- Common Problems – scalability problems, realism problems
- Being Objective
Unit Two – Using Simora Simora is a product from Scale Abilities designed for rapid generation of Direct Access benchmark suites. This unit will be a practical demonstration of taking a real application and producing a working benchmark. - Introduction to the sample application
- Capturing transactions
- Conversion of transactions to Simora script
- Test of transactions
- Incorporation into multiuser framework
- Run the Benchmark!
Unit Three – System and Database Monitoring Adequate and careful monitoring is a cornerstone of successful high-end system implementation. This unit looks at how to monitor your operating system and database to stay one step ahead. - Why monitor?
- Low Intrusion
- Deficiencies of available tools
- What to monitor
- Flight Envelopes
- Data Visualisation
Unit Four – How UNIX/Linux Works An understanding of the operating system is vital to understanding the whole operational profile of large systems. This unit aims to address the most crucial attributes of the operating system relevant to running large database systems. - What is a kernel?
- Processes and scheduling
- Filesystems
- Virtual Memory System
- (Nearly) Everything is a file
- Interprocess Communication (IPC)
| Day 3 - Highly Scalable Oracle
The final day of the seminar focuses on the specifics of running Oracle on large architectures, and techniques for design and operation of very large transaction processing systems. Unit One – Using Oracle on UNIX/Linux Coverage of how Oracle is engineered on top of UNIX/Linux and important tools and techniques for managing Oracle on a UNIX/Linux platform. - VOS/OSD – Co-engineering the Oracle kernel
- Layers of the kernel
- Porting groups
- Observing Oracle from the OS
- Scripting environments
Unit Two – Scalable Transaction Processing A look at design techniques for writing scalable OLTP systems. - Data concurrency
- Lock granularity
- Scalable SQL – Efficiency
- Scalable SQL – Low contention
- Scalable SQL – Sharing is Caring
- Multitier applications
- Purge - Avoiding a ‘data dump’
Unit Three – Tuning Transactional Systems However good the design is, tuning will be required after implementation. This unit focuses on methods for rapid identification of root causes and remedial action. - Where to tune
- The Oracle Wait Interface
- Tuning ‘Modes’
- Transactional workloads
- Batch workloads
- Mixed workloads
Unit Four – Problem/lifecycle Management This is a relatively short unit, and yet one of paramount importance. Dealing with live issues is a large part of administered a large-scale database system. - Application software releases
- Oracle and OS releases
- Bug diagnosis
- Performance issues
|