MySQL最新情報と、データベースのお勉強のススメ-第68回PHP勉強会

  • 1,086 views
Uploaded on

2013年5月27日(月)に開催された、第68回PHP勉強会で、MySQLおよびデータベースについてお話をさせていただきました。 …

2013年5月27日(月)に開催された、第68回PHP勉強会で、MySQLおよびデータベースについてお話をさせていただきました。
MySQLのバージョン番号についての基本的な話題から、MySQLの最新情報まで、そして、先週発売されたばかりの、セルコ「プログラマのためのSQL」第4版の紹介もあります。

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,086
On Slideshare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. MySQL 最新情報と、データベースのお勉強のススメ@sakaik2013/05/27第 68 回 PHP 勉強会
  • 2. @sakaik
  • 3. @sakaik• 足場は、「データベース」            (主にMySQL )• 日本 MySQL ユーザ会• PHP は最近、ご縁が少なめ• 最近(趣味では)改めて Delphiとか一応「副代表」をやってます。よくできたツール ( 環境 + 言語 )ですよ。iPhone 向開発もできるし。
  • 4. 本日のメニュー• MySQL の概要と最新バージョンの紹介• MySQL よりももっと大切なこと。  「データベース」のお勉強のススメ       --セルコ『プログラマのための SQL 第4版 日本版』豪華2本建て!!
  • 5. 私の立脚点• みんなが最先端を追う必要はない• 自分に必要な部分だけを使えばいいじゃない最先端の話題は、わくわくするし、格好良くて憧れるけど、それが自分に必要なものとは限らない。情報に振り回されずに、「自分に必要なことを実現するために」道具を使いましょう。
  • 6. MySQL の基礎知識• RDBMS (リレーショナル・データベース管理システム) です。• RDBMS とは、データの安全な格納、高速な取り出しを基本とし、その他便利な機能をいっぱいつけたものです。• 「ストレージエンジン」レイヤの分離が特徴
  • 7. M y SQL のバージョン番号• MySQL のバージョン番号は X.Y.Z 形式。X.Y の部分がメジャーバージョンです。 (バージョン X.Y シリーズ、という言い方をする)• 各メジャーバージョンでは、– Alpha 、 Beta 、 RC または、– Milestone 、 RC5.1 シリーズとか、 5.6 シリーズとか。5.1.28 とか、そういう感じバージョン番号の後ろに、 m4 とか m5 とかついているのが「マイルストンリリース」です。ほぼベータレベル。
  • 8. MySQL のメジャーバージョン• MySQL 3.23 (2001) みんなが使い始めた• MySQL 4.0 (2003) 使いやすくなってきた• MySQL 4.1 (2004) ノーコメント• MySQL 5.0 (2005) 大きな進化• MySQL 5.1 (2008) 更に大きな進化• MySQL 5.5 (2010)Oracle 後初のメジャー• MySQL 5.6 (2013) 現在の最新バージョン
  • 9. MyNA (日本 MySQL ユーザ会)■ 略歴1997年 とみたまさひろ氏が日本語化パッチ作成1998年 メーリングリスト( ML )開始2000年 「日本 MySQL ユーザ会 (MyNA) 」        として発足現在に至る MyNA: MySQL Nippon Association
  • 10. 参考: M y SQL の歴史• 1995年 TcX が初バージョン公開– 1997年 Ver.3.20 が stable に• 1998年 日本語パッチが採用される• 2000年 MySQL AB 設立– 2001年 Ver. 3.23 が stable に– 2003年 Ver. 4.0 が stable に– 2004年 Ver. 4.1 が stable に– 2005年 Ver. 5.0 が stable に• 2005年 Oracle が InnoBase を買収• 2006年 MySQL KK 設立• 2008年 Sun Microsystems が買収– 2008年 Ver. 5.1 が stable に• 2010年 Oracle が買収– 2010年 Ver. 5.5 が stable にユーザ会の歴史と見比べてみてください。
  • 11. MyNA (日本 MySQL ユーザ会)■ 目的– 日本での MySQL の普及を図る– ユーザ間のコミュニケーションを図る– MySQL の日本語化の検証/開発を行う参考:  「 MySQL ユーザ会のこれまでとこれから」@デブサミ 2011     http://www.slideshare.net/tmtm/mysql-6956074必見!
  • 12. 閑話休題
  • 13. MySQL 最新情報(再掲)• MySQL 5.5 (2010)Oracle 後初のメジャー• MySQL 5.6 (2013) 現在の最新バージョン• MySQL 5.7 開発中 (milestone)
  • 14. MySQL 5.5 ちょっとだけ• utf8mb4 対応   http://www.mysql.gr.jp/frame/modules/bwiki/index.php?cmd=read&page=utf8_4• PERFORMANCE_SCHEMA 登場• mysqld オプションの default-character-set 廃止 > character-set-server に。           http://d.hatena.ne.jp/sakaik/20100414/mysql533obsol4 バイト UTF-8いろんな実行状態の数値情報を見られるの。でも 5.5では、まだ見られるものは少ない。以前のバージョンから 5.5 にあげたとき、ハマるよね。エラーになった場合、 mysqld 起動ログには、ちゃんと書かれているんだけど、意外と見落としがち。
  • 15. MySQL 5.6  ( GA)• InnoDB の高速化、便利化– 処理スレッドの役割見直し– Mutex 処理の最適化– 統計情報を再起動後も引き継ぎ可能に– デッドロック検出をエラーログに出力可能に• INFORMATION_SCHEMA の充実• PERFORMANCE_SCHEMA の充実• レプリケーションの強化– Binlog への書込をクラッシュセーフに– RBR (行ベースレプリケーション)のフォーマット指定可能に– 遅延レプリケーション見ることのできる内容が増えてきたよ。電源が ぶちっ と行っても、壊れにくく。リレーログから、スレーブ DBに反映するのを遅延させる。面白い使い方が色々妄想できます。
  • 16. MySQL 5.7 ( milestone)• InnoDB の更なる発展– 主にテンポラリテーブルに対する速度向上– 地理情報型をサポート! (前バージョンでは BLOB  型に突っ込んでいた)• 診断情報の取得 (GET DIAGNOSTICS)• mysql クライアントコマンドの進化– ctrl-c で終わらなくなった!(笑)– --syslog オプションの追加– --histignore オプションの追加 ( 履歴やログに残さないものの指定)• mysqlbinlog で DB 名を変更しての出力を可能に• HANDLER 文が、パーティショニングされたテーブルにも使用可能に実行中に、よく作ったり破棄したりするからね。最近の流れは「 InnoDB の高速化」 と 「内部の情報を得る仕組みの充実」と言えます。これ、超重要!
  • 17. 「データベースを知ろう」NEXTすんません。ここまでで十分に時間をオーバーしていたらしいのですが、豪華 2 本建ての2 本目、ここからはじまります。
  • 18. MySQL よりもたいせつなこと
  • 19. MySQL の使い方を一生懸命覚えようとしてちゃダメなんです!!
  • 20. 何故駄目七日• MySQL も PostgreSQL も DB2 もOracle 、それぞれ「単なるソフトのひとつ」• これらのソフトが作られた、根底となる考え方というものがある。• 考え方をつかむと、ツールの理解も早い!
  • 21. データベース界の三神• E.F.Codd -日本語で読める文献は殆どない• C.J.Date• J.CelkoRDBMSの発明者NULL嫌い本日の話題の主役
  • 22. Chris. J.DateAmazonで  69,999 で入手可能 こちらも絶版?
  • 23. セルコウクライナの昔話です。 老犬と狼の心温まる友情物語!これを読んでも、データベースに詳しくは なりません。・・・が 話題作りには役立ちます。これも、 Amazon で在庫なしになっていました(絶版?)もちろん私は持っています。
  • 24. Joe Celko2001年日本語版12 年前に翻訳された本ですが、色褪せない内容。でも英語では、もう第 4 版が出ている。。。
  • 25. Joe Celko12 年の沈黙を破り、第 4 版の日本版待望の出来!
  • 26. セルコ『プログラマのためのSQL』 第4 版• 発売日: 2013/05/23• 著者: セルコ• 監訳: ミック• ページ数: 約 800 ページ• 厚さ: 約4cm• 価格: ¥4,830日本人アメリカ人
  • 27. あの、分厚くて重かった第 2 版が、可愛く見える!
  • 28. セルコ『プログラマのためのSQL』 第4 版• RDBMS 的考え方の基本• 膨大な量の翻訳• 内容の検証、修正• ふんだんな訳注• 隅々まで行き届く気配り
  • 29. セルコ『プログラマのためのSQL』 第4 版• 協力させていただきました(査読)• 1 月から約4ヶ月 (翻訳が完了した後の作業だけで、これだけかかる!)■ sakaikのコダワリ• 読む人のストレスをなるべく軽減する ツメの甘い本を見るたびに、残念に思っていました。  表記上の凡ミス、コードと説明の不一致など、つまらないことで読む意欲が落ちてしまうことは減らしたいなぁと( 本書に限らず ) 思っています。翻訳は一体どれくらいかかたのか。
  • 30. セルコ『プログラマのためのSQL』 第4 版重要ポイント• SQLは集合だ!手続き型(ぐるぐる)ではない。• NULLには十分気をつけろ ( できれば避ける)• あとはRDBMSやSQLの基本的な考え方を  しっかりと説明 ( ACID 、分離レベル、etc )
  • 31. セルコ 4 版 もくじ• 第 1 章 データベース VS ファイルシステム• 第 2 章 トランザクションと同時実行制御• 第 3 章 スキーマレベルのオブジェクト• 第 4 章 ロケータと特別な数• 第 5 章 基底テーブルとそれに関連する要素• 第 6 章 手続き型プログラミング、半手続き型プログラミング、宣言型プログラミング• 第 7 章 手続き型の遺産• 第 8 章 補助テーブル• 第 9 章 正規化• 第 10 章 数値型• 第 11 章 時間型• 第 12 章 文字列型• 第 13 章  NULL : SQL における失われたデータ• 第 14 章 複数列のデータ要素• 第 15 章 テーブルの操作• 第 16 章 比較演算子またはシータ演算子• 第 17 章 評価述語• 第 18 章  CASE 式• 第 19 章  LIKE 述語と SIMILAR TO 述語• 第 20 章  BETWEEN 述語と OVERLAPS 述語• 第 21 章  [NOT] IN 述語• 第 22 章  EXISTS 述語• 第 23 章 量化子とサブクエリ述語• 第 24 章 単純な SELECT 文• 第 25 章 高度な SELECT• 第 26 章 仮想テーブル─ビュー、導出テーブル、共通表式、マテリアライズドクエリテーブル• 第 27 章 クエリによるデータの分割• 第 28 章 グルーピング演算子• 第 29 章 単純な集約関数• 第 30 章 高度な集約、ウィンドウ関数、 OLAP• 第 31 章  SQL における記述統計• 第 32 章  SQL における数列の扱い• 第 33 章  SQL における配列• 第 34 章 集合演算• 第 35 章 部分集合• 第 36 章  SQL で木と階層構造を扱う• 第 37 章  SQL におけるグラフ• 第 38 章 時間を扱うクエリ• 第 39 章  SQL の最適化
  • 32. この本は難しいです。• これからDBMSを学ぶ人• 今まで単に「ツールの使い方」を覚えてきただけの人重要事項の説明:35 号書面こんな人は、この本を読んでも、最初はちんぷんかんぷんだと思います。でも、それでいいんです。 本書の内容に触れることが大切!
  • 33. sakaikの意見• この本に書かれていること全てに同意する必要はない。 • この本に書かれていること全てを理解する必要はない。• スゴイ人が語ってくれる内容に触れておくことは、いつか、絶対に役に立つ。「絶対に」です!
  • 34. セルコ第 4 版は難しいところも多いと思う。でも、お手元に一冊。12 年間色あせなかった第 2 版の実績。
  • 35. 最後に• この本は、セルコ 4 版の「単なる日本語への翻訳版」ではありません。• 英語版よりも、より正確で、丁寧で、愛にあふれた本になっていると思います。• この本を 「セルコ4版の日本版」と呼びたい(日本語版ではなく)
  • 36. http://d.hatena.ne.jp/sakaik/20130519/celko4jaAmazon でのご購入は、こちらから:-)  
  • 37. セルコ『プログラマのためのSQL』 第4 版• 発売日: 2013/05/23• 著者: セルコ• 監訳: ミック• ページ数: 約 800 ページ• 厚さ: 約4cm• 重さ: 未計測• 価格: ¥4,830
  • 38. 特別プレゼントタイム先週出たばかりのセルコ4版をいまこの場であなたの手に!※ 翔泳社さん、ミックさん、ご提供ありがとうございます!Amazon では今、1 ~ 4 週間待ち!
  • 39. Thank you