YAPC::Asia 2009

DBIX::ClassとMySQLによるPerlアプリケーションのスケーリング術

By john napiorkowski (‎jnap‎)
Date: Wednesday, 16 September 2009 09:00
Duration: 400 minutes
Language: English
Tags: catalyst class dbic dbix mysql perl


(English follows Japanese)

応募方法:
kenshu@perlassociation.orgまでご連絡ください。

開催日時&場所:
2009年9月16日 9時入場 9:15開始 終日

研修費: 40,000円

概要:
軽快に動くウェブサイトを作る際にORM(Object Relational Mapper)を使う流派は主流ではありませんでした。しかし,DBIx::ClassというPerl用のORMはその流れを変えます。DBIx::Class(以下DBIC)には,使い始めたその日から利用できる,開発者がかかえる多くの問題に対処するだけの選択肢があります。DBICはMySQL純正のレプリケーションを標準でサポートしているだけではなく,状況に応じて最新かつ拡張性のあるアーキテクチャを作り上げることができます。
DBICはCatalyst(Perlプログラマに最も人気のあるモデル/ビュー/コントローラフレームワーク)と組み合わせて気軽に短時間で柔軟性のあるウェブアプリ開発ができるだけではなく,スクリプト言語を使った機動的なプラットフォームに付き物なパフォーマンス問題を回避することができます。

このコースで扱うトピックは以下のようになります:

-- パフォーマンス劣化の一般的な理由とそれを避ける基本的な方法
-- データベースやウェブサイトの性能測定方法
-- 時間のかかるクエリのデバッグ方法:DBICやCatalystのログツールを使う
-- よいクエリをデザインする方法:SQLをどう抽象化し,いつ生で使うべきか
-- 性能向上のためにDBIC ResultSetオブジェクトを最適化する方法
-- アプリケーションの色々なレベルでキャッシュを使う方法
-- E-Rモデルを非正規化する正しい方法
-- DBICのMySQLレプリケーション対応機能を使う方法
-- DBICの分散DB実装方法
-- 時間のかかるクエリを別処理するための非同期ジョブキューの使い方
-- Spinxを使った,非常に高速な全文検索の方法

講師について:John Napiokowski氏は1994年の夏から人に教えることを始め,1995年からDBIといろいろなデータベースを組み合わせたPerlアプ>リの開発を始めました.DBIx::Class開発に積極的に貢献を始めた2005年からずっとDBICを使っています。2008年3月にはMySQLレプリケーションを含むストレージレベルのレプリケーションにまで使えるDBIx::Classのサブプロジェクトを始めました.普段書いているブログはhttp://jjnapiorkowski.vox.com/です

研修運営局のコメント:
DBIx::Classは前からありますが常に進化し、最新技術を取り入れ完成度の高いモジュール群です。ウェブアプリケーションのみならず、PerlのみでDBの最大限のパーフォマンスと柔軟性を出してみますか?

Send kenshu@perlassociation.org an email to apply for this course.

Date: September 14, starting at 9:15.

Cost: 40,000 yen (approx $421 USD)

Description:

When one has the need for a speedy website, using an Object Relational Mapper doesn't usually come to mind. The DBIx::Class ORM for Perl challenges this notion. DBIx::Class (or “DBIC”) comes out of the box with a plethora of options to help you handle really big loads. From it's ability to finely tune your SQL to it's built in support for MySQL Native Replication, DBIC let's you optimally use the equipment you already have while creating the possibility for advanced, scalable architectures. In addition DBICs deep integration with Catalyst (Perl programmings most popular Model/View/Controller Framework) allows you to leverage these tools to not only enjoy rapid and flexible web application development, but helps you avoid paying the performance penalty often associated with agile scripting platforms.

Topics covered in this course:

-- Common causes for bad performance and basic strategies for avoiding them.
-- How to measure database and website performance.
-- Debugging slow queries: Using the DBIC and Catalyst logging tools.
-- Good query design: Optimizing your SQL Abstract and when to use native SQL.
-- Optimizing DBIC ResultSet objects for high performance.
-- Using Caching at all levels of your application.
-- The proper way to de-normalize your entity – relationship model.
-- Using DBICs support for MySQL Native Replication.
-- How to use the DBIC Partitioning system.
-- How to use an asynchronous job queue to offload long running SQL queries.
-- Using Spinx for blazingly fast full text search.

About the teacher: John Napiorkowski first began teaching classes in the summer of 1994 and has been developing Perl applications using DBI and various databases since 1995. He's been using DBIx::Class since 2005 when he became an active contributor to the project. In March of 2008 he create a subproject in DBIx::Class that eventually lead to supporting storage level replication, including MySQL native replication. He blogs regularly at http://jjnapiorkowski.vox.com/

Attended by:

Sponsors

Brought To You By

YAPC Sponsors

  • O'Reilly Japan
  • Contents One
  • Six Apart
  • Booking.com
  • Fractalist
  • 募集中

Media Sponsors (50音順)

  • @IT
  • O'Reilly Japan
  • gihyo.jp
  • Shoeisha
  • 募集中

JPA Platinum Sponsors

  • S2 Factory
  • endeworks
  • GaiaX
  • DeNA
  • mixi
  • livedoor

JPA Gold Sponsors

JPA Silver Sponsors

  • Adjust
  • ADWAYS CO., LTD.
  • Intfloat
  • KDDI Web Communications
  • Seesaa Co. Inc.
  • Six Apart
  • Paperboy & co
  • Plugin and Core
  • Mobile Factory

JPA Bronze Sponsors

  • Soffritto
  • wadit