2011/04/14

IOUG (Collaborate11) in Florida 4th

 IOUGも3日目となり、ちょっと疲労も溜まってきましたが、何とか乗りきろうと思っています。

今日の目的は昨日に続いて、OraPubのShallahamerのセッションです。(結構、楽しく聞けるのと、非常に学術的なアンバランスが良い)



あとは、最初のIOUGで買ったOracle本がMike Ault著だったこともあり、IOUGに来ると何故か彼のセッションに出てしまいます。

ということで本日のセッションは以下。

Title      : Security Bootcamp: 60 Oracle Database Security Tips in 60 Minutes
Speaker    : Ursula Koski
Description: This session will be delivered in blazing speed. 60 Oracle Database Security Tips in 60 minutes.

Title      : Virtualization Bootcamp: Optimizing Oracle databases on VMware
Speaker    : Guy Harrison
Description: An increasing proportion of Oracle databases are running in virtual environments and many on VMWare ESX servers. Performance of databases in these virtual environments is subject to some unique considerations relating to the way VMware manages the shared CPU Memory and Disk resources.In this presentation well consider how to monitor and configure VMware to optimize Oracle database performance. Specifically well consider using memory reservations and limits to avoid ESX swapping and ballooning how to monitor VMware CPU overheads and how best to best to configure a high performance IO subsystem.

Title      : Unifying Time Base Performance Analysis
Speaker    : Craig Shallahamer
Description: N/A

Title      : Out of the Black Box - Validating your IO Subsystem
Speaker    : Mike Ault
Description: In this presentation I will show techniques to validate the IO subsystem. The presentation will discuss the various types of IO subsystem and their expected performance and will provide tools for validating the attendes systems.

Title      : Predictive Analytics for Management Oracle Exalogic and Exadata Cloud Environments
Speaker    : Boris Zibitsker
Description: Oracle Exalogic and Exadata x2-8 provides a base for private clouds and workload consolidation. Each workload has unique profile different seasonal peaks and different SLOs. It is easy to create a policy controlling resource management but difficult to find rules capable to satisfying SLOs of the individual workloads. In this presentation we will review several case studies for multi-tier distributed Oracle Exalogic and Exadata environment supporting mix workloads and will illustrate how predictive analytics evaluate options to justify strategic capacity planning tactical performance management and operational workload management decisions. We will review modeling results showing the interdependence between workloads and servers in multi-tier environment and will discuss best practice of organizing continuous proactive performance management process





言い忘れましたが、本日、始めてExa関連のセミナーに出たのですが、なんと講師含めて3人!

USではExaは、あまり流行じゃないのか!?と思わせる感じです。明日はExa周りを中心に出て、状況を確認したいと思います。



では、Shallahamerのセッションで印象に残ったことをつらつらと。

まず、チューニングにおけるメソッドの話から、Ratioベース、Timeベース ... ここまでは普通。
しかし、これらはClassic Methodに分類されていました。彼の提唱しているのは "Oracle Response Time Analysis"。
これだけ聞くと、ミクロの世界のレスポンスタイムを分析する(Method Rに近い)のかと思ってしまったのですが、
実は全然違う(という全く逆でした)

何かというと(私自身、完全に理解していないで書いていることをご了承ください...)現実世界のチューニングの
多くはCPUボトルネック、IOボトルネックに二分される。

CPU、IOボトルネック双方とも、レスポンスタイムと仕事量(彼はArrival Rate(work/time)と言っていたので、
きっとTransaction/Secのように取れると思って聞いていた)の関係を見ると、どこかスレッシュホールドがあり、
その時点までは、Transaction数を増やしても、レスポンスタイムは傾きの小さい正比例になる。
しかし、スレッシュホールドを超えるとN次曲線になり、一気にレスポンスタイムが悪化する。

CPUボトルネックとIOボトルネックだと上記N次曲線のNの部分が異なる。IOボトルネックの方が大きい数字になる。

が現実として仮定して、"Oracle Response Time Analysis"の話を展開していました。

また、重要な点は、ミクロを見るのではなく、ワークロードをベースとした(だから、CPUボトルネックとか
IOボトルネックと単純形にできる)マクロとしてチューニングを捉える。ただし、マクロの測定は従来の
Timeベースを基本とする。という点。

だんだん、難しくなってきました。

で、従来のTimeベースは以下のようにレスポンスタイムを定義していました。
(というか自分の中ではTimeベースは従来ではなく現在なのですが...)

ResponseTime = CPU + Wait(not Idle)

彼はこれを以下のように再定義しています。


ResponseTime = ServiceTime(CPU) + QueueTime(Wait(not Idle))

ほとんど、同じですが、ResponseTimeの意味を変化させています。

従来は
ResponseTime : ワークロードの概念がないので単純にデータベースが処理に費やした時間

変化後
ResponseTime : ワークロード(CPU/IO)を加味したモデル上での統計的な時間

この"統計的"がミソで、私自身の不勉強で全くの謎です(マジックナンバーにしか見えなかった)

これで、何が良くなるか(or 良くしようとしているか)というと

特定処理に対して、(例えば xxバッチ)、この処理のIO特性を考慮すると、統計的にレスポンスタイムと
処理量の関係が導出されて(グラフ化できて)、処理量をどのように変化させるとレスポンスタイムが
どのように変化すると推定が可能になる。

また、その時のスレッシュホールドも分かるので、「ここまで処理量を上げても大丈夫」とか言える。
逆に、この処理量でこのレスポンスタイムを目指すなら、IO特性をこう変える(要はチューニングして、変える)
必要がある。

みたいに言える。と説明してました。

正直、全く腑に落ちてませんが、また、新しいチューニングメソッドの誕生なのだと思って勉強が必要だと思ってます。
こんな内容を、笑いながら話されても、ちょっと。。。

ちなみに最初の画像は、上記の"統計的"ミソな部分の数式を書き留めておいたものですが、現状、意味不明です。

2011/04/13

IOUG (Collaborate11) in Florida 3rd

今日は、有名?なPythianのAlex Gorbachev(*1)とOraPubのCraig Shallahamerの セッションを楽しみにしていたのですが、残念ながらGorbachevのセッションはキャンセルになっていました。ただ、Shallahamer のセミナーは結構楽しいものでした。

(*1) 昔BAAG(Battle Against Any Guess)というチューニング用語(というか方針)を聞いてなるほど。と思っていたのですが、これを主宰したのがAlex Gorbachevだと今知りました。
また、関係ないですが、BAAGのネーミングはBAARF(Battle Against Any Raid Five)に似ていると思っていたら、BAARFを参考に考えたと記載がありました。

本日参加したセッションは以下。

Title      : MySQL Bootcamp: MySQL From a Point of View of an Oracle DBA
Speaker    : William Brock
Description: Both Oracle and MYSQL databases have literally thousands of features and functions. How they are implemented and what features are available can vary widely. Having a simple checklist is virtually useless unless you have an excellent working knowledge of the "guts" of the database (something that can only be obtained by experience actually using the products). The presentation will be from the point of view of an experienced Oracle DBA and a novice MYSQL DBA. The focus will be on administration performance tuning and terminology. By providing an understanding of the differences will help in any migration and/or which RDBMS is appropriate for a particular use. Topics will be limited to default installations of both database.

Title      : Resolving Buffer Busy Related Contention
Speaker    : Craig Shallahamer
Description: Of all the Oracle wait events the buffer busy wait and read by other session are two of the most intriguing. While Oracle never officially locks a buffer during high concurrency situations buffers can become too busy to access. A methodical step-by-step diagnosis and a solid grasp of the relevant Oracle internals is particularly important because there are a number of reasons why a buffer can become too busy and the solutions are derived in part by understanding the underlying Oracle structures. This presentation guides you through the process of discovering if there is a significant problem the related Oracle internal structures wait event name changes a spot-on diagnosis method and solutions for the most common situations you're likely to face. The presentation closes with a case study bringing together all the presented material.

Title      : High Performance OLTP and BI Applications Using In-Memory Database
Speaker    : Susan Cheung
Description: Although real-time Business Intelligence and OLTP applications have drastically different response time requirements both require real-time response to the applications. Flash storage and in-memory database technology are used to improve application response time and throughput. Neither technology is a substitute for the other. Come learn how in-memory database technology complements your storage selection to accelerate application performance by caching performance-critical subset of data from the Oracle Database to in-memory database cache grid in the application tier. Applications continue to read/update data using JDBC OCI PL/SQL Pro*C and ODP.NET while benefiting from accelerated performance automatic synchronization and high availability.

Title      : Oracle Golden Gate: What is all the fuzz about?
Speaker    : Borkur Steingrimsson
Description: After the acquisition of GoldenGate and the roll-out of the latest release a lot of talk has been of this new addition to the technology stack. This paper will take the uninitiated through an introduction to Oracle GoldenGate installation steps setting up the first data loads and look at how Oracle GoldenGate interacts with ODI to implement a Change Data Capture scenario for a real-time data warehouse. Presentation mixed with life demonstrations will strive to give the audience a good idea what all the fuzz is about.

Title      : Why Are We Fighting? Solving Oracle Database I/O Performance Bottlenecks
Speaker    : Jim Czuprynski
Description: Diagnosing an Oracle database that's performing poorly because it's memory-bound or CPU-bound is easier than ever but I/O performance tuning is still more art than science. Join Jim Czuprynski for a somewhat humorous look at helping heal the rifts that sometimes develop between storage administrators and Oracle DBAs whenever I/O subsystem bottlenecks cause Oracle database I/O performance problems.


では、本日のトピック

Title      : Resolving Buffer Busy Related Contention
Speaker    : Craig Shallahamer


その名の通り、buffer busy waitに関するセミナーなのですが、出だしはcache buffer chain、cache buffer lru chain、dirty listなどのbuffer cache上の構造の話、続いてbufffer cacheの話なので、x$bhの話になり、最後に本題のbuffer busy waitの話の流れ。
で、buffer busy waitをbuffer busy waitとread by other sessionに分解し、それぞれ、waitが発生しそうな事象(正確にはブロック)の話。
内容自体は正攻法なのですが、最後の辺りは、もう少し突っ込ん話が良かった気がします。

その中で(前半のbuffer cacheの構造の話)OraPubがフリーで提供しているBuffer Cache Visualizer(正確にはExploring Buffer Cache (Mathematica Notepad))が紹介されていました。きっと、ほとんどの方に不必要だと思われるのですがBuffer Cacheの構造を視覚的に理解できるので良いツールです。

一度、SQLを実行して、どんなラッチを取得して、そこでどんなシチュエーションで、どんな待機が発生しうるのか? その長い道のりを経て、SQLの結果がユーザーに返されるのかをまとめたいと思っていたのですが、そこの説明に役立ちそうです。

* ちなみに、稼働中のOracleのBuffer Cacheの状態を視覚化するツールではないです。各チェーンのバケツがいくつあって、その具であるブロックがいくつあると、こんな感じの構造になりますよ。というのを視覚化してくれるので、構造理解に役立つツールです。

* あと、上記ツールはフリーですが、OraPubのWeb上で購入するという手続きが必要です($0で買うイメージ)


最後に、今日は午後の2時間は、Dedicated Exhibitor Showcase Hoursということで、会場内のホールに出展された各ベンダーさんを見る時間でした(当然強制じゃないです - そのため今日は、8時からセミナーが開始されてました)

一応、Big3も仲良く出展してました。(順不同、一応...)





2011/04/12

IOUG (Collaborate11) in Florida 2nd

今日から本格的なIOUGのセッションが始まりました。昨日も書きましたがIOUGはOracleに限らず、データベース全体のセッションも増えてきています。中でもMySQLのセッションが相対的に増えています。
しかし、(これは私の主観ですが)IOUGの参加者はOracleに関するDBAが多いので、MySQLのセッションの人気は今ひとつのように感じます。

本日参加したセッションは以下です。

9:00 - 10:15
Title      : SQL Techniques
Speaker    : Tom Kyte
Description: The presenter will describe common SQL techniques he has encountered and utilizes day to day to tune query performance. Features such as scalar subqueries using rownum (yes to 'tune') analytics, some hints, and more will be demonstrated. Emphasis will be on when they work (where the 'trick' applies) as well as when they don't work where they do not apply. Care will be taken to show these not as a "top 10 things to do" but rather techniques to keep in mind when looking at problems in general.

10:30 - 11:30
Title      : Understanding Solid State Disk and the 11GR2 Database Flash Cache
Speaker    : Guy Harrison
Description: Solid State Disk (SSD) is rapidly becoming a viable supplement - and sometimes an alternative - to traditional magnetic disks for database storage. In this presentation we'll review SSD technologies, performance, and economics for Oracle databases. In particular we'll look at the new Oracle 11GR2 Database Flash Cache and see how it can be used to accelerate database performance.

13:15 - 14:15
Title      : MySQL: The Ecosystem, The Product
Speaker    : Kaj Arno
Description: MySQL (R) is a database owned by Oracle. But it's a different creature. It's open source which means much more than just being licensed under the GPL. It has a user base of over 10 million. It comes with an outspoken and seemingly disorganised community with clear expectations. It has a worldwide ecosystem. The originating company MySQL AB hasn't just made itself known for the $1 billion acquisition by Sun and for its Scandinavian drinking songs. It also has a passionate set of founders, early employees, engineers, experts, and managers, not all of which today carry Oracle business cards. This session aims at helping the IOUG make sense of all this. What's the same? What's different? And what does it mean for the future, for me as an IOUG attendee?

14:30 - 15:30
Title      : Understanding Wait Events in RAC
Speaker    : Arup Nanda
Description: You have seen them - GC Block 2-Way or 3-way. What does that actually mean? How do you improve the performance if you don't understand what the term actually means. In this session you will understand the fundamental concepts of RAC and the reasons for some command GC wait events and how to resolve them. In addition you will learn the concepts of mastering and dynamic remastering as well.

15:45 - 16:45
Title      : The Most Common MySQL Scalability Mistakes and How to Avoid Them
Speaker    : Ronald Bradford
Description: The most common mistakes are easy to avoid however many startups continue to fall prey with the impact including large re-design costs delays in new feature releases lower staff productivity and less then ideal ROI. All growing and successful sites need to achieve higher Availability seamless Scalability and proven Resilience. Know the right MySQL environment to provide a suitable architecture and application design to support these essential needs.

17:00 - 18:00
Title      : Oracle Keynote Presentation - Oracle's Cloud Computing Storategy
Speaker    : Steve Miranda (Senior Vice President of Fusion Application Development)


この中で、トピック的に気になったものを紹介


Title      : Understanding Solid State Disk and the 11GR2 Database Flash Cache
Speaker    : Guy Harrison

SSDは容量単価($/GB)は高いが、性能単価($/IOP)は安いので、SSDがHDD見たいに安くなるのを待っていることはない。という部分。また、SSD(SATA)とSSD(PCIe)とSSD(DRAM)のパフォーマンス比較も他にあまりない部分なので、なかなか面白かった。(さすがにPCIeとDRAMのSSDは比較したくても、ちょっと手が出ませんので。。。)

あと、このプレゼンテーションはslideshareにアップされているので、以下に紹介しておきます。


Title      : MySQL: The Ecosystem, The Product
Speaker    : Kaj Arno

このセッションは、MySQLがMySQL ABからSun Microsytemsに買収され、現在はOracleになっている歴史的な話でした。中でもMySQLのユーザーコミュニティーと既存ユーザーベースが大切で、今後も大切に扱うだろう。との話でした。
セッションの内容はともかく、セッション後の質問で(IOUGなのでOracle DBAの方が多い前提です)以下のようなやりとりがあり、個人的にはとても面白かったので紹介

質問者 1
「(プレゼンテーション中にあった)MySQLのユーザーとしてfacebook/google/eBayなどがあるけど、RDBMSで最強のOracleをなぜ使わないの?」

回答者
「様々なテクニカルな要因はあると思うが、やはりランセンスコスト!」

当たり前の話なのですが、やはり、こちらのDBAはライセンスコストとか基本的に気にしてないのか!?。と感じさせる一幕でした。

質問者 2
「(プレゼンテーション中にあった)MySQLがとても簡単に使えるとあるが、管理とか簡単? いろいろシェルスクリプトと書く必要ありますよね?」

回答者
「そりゃー、MacみたいなGUIが付いていれば良いのだけど。。。でもシェルスクリプト最高じゃん」

シェルスクリプトが最高かどうかは置いておいて、「最高じゃん」と言われると、なんか納得させられた。


Title      : Understanding Wait Events in RAC
Speaker    : Arup Nanda

プレゼンテーションの内容自体は、Cache Fusionの動きを説明して、特徴的なWait Eventについて解説しているものです。これも内容はともかく、プレゼンテーションの手法が、ある意味新しい。

あの、面倒なCache Fusionの話を、簡単の絵はあるものの、基本的には言葉だけで説明していく。という自分がプレゼンテーションするなら、絶対にやらないであろう手法で説明しきったNandaさんは、相当、ハートが強いのだろうと思いました。


後は、今日のスナップショットを少しだけ

- 続々、会場に集まる人々(2階がOAUG/Quest、3階がIOUGの会場)


- 前のめりで聴講する一緒に行った松尾さん


- 本日最後のOracle Keynoteの様子

2011/04/11

IOUG (Collaborate11) in Florida 1st

微妙に時差ボケしてますが、現在IOUG主催のカンファレンスColloborate11に参加しています。

場所はOrange County Convention Centerです。(地図上のAのところ)


大きな地図で見る

 
本日は、初日ということで多くの人がレジストレーションにやってきています。

ただ、レジストレーションでは、PCに扱いに慣れないマダムに対応して頂いたのですが、なかなかPCの操作が上手くいかないようで1時間くらいかかってしまいましたが。。。
以前はIOUG単独の開催でしたが、現在はOracle社の様々な買収により様々なユーザーグループが共同で開催されています。

今回(というか前回('09)も)はOAUG(Oracle Applications User Group)とPeoplesoftやJDEdwardsなどのユーザーグループのQuestが共同で開催しています。

また、今回は、Sunとの合併により、MySQLのセッションの多さも目につきます。

とりあえず、明日から、データベース周りのセッションを中心に見ていこうと思います。MySQLも面白そうなセッションがあるので、Guru & Geekのセッションを聞いてみたいと思います。





それはそうと、以前、IOUGでもらったバッグと比べて、今回のバッグは若干チープになっている気が。。。

Collaborate09のバッグ  
Collaborate11のバッグ

あと、全く関係ないですが、時間があったので、Chicago Bulls vs. Orlando Magic戦を観戦。地元のMagicは惜しくも負けましたが白熱した試合でした。(ちなみに最後列の最上段の席なので、ものすごく小さくしか見えないのですが、臨場感はバッチリでした)