タグ

ブックマーク / nippondanji.blogspot.com (34)

  • 書籍発行のお知らせ:詳解MySQL 5.7 〜進化したMySQLをよく知るためのテクニカルガイド〜

    既に昨日のdb tech showcaseのスライドでご存じの方も多いだろうが、この度MySQL 5.7の新機能を解説するための書籍を発行させていただくこととなった。8月23日発売予定である。 MySQL 5.7の新機能については、これまでブログでは紹介してこなかった。というのも、あまりにもボリュームが多すぎて、ブログという媒体でカジュアルに紹介するには向いていないと思ったからだ。とはいえ、MySQL 5.7を皆さんに使っていただくには、誰かが新機能をしっかりと解説しなければならない。どうするべきか考えた結果、書籍としてまとめて出させていただくことになった。 新機能について真面目に解説しようとすると、新しいポイントがどこなのかということを言及するために、結局のところ元々の機能についてもある程度解説が必要になってしまう。そういうわけで、この書籍では、MySQLが持つ機能の基的なコンセプトや

    書籍発行のお知らせ:詳解MySQL 5.7 〜進化したMySQLをよく知るためのテクニカルガイド〜
    hiromark
    hiromark 2016/07/15
    検討
  • DB Tech Showcase Tokyo 2016 で発表しました。MySQL 5.7の新機能 〜InnoDB編〜

    表題の通り、db tech showcase Tokyo 2016にて、MySQL 5.7の新機能についての解説を行った。スライドをアップロードしたので、セッションに来てくれた方も、見逃したという方もぜひ見て頂きたい。 What's New in MySQL 5.7 InnoDB from Mikiya Okuno 思えば、4年前のdb tech showcaseでMySQL 5.6の新機能について解説したときは、1回のセッションですべての機能を詳解することができた。ところが、MySQL 5.7に至っては、昨年MyNA会でオプティマイザ関連の新機能についての解説を行ったのに続き、今回はInnoDBの新機能だけに的を絞った解説となった。このように小出しにしているのにはワケがある。いや、そもそも小出しにしているというつもりはない。単にMySQL 5.7の新機能が多すぎて

    DB Tech Showcase Tokyo 2016 で発表しました。MySQL 5.7の新機能 〜InnoDB編〜
  • 残業は悪か?あるいは日本人の生産性が低い最大の理由

    最近、残業をするのは社員が悪いというような記事を見たので、一言言っておこうと思う。 残業常習者が会社を壊す|トンデモ人事部が会社を壊す|ダイヤモンド・オンライン なぜ残業が常習化するか 最初に結論を言ってしまうと、経営が悪いからだ。経営と言っても事業戦略ではなく、組織運営という意味での経営だ。残業が常態化しているということは、組織運営ができていないことの証拠だと言っていいだろう。 なぜ残業の常態化が経営の失敗だと言えるのか。残業が常態化しているということは、組織がこなすべき仕事に対して人員が足りないことが原因として上げられる。人材の確保に失敗しているのは、経営側の失敗だ。 もし社員がダラダラと残って働いているのだとしたら、社員が何をすべきかということがトップダウンで明確に指示されていない兆候かも知れない。何をもってその日の業務が終わりだ判断とすれば良いのか。それは上司からの指示、つまり担当

    残業は悪か?あるいは日本人の生産性が低い最大の理由
  • MySQL User Conference Tokyo 2015で発表しました:MySQL 5.7におけるオプティマイザの改良点

    昨日、告知させていただいたMySQL User Conference Tokyo 2015で登壇したので、その時の資料を公開した。MySQL 5.7の機能は全部ひとつのスライドで紹介しようとすると、多すぎて私にはコンパクトにまとめるだけの技量は無いため、今回はオプティマイザだけの紹介にした。興味のある方はご覧頂きたい。 そういえばすっかり忘れてしまっていたのだが、MySQL 5.7が登場した!!というブログエントリを書くのを忘れていた。もしかすると読者の皆さんの中には、MySQL 5.7が正式リリースされたことをご存じない方もいらっしゃるかも知れない。遅くなって申し訳ないが、MySQL 5.7は、バージョン5.7.9をもって正式版となっている。5.7.9は約2ヶ月前にリリースされた。ついでに言うと、バグ修正を含んだ5.7.10が既に出ている。 MySQL 5.7はまさにモンスターだ!!!と

    MySQL User Conference Tokyo 2015で発表しました:MySQL 5.7におけるオプティマイザの改良点
  • この世から残念な○○が無くならない理由

    少し前に、日Web技術界隈著名人の残念さ具合というタイトルの記事が話題になった。名指しで個人を批判している記事なので、リンクするのは控えておこうと思う。意見には賛同する部分はあるものの、読んでいて気持ちの良いものではないからだ。まだ読んでなくて興味のある人はググッて頂きたい。あと、言っておくが私自身はその記事でリストアップされている人たちの仕事ぶりは知らないので、評価については言及しない。 この記事を読んで思ったのは、別に残念なのは別にウェブ界隈に限った話ではないよなーというか、残念な人をこの世から撲滅するのは構造的に不可能ではないかということだった。特に後者についてはかねてより考えてきたことであり、これはもうある意味仕方のないことではないかと思う。具体的な例を挙げるのは避けるが、割と技術書なんかでも酷いものを見かける。 というわけで、今日はこの構造的な問題点について語ろうと思う。 圧倒

    この世から残念な○○が無くならない理由
    hiromark
    hiromark 2015/09/02
  • MySQL・PostgreSQLユーザーグループ(MyNA・JPUG)合同DB勉強会で発表した資料を公開しました。「データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜」

    表題の通り、MyNAとJPUGの合同DB勉強会で発表をしたので資料を公開した。 内容の詳細はスライドそのものを見ていただくとして、言いたいことの主旨はこうである。世の中に完璧なデータモデルはないので、NoSQLは当然の如く必要になる。だが、何でもかんでもNoSQLを使えば良いというものではない。むしろアプリケーションが必要としているデータモデルが何かということをよく理解し、当に必要な場合にこそ、NoSQLを使うべきなのである。つまり「ご利用は計画的に!」ということだ。 大切なのは、様々なデータモデルを理解し、アプリケーションにとってベストな製品を選択するということだ。ベストなのがRDBかも知れないし、そうでないかも知れない。最適なデータモデルを選択した場合に、出来上がったものの性能も最高になるし、開発効率も最も良くなる。データベースの主流はRDBだが、それはリレーショナルモデルがカバーで

    MySQL・PostgreSQLユーザーグループ(MyNA・JPUG)合同DB勉強会で発表した資料を公開しました。「データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜」
    hiromark
    hiromark 2015/06/29
    行きたかったがキャンセルせざるを得なかった orz
  • RDBにおけるキャッシュという考え方

    RDBの専門家として日々活動している中で気づいたことのひとつに、「RDBはデータへのアクセスの実装をインデックスに頼っているが、インデックスは全ての問題を解決できるほど万能ではない」ということがある。インデックスというのはとても強力な部品であり、その点には全く異論はない。だが、世の中の全ての問題(クエリ)を解決できるほど、柔軟性に富んだものではないということだ。RDBは、どのインデックスを使ってデータへアクセスするかということを、オプティマイザを用いて判断する。大抵のRDB製品では、オプティマイザはよい仕事をするので、インデックスとオプティマイザの組み合わせによって、ほとんどの問題に対応できる。だが、100%ではないのであり、そのようなケースがシステムの性能問題を引き起こしたり、プログラマ(アプリケーションの設計者)に、NoSQLへ完全に移行したり、クエリ高速化のために非正規化をすると言っ

    RDBにおけるキャッシュという考え方
  • MySQL 5.6リファレンスマニュアル日本語版のお知らせ

    MySQL 5.6 リファレンスマニュアル というわけで、日語版のマニュアルがリリースされた。これまでMySQL 5.6のリファレンスマニュアルは英語版しか無かったのだけど、公式に日語版がリリースされる運びとなったので、是非参照して頂きたい。 かつてMySQL 5.1の日語版マニュアルが存在したのだが、そちらは現在ウェブから参照できなくなっている。(PDF版はダウンロードできるという話も。)MySQL 5.1の日語版マニュアルは、ぶっちゃけ翻訳があまりイケてなかったので、今後はぜひMySQL 5.6の日語版を参照してもらいたい。ついでにもう古のバージョンは窓から投げ捨てて、この機会に是非新しいバージョンへ移行してみてはいかがだろうか。 何か問題が見つかった場合には、ぜひバグレポートをお願いします。バグレポートのカテゴリは「Japanese Documentation」を選択してく

    MySQL 5.6リファレンスマニュアル日本語版のお知らせ
  • 書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL

    来る2月27日、データベースの新書籍を発売させて頂くことになった。タイトルは「理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL」となっている。単に「データベース」と書いてあるが、RDBがメインのテーマの書籍である。 多くの人が未だにRDBを使いこなせていないのではないか。RDBの使い方をマスターするには何が必要なのか。それがここ数年私が追ってきたテーマであり、この書籍を出すことになった動機である。 あまりにも酷いDB設計、あまりにもスパゲティなクエリ、あまりにも希薄なデータモデルへの理解。そういった問題はどこから生み出されるのか。そのひとつの結論としてたどり着いたのが、「そもそもRDBの使い方があまり理解されていないのではないか」ということだった。名著、SQLアンチパターンでは「やってはいけないケース」について学ぶことができるが、その反対のテーマ、つまり来どの

    書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL
    hiromark
    hiromark 2015/02/03
    2月27日。即買いだな。
  • MySQLレプリケーションの運用が劇的変化!!GTIDについて仕組みから理解する

    メリークリスマス!!やあ、良い子のみんな!!サンタクロース・・・ではなく、ヒゲモジャギークからのクリスマスプレゼントだよ!! というわけで、MySQL Casual Advent Calendarの25日目である。今朝Advent Calendarを覗いてみると、日分のエントリーが無かったので、急遽書くことにした。Advent Calendar最後の日、クリスマスを飾る記事のテーマはGTIDだ。 前回の投稿では、MySQL 5.6の目玉機能として、レプリケーションがクラッシュセーフになったことを挙げた。レプリケーションまわりで言えば、もうひとつ外せない目玉機能がある。それがGTID(Global Transaction ID)である。 GTIDは良くも悪くもレプリケーションの運用を変化させる。GTIDを使うことによって得られる最大のメリットは、CHANGE MASTER TOでバイナリロ

    MySQLレプリケーションの運用が劇的変化!!GTIDについて仕組みから理解する
    hiromark
    hiromark 2014/12/26
    ほんと、運用のベストプラクティスががらんと変わった。
  • まだMySQL 5.5で消耗してるの?MySQL 5.6でクラッシュセーフなレプリケーションを活用して枕を高くして眠れる日々を満喫する方法

    MySQL 5.6が登場してからかなりの月日が過ぎたが、他のことで多忙だったせいか、MySQL 5.6についてはあまりブログで情報を発信していないことに気がついた。これはイカン!!と思い、MySQL Casual Advent Calendar 2014に合わせて、MySQL 5.6を使用する上で最もオススメしたい機能であるクラッシュセーフなレプリケーションについて解説しようと思う。この記事は16日目の記事である。 レプリケーションがクラッシュセーフとはどういうことかクラッシュセーフとは、何らかの事情により、プロセスがダウンしたりマシンが電源ごと落ちたり(つまりクラッシュ)しても、再起動後に以前の状態に戻って処理を再開できるということだ。データのクラッシュリカバリであればみなさん既によくご存知であろう。(REDOやUNDOするアレのことだ。稿では面倒臭い・・・ではなかった、題ではないた

    まだMySQL 5.5で消耗してるの?MySQL 5.6でクラッシュセーフなレプリケーションを活用して枕を高くして眠れる日々を満喫する方法
    hiromark
    hiromark 2014/12/16
    5.6 いいよ~、みんな使おうよお。
  • Validation nightで発表しました。

    RDBにおけるバリデーションをリレーショナルモデルから考える」という、なんとも捻りも面白みもないタイトルである。だが、RDBとValidationという2つが相容れないものだということを知っている人には、割と琴線に触れる話かも知れない。 正直なところ、現在私はデータベースエンジニア一直線なので、アプリケーション開発におけるセキュリティというのは門外漢であると言って差し支えない。しかもイベントにはあの徳丸浩氏(バリバリの職)も発表されるというではないか!!順番的には徳丸氏の次に話したのだが、徳丸氏はSQLインジェクションの実演までするというガチっぷりである。 「場を白けさせてしまうのではないか・・・」 「ガチの人から特大のマサカリが飛んでくるのでは・・・」 そんな想いを脳裏に抱きつつ発表に望んだのであった。 今回の持ち時間は20分と短めであったが、あまりたくさん話したいネタも無かったので

    Validation nightで発表しました。
  • InnoDBのログとテーブルスペースの関係

    InnoDBのデータ領域はログファイルとテーブルスペースという、切っても切れない2種類のファイルから構成されている。ログファイルは名前からするとただのログだから削除しても平気かな?と思って削除してしまうという問題が後を絶たない。そこで、今日はログファイルとテーブルスペースの関係について説明しようと思う。 InnoDBのログファイルは、別名WAL - Write Ahead Logと呼ばれるもので、名前を日語に直すと「前もって書き込んでおくためのログ」とでも呼べるだろうか。InnoDBのテーブルに対して行われた更新は、全ていったんログに書き込まれるのである。トランザクションがコミットされると、innodb_flush_log_at_trx_commit=1が設定されていればログファイルに書き込みが行われる。0または2の場合には、ログバッファと呼ばれる領域にデータが保持される。その後、時間を

    InnoDBのログとテーブルスペースの関係
  • 11月の活動報告

    先日、db tech showcaseと北海道データベースDAYでプレゼンを行ったので、例によってSlideShareで公開してある。既にTwitterで呟いたので既にご覧になった方も多いかも知れないが、改めてブログでも紹介しておこうと思う。 あなたが知らないリレーショナルモデル(@db tech showcase) まずはdb tech show caseで使った資料の紹介だ。今回は50分という時間の短さだったので、伝えたいことをギュッと凝縮した内容になっている。この資料で主に伝えたかった内容は次のようなものだ。 リレーショナルモデルとは何か SQLとリレーショナルモデルの関係 リレーショナルモデルを使わないとどうなるか なぜリレーショナルモデルを適用できないか どんなときリレーショナルモデルを適用してはいけないか 4つ目については、ひとつ良い説明の方法を思いついたので、今回の資料にも盛

    11月の活動報告
    hiromark
    hiromark 2014/11/20
    あの db tech showcase のプレゼンはほんとに神だった。
  • DB設計の難しさ

    今日は徒然なるままにDB設計について思っていることを並べてみようと思う。 ようやくWEB+DB Pressの次号の原稿を書き終えた。2年間の連載であるが、来年はプライベートが忙しくなる予定なので、連載はこれにて終了とさせてもらうつもりである。 「なぜ人はリレーショナルデータベースを使いこなせないのか」 このところ執筆や講演を通じてリレーショナルモデルについて説明する機会を色々頂いているが、それらの活動の根源となっているのが、この素朴な疑問である。その疑問をパワーにしてこれまで活動を行なってきた。 現時点での自分の回答は「データベース設計が難しいから」である。もちろんリレーショナルモデルそのものの難しさというのもあるが、それよりは「適切な使い分けができていない」ということが大きいように思う。言葉を変えると、リレーショナルモデルを適用すべきデータとそうでないデータの判断ができていないからDB

    DB設計の難しさ
  • InnoDBのREPEATABLE READにおけるLocking Readについての注意点

    日は、MySQL Casual Advent Calendar 2013の20日目である。というわけでカジュアルに小ネタを紹介しよう。 MVCC - Multi Version Concurrency Controlご存知の通り、InnoDBはMVCCを実装している。そのため、分離レベルがREPEATABLE READの場合には、行にロックをかけることなく、一貫した読み取りが可能になっている。 もし、あるトランザクションT1開始後に、別のトランザクションT2によって同じ行が書き換えられてしまった場合には、T1はロールバックセグメントにある古いバージョンの値を読み取ることができるので、T1内で実行したSELECTは常にT1開始時点のデータを参照することができるのである。大事なのでもう一度言うが、REPEATABLE READにおける単純なSELECTでは行ロックは必要ない。 Lost Up

    InnoDBのREPEATABLE READにおけるLocking Readについての注意点
  • <書評>リーダーにカリスマ性は要らない〜真のリーダーになるための必読書〜

    すっかりブログでの紹介が遅くなってしまった。書評を書こうと思いつつ、日々の雑事にかまけて後回しにしてしまっていた。何故、このタイミングでこの書籍を紹介しようかと思ったかというと、とある社員のインタビュー記事を目にしたからだ。 【山田祥平のRe:config.sys】【番外編】世界最軽量「Let'snote RZ4」開発者インタビュー ~軽くするためにファンを搭載、実は「VAIOを超えたかった」 - PC Watch ちなみに、このインタビュー記事自体、大変おもしろい。世界最軽量の10.1インチノートパソコン(しかもタッチつき)の開発担当者である、星野氏のインタビューだ。745gというのは驚異的なスペックである。まずこちらの記事をご一読頂いたい。以下、ネタバレ注意である。 星野氏の堅実な仕事ぶりを伺わせるインタビューこのインタビュー記事では、星野氏が堅実で奇を衒わない仕事をされていたことが、

    <書評>リーダーにカリスマ性は要らない〜真のリーダーになるための必読書〜
  • MEANスタックは破壊的か

    最近、MEANがイイという話をチラホラと耳にする。先日も次の記事がはてブで話題になっていた。 MEAN(MongoDB, Express, AngularJS, Node.js)スタックが優れている理由 - Mozilla Open Web Day in Tokyoを終えて - albatrosary's blog この記事の冒頭では、MEANはLAMPに変わる技術として紹介されているが、果たしてそれは正しいのだろうか。(この記事では、LAMPを例にとりつつJavaがどうのという記述があるので、恐らくはLAMPではなく既存のリレーショナルデータベースを用いたアーキテクチャ一般について述べたいのではないかと思う。)MEANについて少し思うところがあるので、今日はMEANの可能性について書き綴っておこうと思う。ただし、私自身MEANスタックと呼ばれるシロモノは使ったことがなく、構造を理解した上

    MEANスタックは破壊的か
  • OSC広島と中国地方DB勉強会に参加しました。

    かねてから予告していた通り、OSC広島と中国地方DB勉強会(第5回)に参加させて頂いた。両方のイベントがこの土日で連続して行われたので、いずれのイベントにも遠方からの参加者がたくさんいて盛況だったように思う。OSC広島ではデモマシンの展示を、中国地方DB勉強会ではスライド(MySQLのトラブルシューティングについて)の発表をそれぞれやらせて頂いたので、今日はその報告をさせて頂こう。 OSC広島に持っていったデモマシン既にツイッターやFacebookで目にされた方もいらっしゃるかも知れないが、今回展示したマシンのコンセプトは「持ち運べるMySQL Clusterのデモ環境」というものだ。MySQL Clusterを動作させるためのBeagle Bone Black 6台と、コンソール用のRaspberryPi、100Mbpsのネットワークスイッチ、薄型のモバイルモニター、トラックポイントつき

    OSC広島と中国地方DB勉強会に参加しました。
  • DBエンジニアのための技術勉強会で発表したスライドを公開しました。

    DBエンジニアのための技術勉強会というイベントで、リレーショナルモデルにおけるDB設計について話す機会を頂いた。リレーショナルモデルは非常に重要であるにも関わらず、現場ではないがしろにされてしまっている。その結果、アプリケーションのロジックを上手くクエリで表現できず、開発現場では非効率な開発が行われ、多くの人がデスマ的な状況に追い込まれている。そういう危機意識について、これまで何度かブログでも書いてきたし、WEB+DB Pressで連載している動機もその点にある。リレーショナルデータベースはやはりリレーショナルデータベースとして使うべきだ。そのための鍵となるのが、DB設計である。 今回はなんと約2時間の持ち時間を頂いた。リレーショナルモデルについてはこれまで何度か話す機会を頂いたが、2時間というのは最長記録である。それに合わせてスライドもボリュームたっぷりのものになった。過去のスライドと

    DBエンジニアのための技術勉強会で発表したスライドを公開しました。