X

Author Profile

Yusuke Yamamoto

Recent Posts by Yusuke Yamamoto

Oracleはデータを圧縮すると検索が速くなる?~BI/DWHで試してみました(2)

Oracle Database では、BIツールのような上位のアプリケーションに手を加えることなく、性能課題を容易に解決する機能が実装されています。デモンストレーションを通じて、これらの機能を紹介していきます。 データの圧縮は単純にストレージ容量が節約できるだけではない! デモンストレーション(04:20)の流れは、以下の通りです。 Enterprise Manager で、非圧縮表と圧縮表の行数が同じであることを確認する 非圧縮表と圧縮表でフルスキャンを実行する Enterprise Manager の「SQLリアルタイム監視」機能で実行された処理のI/Oリクエストを確認する このデモンストレーションは、Oracle GRID Center の環境を利用して実施しました。 各機能の詳細は、以下のセミナー資料をご覧ください。 【セミナー資料】DWHの性能向上を実現するデータベース・テクノロジー解説 参考資料 【セミナー動画/資料】徹底解説!! データベース圧縮のすべて ~検証結果・事例に基づくベストプラクティス~ データベース圧縮: Advanced...

Oracleのパラレル処理は簡単?速くなる?~BI/DWHで試してみました(1)

Oracle Database では、BIツールのような上位のアプリケーションに手を加えることなく、性能課題を容易に解決する機能が実装されています。デモンストレーションを通じて、これらの機能を紹介していきます。 Oracle Database 11gR2 で、より手軽になったパラレル処理を試す デモンストレーション(03:55)の流れは、以下の通りです。 BIでレポート画面を表示する(Oracle Database はシリアル処理で実行) Enterprise Manager の「SQLリアルタイム監視」機能で実行中の処理を確認する 初期化パラメータを変更し、「自動パラレル度設定」を有効にする BIでレポート画面を表示する(Oracle Database は自動的にパラレル処理/In-Memory Parallel Execution を行う) Enterprise Manager の「SQLリアルタイム監視」機能で実行された処理を確認する このデモンストレーションは、Oracle GRID Center の環境を利用して実施しました。各機能の詳細は、以下のセミナ...

ASP.NETのセッション管理はCoherenceで~SQL Server格納でパフォーマンスに困っている方へ

ASP.NET のセッション管理に関して、パフォーマンスに困っていませんか? ASP.NET のセッション情報を SQL Server に格納しているという時に聞かれるのがパフォーマンス・ボトルネック。 そんな時は、インメモリ・データグリッドである Oracle Coherence へ ASP.NET のセッション情報を格納することを検討してみてください。 Oracle Coherence 3.6 より、ASP.NET のセッション情報を Coherence 上で管理する Session Provider を提供しています。 SQL Server セッションプロバイダよりも格段に速くスケーラブル + ディスク節約、高信頼性 柔軟なセッションモデルを全てサポート:Traditional/Monolithic/Split 既存アプリケーションのコード変更は当然不要 → web.config ファイルの修正のみで対応可能 設定によって、アプリケーションをまたいだセッション共有も可能 参考資料 【セミナー資料】最新版 Oracle Coherence 3.6 登場 Ora...

オラクルコンサルタントが教える「最低限のSQLコーディング・ルール」4箇条とその例

「最低限のSQLコーディング・ルール」は大きく4つのカテゴリに分かれます。 それぞれ例を挙げていますので、ルール策定の参考にしてみてください。 1. アーキテクチャに伴う性能問題を避けるためのルール 例:「バインド変数の使用」 指針 WHERE句に条件を指定する場合は、バインド変数を使用する 理由 一般にOLTP系では、バインド変数を使用しない場合、本来必要でない再解析が多発し、CPU負荷の上昇や、共有プール内の他のSQL用の解析結果を追い出すことによるDB全体のスループット低下を招く可能性が高くなるためです 注意点 アプリケーションでSQLを生成するような場合には特に注意してください。SQLの内部に値を直接付け加えるのではなく、(JDBCであれば) setInt、setStgring 等を使用し、必ずバインド変数を使用してください なお、このルールは一般にOLTP系のガイドです。DWH系のシステムでは、バインド変数を使用せずに、値データの異なるSQLを共有させず、SQLごとに最適な実行計画で処理を行った方が性能がよい場合もあります 2....