SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
Enter The Dolphin
                     〜今すぐはじめたい人のための MySQL 超入門〜




 奥野 幹也
 @nippondanji
 mikiya (dot) okuno (at) gmail (dot) com
免責事項
●
    本プレゼンテーションにおいて示されている見解は、
    私自身の見解であって、オラクル・コーポレーション
    の見解を必ずしも反映したものではありません。ご了
    承ください。
自己紹介
●
    今日は個人として来ています。
    –   http://nippondanji.blogspot.com/
    –   Twitter: @nippondanji
●
    現職は MySQL サポートエンジニア。
    –   2000 年にサン・マイクロシステムズ入社
    –   2007 年に MySQL KK へ転職
    –   気付くとまたサン・マイクロシステムズに・・・
    –   現在は日本オラクルに在席。
●
    日々のしごと
    –   MySQL トラブルシューティング全般
    –   Q&A 回答
        など
MySQL とは?!
MySQL とは
●
    オープンソースのリレーショナル・データベース・マ
    ネージメント・システム
●
    MySQL AB => Sun Microsystems => Oracle に
    よって開発。
●
    Web 開発においては圧倒的なシェア
●
    各種言語をサポート。
     –   PHP/Perl/Java/Ruby/C/C++/ODBC...
●
    使い易く、安定して、高速に動作するのがウリ

    http://www-jp.mysql.com/
    http://dev.mysql.com/
難しい話はおいといて・・・



     簡単
     高速
     安定
ライセンス
●
    GPLv2
     –   Community 版
     –   サブスクリプションで利用可能な Enterprise 版
●
    コマーシャルライセンス
     –   OEM ライセンス
     –   サブスクリプションで利用可能な Enterprise 版




              サブスクリプションでは
              ライセンスを選択可能!
GPL - GNU General Public License
●
    リチャード・ストールマン氏により考案されたソフト
    ウェアライセンス
     –   1989 年〜
     –   世界で最も用いられているオープンソースライセンス
     –   フリー(自由な)ソフトウェアを実現するために考え
          られた。
●
    現在の著作権法の上に立脚
●
    Copyleft <===> Copyright
     – ユーザーに完全な自由を認める。
     –   再配布物(派生物や 2 次利用した作品)のライセンス
          を同じものにすることを要求。
GPL の適用範囲
●
    ライセンスを GPL にする必要がある場合
    –   GPL のソフトウェアを改造してまたはそのまま再配布
    –   GPL のソフトウェアを利用したソフトウェアを再配布
          ●
              GPL のライブラリをリンク
          ●
              GPL のソースコードを拝借
          ●
              プロセス間通信で GPL のプログラムと協調動作。(グ
               レーゾーン中のグレーゾーン!)
●
    ライセンスを GPL にする必要がない場合
    –   ソフトウェアを頒布しない場合。
    –   ネットワーク経由で GPL のプログラムと協調動作。
    –   単独で動作するプロセスとしてバンドル
    –   GPL の OS 上で動作する
    –   GPL のシステムライブラリを利用する
MySQL の機能的特徴
●
    ANSI SQL 標準に準拠(一部の文           ●
                                      UNION
    法を除く。)
                                  ●
                                      ビュー
●
    種々のプラットフォームをサポー
                                  ●
                                      サブクエリ
    ト( Windows 、 Linux 、 Mac 、
                                  ●
                                      INFORMATION_SCHEMA
    各種 UNIX 系 OS )
                                  ●
                                      SSL による通信
●
    ストレージエンジンによりデータ
                                  ●
                                      Unicode をはじめとした各種文字
    を格納するレイヤーを仮想化                     コードのサポート
●
    ACID 準拠のトランザクション
                                  ●
                                      全文検索
●
    XA トランザクション
                                  ●
                                      タイムゾーンのサポート
●
    非同期 Master/Slave 型レプリ
                                  ●
                                      多種多様な開発言語のサポート
    ケーション                             ( C 、 C+
                                      + 、 Java 、 Perl 、 PHP 、 Pytho
●
    水平パーティショニング
                                      n 、 Ruby など)
    ( Range 、 List 、 Hash 、 Key
    )
                                  ●
                                      ODBC による接続のサポート
●
    ストアドプロシージャ、ストアド
    ファンクション、トリガ
MySQL の構造的特徴
●
    モノリシックカーネル
●
    シングルプロセス・マルチスレッド
●
    1 セッション= 1 スレッド
●
    ストレージエンジン API によるデータストアの仮想化
●
    プラグイン API
●
    GNU Bison による Lexical Scanner
●
    コストベースのオプティマイザ
●
    全ての更新系クエリを保存するバイナリログ
●
    2 種類のスレッドで実装された非同期型レプリケーション
●
    移植性の高い関数群( MySQL システムライブラリ -
    mysys )を使って実装
●
    ソースコードは C/C++ 混在( 100 万行程度)
MySQL の仕組み
クライアント             クライアント        クライアント
  Java               PHP           ODBC




     コネクション       コネクション      コネクション
      スレッド         スレッド        スレッド
                                          SQL の解析と最
                                            適化は共通
   パーサー・オプティマイザ・アクセス管理 等


            ストレージエンジン API                 データの格納や
  MyISAM           InnoDB       MySQL     アクセス方法は
                                Cluster   ストレージエン
                    テーブル
 table_name.MYI
                    スペース
                                          ジンごとに違う
table_name.MYD                   NDB
                   ログファイル        API

                  MySQL サーバ


                                データノード
                                 データノード
                               データノード
                              データノード
History Of MySQL
●
    1979: MySQL の原形となるレポーティングツールが BASIC で書かれた
      – 後に C で書き直されることになる
●
    1985: Michael Widenius が TCX DataKonsult という会社をおこす。
      – データウェアハウスの会社
●
    1990 年代 : SQL インターフェイスを望む声
●
    1995: 最初のバージョンとして MySQL 1.0 がリリース
      – 一部のユーザーに向けた限定的なリリース
      – SQL のサブセットをサポート
      – Solaris 向け
      – オープンソースではなかった。
●
    1996: バージョン 3.11
      – Linux 向け
      – オープンソースに!
●
    2000: バージョン 3.23β 版が登場
History Of MySQL - つづき
●
    2001: バージョン 3.23 正式リリース
      – Berkeley DB をバックエンドとして利用可能
      – レプリケーションを実装( 1 スレッド)
●
    1999 〜 2000 頃 : MySQL AB 設立
●
    2001: 4.0α 版リリース
●
    2003: バージョン 4.0 正式リリース
      – InnoDB を採用
      – SSL による通信のサポート
      – UNION
      – レプリケーションの改善( 2 スレッド)
●
    2003: バージョン 4.1α 版、バージョン 5.0α 版
●
    2004: バージョン 4.1 正式リリース
      – サブクエリ
      – Unicode のサポート
      – 空間インデックス
      – プリペアードステートメントのサポート
History Of MySQL - つづき 2
●
    2005: バージョン 5.0 正式リリース
      – ビュー
      – ストアドプロシージャ&ファンクション
      – トリガ
      – カーソル
      – INFORMATION_SCHEMA
      – XA トランザクション
      – ARCHIVE 、 FEDERATED ストレージエンジン
●
    2005: バージョン 5.1α 版
●
    2008: バージョン 5.1 正式リリース
      – パーティショニング
      – 行ベースレプリケーション
      – XML 関数
      – イベントスケジューラー
History Of MySQL - つづき 2
●
    2005: バージョン 5.0 正式リリース
      – ビュー
      – ストアドプロシージャ&ファンクション
      – トリガ
      – カーソル
      – INFORMATION_SCHEMA
      – XA トランザクション
      – ARCHIVE 、 FEDERATED ストレージエンジン
●
    2005: バージョン 5.1α 版
●
    2008: バージョン 5.1 正式リリース
      – パーティショニング
      – 行ベースレプリケーション
      – XML 関数
      – イベントスケジューラー
History Of MySQL - つづき 3
●
    2009: リリースモデルの変更
      – 開発版には成熟した機能から順に追加
      – 一定期間経過後にバージョン番号を変更
●
    2009: バージョン 5.4 開発版
      – DTrace サポート
      – 性能改善
●
    2009: バージョン 5.5 開発版
      – InnoDB 性能改善
      – Semi-Synchronous Replication
      – 4 バイト UTF-8 対応
      – RANGE/LIST COLUMNS パーティショニング
      – PERFORMANCE_SCHEMA
      – XML 機能の拡充( LOAD XML 文など)
      – SIGNAL/RESIGNAL
免責事項 - その 2
●
    現時点( 2010 年 7 月)の段階では、 MySQL 5.5 は
    マイルストーンリリース( β 版)です。機能や実装
    については、予告無く変更される場合がありますので
    ご注意ください。
インストール。
インストールは 15 分 !!
●
    3 ステップ
     –   ダウンロード
           ●
               http://dev.mysql.com/downloads
     –   パッケージのインストール /unzip
     –   起動!!
●
    慣れれば 5 分でインストール可能
●
    Windows 版はインストールウィザードあり。
●
    GUI ツール : MySQL Workbench
     –   データモデリング( EER 図)
     –   サーバー管理
     –   データ操作
レプリケーション。
レプリケーションの仕組み
MySQL レプリケーションの特徴
●
    マスター/スレーブ型
     –   1:N 、多段型、サークル型、マルチマスターなどの多彩な
           トポロジ
●
    マスターでは更新を断続的に記録
     –   バイナリログ
     –   更新に用いた SQL 文そのものを記録するタイプのもの
          と、行データを記録するタイプのものアリ。
●
    スレーブの 2 つのスレッド
     –   I/O スレッド : マスターからバイナリログの差分を受信。
           リレーログへ記録。
     –   SQL スレッド : リレーログの内容をテーブルへ反映
スケールアウト戦略
           更新処理




アプリケーション



                            マスター




            スレーブ   スレーブ   スレーブ   スレーブ   スレーブ   スレーブ

  参照処理
レプリケーション進化の軌跡
●
    バージョン 3.23
     –   シングルスレッド
     –   ステートメントベース
●
    バージョン 4.0
     –   バイナリログの受信と適用が別スレッドに
            ●
                遅延の解消!
●
    バージョン 5.1
     –   行ベースレプリケーション
     –   MySQL Cluster レプリケーション
●
    バージョン 5.5
     –   Semi-Synchronous!!
MySQL 5.1 のレプリケーション
Semi-Synchronous
 レプリケーション
ストレージ
エンジン!
MySQL の仕組み(再掲)
クライアント             クライアント        クライアント
  Java               PHP           ODBC




     コネクション       コネクション      コネクション
      スレッド         スレッド        スレッド
                                          SQL の解析と最
                                            適化は共通
   パーサー・オプティマイザ・アクセス管理 等


            ストレージエンジン API                 データの格納や
  MyISAM           InnoDB       MySQL     アクセス方法は
                                Cluster   ストレージエン
                    テーブル
 table_name.MYI
                    スペース
                                          ジンごとに違う
table_name.MYD                   NDB
                   ログファイル        API

                  MySQL サーバ


                                データノード
                                 データノード
                               データノード
                              データノード
ストレージエンジンとは。
●
    データを格納するレイヤーを仮想化する API
     –   テーブルの作成
           ●
               メタデータ
           ●
               インデックス
     –   レコードの挿入、検索、削除、更新
     –   トランザクション管理
     –   クラッシュリカバリ
●
    上位のレイヤーで処理するもの
     –   SQL の構文解析
     –   実行計画
     –   JOIN
     –   集計処理
     –   クライアントとの通信
     –   レプリケーション
MySQL におけるトランザクションの実装
●
    トランザクションの管理はストレージエンジンが行う
     –   対応している分離レベルはストレージエンジン次第
●
    トランザクション対応のストレージエンジン
     –   InnoDB
     –   MySQL Cluster
     –   IBMDB2I
     –   SPIDER
     –   PBXT
InnoDB!!
InnoDB の特徴
●
    トランザクション対応!
    –   ACID 準拠
    –   MVCC と行レベルロックによる高い並列性
    –   デッドロック自動検出
    –   更新ログによるクラッシュリカバリ
    –   セーブポイント
    –   グループコミット
    –   XA トランザクション
●
    外部キー制約
●
    クラスタインデックス
●
    最大容量 64TB
●
    データ圧縮
InnoDB の動作イメージ
InnoDB の分離レベル

分離レベル          分離性   性能   ダーティ   反復不可能読   ファントム
                          リード    み取り
READ-           低     低   O      O        O
UNCOMMITTED


READ-                 高   X      O        O
COMMITTED

REPEATABLE-           高   X      X        X
READ

SERIALIZABLE    高     低   X      X        X
MyISAM!!
MyISAM の特徴
●
    トランザクション非対応
●
    テーブルレベルロック
    –   参照は共有ロック、更新は排他ロック
    –   更新性能は高くない
          ●
              SELECT をブロックしない INSERT は可能
●
    テーブルごとに別のファイルを作成
●
    フルテキストインデックス
    –   日本語を使う場合には Senna ストレージエンジンを
●
    空間インデックス
●
    内部的にテンポラリテーブルとして利用される。
テンポラリテーブル
●
    JOIN+ ソート処理などで利用される。
    –   ソート条件が駆動表以外のカラムになっている場合。
●
    サイズが小さいうちは MEMORY ストレージエンジン
    を利用
●
    サイズが大きくなると MyISAM へ自動的に変換
MySQL
Cluster!!
MySQL Cluster 概要
        アプリケーション




 SQL      SQL      SQL
 ノード      ノード      ノード


                           管理
         NDB API
                          ノード

データ                データ     管理
ノード                ノード    ノード




  データ               データ
  ノード               ノード
MySQL Cluster の特徴
●
    並列分散型リアルタイム RDBMS
     –   複数のノードが連動
     –   シェアードナッシング型アーキテクチャ
     –   ハイアベイラビリティ
●
    リアルタイムデータベース
     –   インメモリ型とディスク型のテーブル
     –   短い応答時間
     –   高いスループット性能
●
    トランザクション対応
     –   分離レベルは READ-COMMITTED のみ
●
    NoSQL アクセス
     –   NDBAPI
IBMDB2I!!
IBMDB2 の概要

   アプリケーション




MySQL

              DB2


              System i
IBMDB2 の特徴
●
    サポートしているプラットフォームは System i のみ
    –   MySQL は PASE で動作
●
    DB2 のテーブルへアクセス可能
●
    トランザクション対応
●
    既存のデータを使いつつ MySQL を使ってアプリを構
    築したいユーザー向けか?
その他の便利な
ストレージエンジン。
Built-in By Default!
●
    CSV
     –   テーブルの実体が CSV ファイル
     –   CSV ファイルを使ったインポート / エクスポート
●
    FEDERATED
     –   リモートの MySQL サーバ上へデータを格納
●
    BLACKHOLE
     –   全てのデータが消えてしまう。。。
●
    MERGE
     –   複数の MyISAM テーブルをまとめて一つの大きな
          テーブルに。(パーティショニングより小回りが利
          く?)
●
    ARCHIVE
     –   追記専用に最適化されたエンジン。
Community
 Driven!!
社外製ストレージエンジン
●
    SPIDER
     –   リモートの MySQL サーバーへデータを格納
     –   パーティションごとに異なるサーバーを指定
           ●
               大規模負荷分散
           ●
               SHARDING
●
    PBXT
     –   汎用型ストレージエンジン
     –   トランザクションや FK に対応
     –   追記型アーキテクチャ
●
    Senna/Tritonn
     –   日本語全文検索エンジン Senna を MySQL で使える
          ようにしたもの。
社外製ストレージエンジン - つづき
●
    Q4M
     –   ストレージエンジンとしてアクセス可能なメッセージ
          キュー
●
    KickFire
     –   SQL チップで処理を高速化
     –   DWH 向けアプアイアンス
●
    RethinkDB
     –   SSD での利用を前提にデータベースを再設計
●
    InifniDB
     –   DWH 向け
●
    TokuDB
     –   フラクタルツリーインデックス
SPIDER 動作イメージ

APP1       APP2     APP3     APP4

 n1         n2       n3       n4
SPIDER     SPIDER   SPIDER   SPIDER




 n5         n6       n7       n8

INNODB     INNODB   INNODB   INNODB
MySQL Cluster 概要(再掲)
          アプリケーション




   SQL      SQL      SQL
   ノード      ノード      ノード


                             管理
           NDB API
                            ノード

   データ               データ     管理
   ノード               ノード    ノード




    データ               データ
    ノード               ノード
業務システム
での利用!
典型的な利用イメージ

      アプリケーション




                       マスター
          マスター   HA
                      スタンバイ




                              バックアップ

          スレーブ         スレーブ


レポーティング
MySQL Enterprise サブスクリプション
●
    サービスとツールの統合パッケージ
     –   MySQL Enterprise Server
            ●
                Quarterly Service Pack
            ●
                緊急 Hot fx
     –   MySQL のエキスパートによるサポートサービス
     –   MySQL Enterprise Monitor
     –   ナレッジベース
     –   テクニカルアラート
     –   年間契約
     –   お問い合わせは Oracle Direct まで。
大規模サイト
利用実績!!
多数の大規模 Web サイトが採用!
●
    Yahoo!        ●
                      Mixi
●
    Wikipedia     ●
                      GREE
●
    Facebook      ●
                      モバゲー
●
    Twitter
                      はてな
    YouTube
                  ●
●

●
    eBay          ●
                      アメーバ
●
    Booking.com   ●
                      ライブドア
●
    Digg          ●
                      Mapion
●
    del.icio.us       ブラウザ三国志
    LinkedIn
                  ●
●

●
    Flickr
                  ●
                      Cocolog
●
    Slashdot
                  ●
                      Ficia
●
    LiveJournal
                  ●
                      Dwango
●
    Obama 2008
    Campaign
まとめ



 簡単・高速・安定の
   MySQL なら
小規模から超大規模まで
   対応可能 !!
Q!!
           &
ご静聴ありがとうございました。
                  A!!

Contenu connexe

Tendances

ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例Masakazu Matsushita
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報yoyamasaki
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッションYuichi Hasegawa
 
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06Mikiya Okuno
 
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slaveMySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slaveTakanori Sejima
 
What's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 InnoDBWhat's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 InnoDBMikiya Okuno
 
MHAを検証して導入した話
MHAを検証して導入した話MHAを検証して導入した話
MHAを検証して導入した話Yu Komiya
 
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~Masahito Zembutsu
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイントKentaro Matsui
 
SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出
SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出
SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出Masakazu Kishima
 
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合Ryusuke Kajiyama
 
Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Daichi Ogawa
 
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMikiya Okuno
 
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Takano Masaru
 

Tendances (19)

MySQL de NoSQL Fukuoka
MySQL de NoSQL FukuokaMySQL de NoSQL Fukuoka
MySQL de NoSQL Fukuoka
 
ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例ソーシャルゲームにおけるAWS/MongoDB利用事例
ソーシャルゲームにおけるAWS/MongoDB利用事例
 
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
MySQL Cluster 解説 & MySQL Cluster 7.3 最新情報
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッション
 
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
 
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slaveMySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
 
WindowsでMySQL入門
WindowsでMySQL入門WindowsでMySQL入門
WindowsでMySQL入門
 
What's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 InnoDBWhat's New in MySQL 5.7 InnoDB
What's New in MySQL 5.7 InnoDB
 
MHAを検証して導入した話
MHAを検証して導入した話MHAを検証して導入した話
MHAを検証して導入した話
 
MHA for MySQL の話
MHA for MySQL の話MHA for MySQL の話
MHA for MySQL の話
 
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
分散KVSをサービス化してみた ~Okuyama(KVS)もFusion-IO(ioDrive)もあるんだよ~
 
OpenStackとPythonと私
OpenStackとPythonと私OpenStackとPythonと私
OpenStackとPythonと私
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出
SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出
SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出
 
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
 
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
[db tech showcase 2017 Tokyo] D31 - MySQL 8.0の日本語キャラクタ・セットと文字照合
 
Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用
 
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyond
 
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
 

En vedette

MySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMikiya Okuno
 
Performance Schema @ MySQL Casual #2
Performance Schema @ MySQL Casual #2Performance Schema @ MySQL Casual #2
Performance Schema @ MySQL Casual #2Mikiya Okuno
 
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめDTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめMikiya Okuno
 
MySQL日本語利用徹底入門
MySQL日本語利用徹底入門MySQL日本語利用徹底入門
MySQL日本語利用徹底入門Mikiya Okuno
 
リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計Mikiya Okuno
 
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
私は如何にして詳解 MySQL 5.7を執筆するに至ったか私は如何にして詳解 MySQL 5.7を執筆するに至ったか
私は如何にして詳解 MySQL 5.7を執筆するに至ったかMikiya Okuno
 

En vedette (8)

MySQL 5.5 Update #denatech
MySQL 5.5 Update #denatechMySQL 5.5 Update #denatech
MySQL 5.5 Update #denatech
 
Performance Schema @ MySQL Casual #2
Performance Schema @ MySQL Casual #2Performance Schema @ MySQL Casual #2
Performance Schema @ MySQL Casual #2
 
DTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめDTraceによるMySQL解析ことはじめ
DTraceによるMySQL解析ことはじめ
 
MySQL日本語利用徹底入門
MySQL日本語利用徹底入門MySQL日本語利用徹底入門
MySQL日本語利用徹底入門
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
Database smells
Database smellsDatabase smells
Database smells
 
リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計
 
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
私は如何にして詳解 MySQL 5.7を執筆するに至ったか私は如何にして詳解 MySQL 5.7を執筆するに至ったか
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
 

Similaire à Enter the-dolphine

States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -yoyamasaki
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用についてLINE Corporation
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINE Corporation
 
MySQL最新動向と便利ツールMySQL Workbench
MySQL最新動向と便利ツールMySQL WorkbenchMySQL最新動向と便利ツールMySQL Workbench
MySQL最新動向と便利ツールMySQL Workbenchyoyamasaki
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構Ryosuke MATSUMOTO
 
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~sakaik
 
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会Mikiya Okuno
 
Scalaの現状と課題
Scalaの現状と課題Scalaの現状と課題
Scalaの現状と課題Kota Mizushima
 
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLMySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLRyusuke Kajiyama
 
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!Masayuki Ozawa
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3科 黄
 
node-handlersocket
node-handlersocketnode-handlersocket
node-handlersocketkoichik
 
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20Ryusuke Kajiyama
 
PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferencePHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferenceMicrosoft
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会オラクルエンジニア通信
 

Similaire à Enter the-dolphine (20)

States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用について
 
[Japan Tech summit 2017] DAL 001
[Japan Tech summit 2017]  DAL 001[Japan Tech summit 2017]  DAL 001
[Japan Tech summit 2017] DAL 001
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
 
PHP on Cloud
PHP on CloudPHP on Cloud
PHP on Cloud
 
MySQL最新動向と便利ツールMySQL Workbench
MySQL最新動向と便利ツールMySQL WorkbenchMySQL最新動向と便利ツールMySQL Workbench
MySQL最新動向と便利ツールMySQL Workbench
 
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
 
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
 
[Japan Tech summit 2017] DAL 004
[Japan Tech summit 2017] DAL 004[Japan Tech summit 2017] DAL 004
[Japan Tech summit 2017] DAL 004
 
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
 
Scalaの現状と課題
Scalaの現状と課題Scalaの現状と課題
Scalaの現状と課題
 
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLMySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
 
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3
 
node-handlersocket
node-handlersocketnode-handlersocket
node-handlersocket
 
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
MySQL 5.7 & 最新開発状況 @ オープンソースカンファレンス20
 
PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferencePHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source Conference
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
 
2011/11/26 Dot netlab
2011/11/26 Dot netlab2011/11/26 Dot netlab
2011/11/26 Dot netlab
 

Plus de Mikiya Okuno

MySQL 5.7 トラブルシューティング 性能解析入門編
MySQL 5.7 トラブルシューティング 性能解析入門編MySQL 5.7 トラブルシューティング 性能解析入門編
MySQL 5.7 トラブルシューティング 性能解析入門編Mikiya Okuno
 
リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方Mikiya Okuno
 
リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version Mikiya Okuno
 
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 SecurityWhat's New in MySQL 5.7 Security
What's New in MySQL 5.7 SecurityMikiya Okuno
 
What's New in MySQL 5.7 Replication
What's New in MySQL 5.7 ReplicationWhat's New in MySQL 5.7 Replication
What's New in MySQL 5.7 ReplicationMikiya Okuno
 
とあるギークのキーボード遍歴
とあるギークのキーボード遍歴とあるギークのキーボード遍歴
とあるギークのキーボード遍歴Mikiya Okuno
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座Mikiya Okuno
 
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015Mikiya Okuno
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)Mikiya Okuno
 
なぜ、いまリレーショナルモデルなのか
なぜ、いまリレーショナルモデルなのかなぜ、いまリレーショナルモデルなのか
なぜ、いまリレーショナルモデルなのかMikiya Okuno
 
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜Mikiya Okuno
 
人類は如何にして大切な データベースを守るべきか
人類は如何にして大切な データベースを守るべきか人類は如何にして大切な データベースを守るべきか
人類は如何にして大切な データベースを守るべきかMikiya Okuno
 
RDBにおけるバリデーションをリレーショナルモデルから考える
RDBにおけるバリデーションをリレーショナルモデルから考えるRDBにおけるバリデーションをリレーショナルモデルから考える
RDBにおけるバリデーションをリレーショナルモデルから考えるMikiya Okuno
 
あなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルあなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルMikiya Okuno
 
MySQLトラブル解析入門
MySQLトラブル解析入門MySQLトラブル解析入門
MySQLトラブル解析入門Mikiya Okuno
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南Mikiya Okuno
 
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09Mikiya Okuno
 
Rdbms qpstudy-okuno
Rdbms qpstudy-okunoRdbms qpstudy-okuno
Rdbms qpstudy-okunoMikiya Okuno
 
Database qpstudy-okuno
Database qpstudy-okunoDatabase qpstudy-okuno
Database qpstudy-okunoMikiya Okuno
 

Plus de Mikiya Okuno (20)

MySQL 5.7 トラブルシューティング 性能解析入門編
MySQL 5.7 トラブルシューティング 性能解析入門編MySQL 5.7 トラブルシューティング 性能解析入門編
MySQL 5.7 トラブルシューティング 性能解析入門編
 
リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方リレーショナルデータベースとの上手な付き合い方
リレーショナルデータベースとの上手な付き合い方
 
リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version リレーショナルデータベースとの上手な付き合い方 long version
リレーショナルデータベースとの上手な付き合い方 long version
 
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 SecurityWhat's New in MySQL 5.7 Security
What's New in MySQL 5.7 Security
 
What's New in MySQL 5.7 Replication
What's New in MySQL 5.7 ReplicationWhat's New in MySQL 5.7 Replication
What's New in MySQL 5.7 Replication
 
とあるギークのキーボード遍歴
とあるギークのキーボード遍歴とあるギークのキーボード遍歴
とあるギークのキーボード遍歴
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座
 
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
なぜ、いまリレーショナルモデルなのか
なぜ、いまリレーショナルモデルなのかなぜ、いまリレーショナルモデルなのか
なぜ、いまリレーショナルモデルなのか
 
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
 
人類は如何にして大切な データベースを守るべきか
人類は如何にして大切な データベースを守るべきか人類は如何にして大切な データベースを守るべきか
人類は如何にして大切な データベースを守るべきか
 
RDBにおけるバリデーションをリレーショナルモデルから考える
RDBにおけるバリデーションをリレーショナルモデルから考えるRDBにおけるバリデーションをリレーショナルモデルから考える
RDBにおけるバリデーションをリレーショナルモデルから考える
 
あなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデルあなたが知らない リレーショナルモデル
あなたが知らない リレーショナルモデル
 
MySQLトラブル解析入門
MySQLトラブル解析入門MySQLトラブル解析入門
MySQLトラブル解析入門
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南
 
Mysql toranomaki
Mysql toranomakiMysql toranomaki
Mysql toranomaki
 
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
カジュアルにMySQL Clusterを使ってみよう@MySQL Cluster Casual Talks 2013.09
 
Rdbms qpstudy-okuno
Rdbms qpstudy-okunoRdbms qpstudy-okuno
Rdbms qpstudy-okuno
 
Database qpstudy-okuno
Database qpstudy-okunoDatabase qpstudy-okuno
Database qpstudy-okuno
 

Dernier

プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Dernier (8)

プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

Enter the-dolphine

  • 1. Enter The Dolphin 〜今すぐはじめたい人のための MySQL 超入門〜 奥野 幹也 @nippondanji mikiya (dot) okuno (at) gmail (dot) com
  • 2. 免責事項 ● 本プレゼンテーションにおいて示されている見解は、 私自身の見解であって、オラクル・コーポレーション の見解を必ずしも反映したものではありません。ご了 承ください。
  • 3. 自己紹介 ● 今日は個人として来ています。 – http://nippondanji.blogspot.com/ – Twitter: @nippondanji ● 現職は MySQL サポートエンジニア。 – 2000 年にサン・マイクロシステムズ入社 – 2007 年に MySQL KK へ転職 – 気付くとまたサン・マイクロシステムズに・・・ – 現在は日本オラクルに在席。 ● 日々のしごと – MySQL トラブルシューティング全般 – Q&A 回答 など
  • 5. MySQL とは ● オープンソースのリレーショナル・データベース・マ ネージメント・システム ● MySQL AB => Sun Microsystems => Oracle に よって開発。 ● Web 開発においては圧倒的なシェア ● 各種言語をサポート。 – PHP/Perl/Java/Ruby/C/C++/ODBC... ● 使い易く、安定して、高速に動作するのがウリ http://www-jp.mysql.com/ http://dev.mysql.com/
  • 7. ライセンス ● GPLv2 – Community 版 – サブスクリプションで利用可能な Enterprise 版 ● コマーシャルライセンス – OEM ライセンス – サブスクリプションで利用可能な Enterprise 版 サブスクリプションでは ライセンスを選択可能!
  • 8. GPL - GNU General Public License ● リチャード・ストールマン氏により考案されたソフト ウェアライセンス – 1989 年〜 – 世界で最も用いられているオープンソースライセンス – フリー(自由な)ソフトウェアを実現するために考え られた。 ● 現在の著作権法の上に立脚 ● Copyleft <===> Copyright – ユーザーに完全な自由を認める。 – 再配布物(派生物や 2 次利用した作品)のライセンス を同じものにすることを要求。
  • 9. GPL の適用範囲 ● ライセンスを GPL にする必要がある場合 – GPL のソフトウェアを改造してまたはそのまま再配布 – GPL のソフトウェアを利用したソフトウェアを再配布 ● GPL のライブラリをリンク ● GPL のソースコードを拝借 ● プロセス間通信で GPL のプログラムと協調動作。(グ レーゾーン中のグレーゾーン!) ● ライセンスを GPL にする必要がない場合 – ソフトウェアを頒布しない場合。 – ネットワーク経由で GPL のプログラムと協調動作。 – 単独で動作するプロセスとしてバンドル – GPL の OS 上で動作する – GPL のシステムライブラリを利用する
  • 10. MySQL の機能的特徴 ● ANSI SQL 標準に準拠(一部の文 ● UNION 法を除く。) ● ビュー ● 種々のプラットフォームをサポー ● サブクエリ ト( Windows 、 Linux 、 Mac 、 ● INFORMATION_SCHEMA 各種 UNIX 系 OS ) ● SSL による通信 ● ストレージエンジンによりデータ ● Unicode をはじめとした各種文字 を格納するレイヤーを仮想化 コードのサポート ● ACID 準拠のトランザクション ● 全文検索 ● XA トランザクション ● タイムゾーンのサポート ● 非同期 Master/Slave 型レプリ ● 多種多様な開発言語のサポート ケーション ( C 、 C+ + 、 Java 、 Perl 、 PHP 、 Pytho ● 水平パーティショニング n 、 Ruby など) ( Range 、 List 、 Hash 、 Key ) ● ODBC による接続のサポート ● ストアドプロシージャ、ストアド ファンクション、トリガ
  • 11. MySQL の構造的特徴 ● モノリシックカーネル ● シングルプロセス・マルチスレッド ● 1 セッション= 1 スレッド ● ストレージエンジン API によるデータストアの仮想化 ● プラグイン API ● GNU Bison による Lexical Scanner ● コストベースのオプティマイザ ● 全ての更新系クエリを保存するバイナリログ ● 2 種類のスレッドで実装された非同期型レプリケーション ● 移植性の高い関数群( MySQL システムライブラリ - mysys )を使って実装 ● ソースコードは C/C++ 混在( 100 万行程度)
  • 12. MySQL の仕組み クライアント クライアント クライアント Java PHP ODBC コネクション コネクション コネクション スレッド スレッド スレッド SQL の解析と最 適化は共通 パーサー・オプティマイザ・アクセス管理 等 ストレージエンジン API データの格納や MyISAM InnoDB MySQL アクセス方法は Cluster ストレージエン テーブル table_name.MYI スペース ジンごとに違う table_name.MYD NDB ログファイル API MySQL サーバ データノード データノード データノード データノード
  • 13. History Of MySQL ● 1979: MySQL の原形となるレポーティングツールが BASIC で書かれた – 後に C で書き直されることになる ● 1985: Michael Widenius が TCX DataKonsult という会社をおこす。 – データウェアハウスの会社 ● 1990 年代 : SQL インターフェイスを望む声 ● 1995: 最初のバージョンとして MySQL 1.0 がリリース – 一部のユーザーに向けた限定的なリリース – SQL のサブセットをサポート – Solaris 向け – オープンソースではなかった。 ● 1996: バージョン 3.11 – Linux 向け – オープンソースに! ● 2000: バージョン 3.23β 版が登場
  • 14. History Of MySQL - つづき ● 2001: バージョン 3.23 正式リリース – Berkeley DB をバックエンドとして利用可能 – レプリケーションを実装( 1 スレッド) ● 1999 〜 2000 頃 : MySQL AB 設立 ● 2001: 4.0α 版リリース ● 2003: バージョン 4.0 正式リリース – InnoDB を採用 – SSL による通信のサポート – UNION – レプリケーションの改善( 2 スレッド) ● 2003: バージョン 4.1α 版、バージョン 5.0α 版 ● 2004: バージョン 4.1 正式リリース – サブクエリ – Unicode のサポート – 空間インデックス – プリペアードステートメントのサポート
  • 15. History Of MySQL - つづき 2 ● 2005: バージョン 5.0 正式リリース – ビュー – ストアドプロシージャ&ファンクション – トリガ – カーソル – INFORMATION_SCHEMA – XA トランザクション – ARCHIVE 、 FEDERATED ストレージエンジン ● 2005: バージョン 5.1α 版 ● 2008: バージョン 5.1 正式リリース – パーティショニング – 行ベースレプリケーション – XML 関数 – イベントスケジューラー
  • 16. History Of MySQL - つづき 2 ● 2005: バージョン 5.0 正式リリース – ビュー – ストアドプロシージャ&ファンクション – トリガ – カーソル – INFORMATION_SCHEMA – XA トランザクション – ARCHIVE 、 FEDERATED ストレージエンジン ● 2005: バージョン 5.1α 版 ● 2008: バージョン 5.1 正式リリース – パーティショニング – 行ベースレプリケーション – XML 関数 – イベントスケジューラー
  • 17. History Of MySQL - つづき 3 ● 2009: リリースモデルの変更 – 開発版には成熟した機能から順に追加 – 一定期間経過後にバージョン番号を変更 ● 2009: バージョン 5.4 開発版 – DTrace サポート – 性能改善 ● 2009: バージョン 5.5 開発版 – InnoDB 性能改善 – Semi-Synchronous Replication – 4 バイト UTF-8 対応 – RANGE/LIST COLUMNS パーティショニング – PERFORMANCE_SCHEMA – XML 機能の拡充( LOAD XML 文など) – SIGNAL/RESIGNAL
  • 18. 免責事項 - その 2 ● 現時点( 2010 年 7 月)の段階では、 MySQL 5.5 は マイルストーンリリース( β 版)です。機能や実装 については、予告無く変更される場合がありますので ご注意ください。
  • 20. インストールは 15 分 !! ● 3 ステップ – ダウンロード ● http://dev.mysql.com/downloads – パッケージのインストール /unzip – 起動!! ● 慣れれば 5 分でインストール可能 ● Windows 版はインストールウィザードあり。 ● GUI ツール : MySQL Workbench – データモデリング( EER 図) – サーバー管理 – データ操作
  • 23. MySQL レプリケーションの特徴 ● マスター/スレーブ型 – 1:N 、多段型、サークル型、マルチマスターなどの多彩な トポロジ ● マスターでは更新を断続的に記録 – バイナリログ – 更新に用いた SQL 文そのものを記録するタイプのもの と、行データを記録するタイプのものアリ。 ● スレーブの 2 つのスレッド – I/O スレッド : マスターからバイナリログの差分を受信。 リレーログへ記録。 – SQL スレッド : リレーログの内容をテーブルへ反映
  • 24. スケールアウト戦略 更新処理 アプリケーション マスター スレーブ スレーブ スレーブ スレーブ スレーブ スレーブ 参照処理
  • 25. レプリケーション進化の軌跡 ● バージョン 3.23 – シングルスレッド – ステートメントベース ● バージョン 4.0 – バイナリログの受信と適用が別スレッドに ● 遅延の解消! ● バージョン 5.1 – 行ベースレプリケーション – MySQL Cluster レプリケーション ● バージョン 5.5 – Semi-Synchronous!!
  • 29. MySQL の仕組み(再掲) クライアント クライアント クライアント Java PHP ODBC コネクション コネクション コネクション スレッド スレッド スレッド SQL の解析と最 適化は共通 パーサー・オプティマイザ・アクセス管理 等 ストレージエンジン API データの格納や MyISAM InnoDB MySQL アクセス方法は Cluster ストレージエン テーブル table_name.MYI スペース ジンごとに違う table_name.MYD NDB ログファイル API MySQL サーバ データノード データノード データノード データノード
  • 30. ストレージエンジンとは。 ● データを格納するレイヤーを仮想化する API – テーブルの作成 ● メタデータ ● インデックス – レコードの挿入、検索、削除、更新 – トランザクション管理 – クラッシュリカバリ ● 上位のレイヤーで処理するもの – SQL の構文解析 – 実行計画 – JOIN – 集計処理 – クライアントとの通信 – レプリケーション
  • 31. MySQL におけるトランザクションの実装 ● トランザクションの管理はストレージエンジンが行う – 対応している分離レベルはストレージエンジン次第 ● トランザクション対応のストレージエンジン – InnoDB – MySQL Cluster – IBMDB2I – SPIDER – PBXT
  • 33. InnoDB の特徴 ● トランザクション対応! – ACID 準拠 – MVCC と行レベルロックによる高い並列性 – デッドロック自動検出 – 更新ログによるクラッシュリカバリ – セーブポイント – グループコミット – XA トランザクション ● 外部キー制約 ● クラスタインデックス ● 最大容量 64TB ● データ圧縮
  • 35. InnoDB の分離レベル 分離レベル 分離性 性能 ダーティ 反復不可能読 ファントム リード み取り READ- 低 低 O O O UNCOMMITTED READ- 高 X O O COMMITTED REPEATABLE- 高 X X X READ SERIALIZABLE 高 低 X X X
  • 37. MyISAM の特徴 ● トランザクション非対応 ● テーブルレベルロック – 参照は共有ロック、更新は排他ロック – 更新性能は高くない ● SELECT をブロックしない INSERT は可能 ● テーブルごとに別のファイルを作成 ● フルテキストインデックス – 日本語を使う場合には Senna ストレージエンジンを ● 空間インデックス ● 内部的にテンポラリテーブルとして利用される。
  • 38. テンポラリテーブル ● JOIN+ ソート処理などで利用される。 – ソート条件が駆動表以外のカラムになっている場合。 ● サイズが小さいうちは MEMORY ストレージエンジン を利用 ● サイズが大きくなると MyISAM へ自動的に変換
  • 40. MySQL Cluster 概要 アプリケーション SQL SQL SQL ノード ノード ノード 管理 NDB API ノード データ データ 管理 ノード ノード ノード データ データ ノード ノード
  • 41. MySQL Cluster の特徴 ● 並列分散型リアルタイム RDBMS – 複数のノードが連動 – シェアードナッシング型アーキテクチャ – ハイアベイラビリティ ● リアルタイムデータベース – インメモリ型とディスク型のテーブル – 短い応答時間 – 高いスループット性能 ● トランザクション対応 – 分離レベルは READ-COMMITTED のみ ● NoSQL アクセス – NDBAPI
  • 43. IBMDB2 の概要 アプリケーション MySQL DB2 System i
  • 44. IBMDB2 の特徴 ● サポートしているプラットフォームは System i のみ – MySQL は PASE で動作 ● DB2 のテーブルへアクセス可能 ● トランザクション対応 ● 既存のデータを使いつつ MySQL を使ってアプリを構 築したいユーザー向けか?
  • 46. Built-in By Default! ● CSV – テーブルの実体が CSV ファイル – CSV ファイルを使ったインポート / エクスポート ● FEDERATED – リモートの MySQL サーバ上へデータを格納 ● BLACKHOLE – 全てのデータが消えてしまう。。。 ● MERGE – 複数の MyISAM テーブルをまとめて一つの大きな テーブルに。(パーティショニングより小回りが利 く?) ● ARCHIVE – 追記専用に最適化されたエンジン。
  • 48. 社外製ストレージエンジン ● SPIDER – リモートの MySQL サーバーへデータを格納 – パーティションごとに異なるサーバーを指定 ● 大規模負荷分散 ● SHARDING ● PBXT – 汎用型ストレージエンジン – トランザクションや FK に対応 – 追記型アーキテクチャ ● Senna/Tritonn – 日本語全文検索エンジン Senna を MySQL で使える ようにしたもの。
  • 49. 社外製ストレージエンジン - つづき ● Q4M – ストレージエンジンとしてアクセス可能なメッセージ キュー ● KickFire – SQL チップで処理を高速化 – DWH 向けアプアイアンス ● RethinkDB – SSD での利用を前提にデータベースを再設計 ● InifniDB – DWH 向け ● TokuDB – フラクタルツリーインデックス
  • 50. SPIDER 動作イメージ APP1 APP2 APP3 APP4 n1 n2 n3 n4 SPIDER SPIDER SPIDER SPIDER n5 n6 n7 n8 INNODB INNODB INNODB INNODB
  • 51. MySQL Cluster 概要(再掲) アプリケーション SQL SQL SQL ノード ノード ノード 管理 NDB API ノード データ データ 管理 ノード ノード ノード データ データ ノード ノード
  • 53. 典型的な利用イメージ アプリケーション マスター マスター HA スタンバイ バックアップ スレーブ スレーブ レポーティング
  • 54. MySQL Enterprise サブスクリプション ● サービスとツールの統合パッケージ – MySQL Enterprise Server ● Quarterly Service Pack ● 緊急 Hot fx – MySQL のエキスパートによるサポートサービス – MySQL Enterprise Monitor – ナレッジベース – テクニカルアラート – 年間契約 – お問い合わせは Oracle Direct まで。
  • 56. 多数の大規模 Web サイトが採用! ● Yahoo! ● Mixi ● Wikipedia ● GREE ● Facebook ● モバゲー ● Twitter はてな YouTube ● ● ● eBay ● アメーバ ● Booking.com ● ライブドア ● Digg ● Mapion ● del.icio.us ブラウザ三国志 LinkedIn ● ● ● Flickr ● Cocolog ● Slashdot ● Ficia ● LiveJournal ● Dwango ● Obama 2008 Campaign
  • 57. まとめ 簡単・高速・安定の MySQL なら 小規模から超大規模まで 対応可能 !!
  • 58. Q!! & ご静聴ありがとうございました。 A!!