Edited at

「MySQL 8.0 の薄い本」を作って配っている話

タイトルの通り、「MySQL 8.0 の薄い本」(薄くない)を以下のリポジトリで配布しています。

出掛けた先のイベント・勉強会などでも物理本を配布しています。

D6h_mztU0AIlw02.jpg


2019/08/08 追記:MySQL 8.0.17 対応版をリリースしました。


これについてははてなブログにも書きましたが、そこで触れなかった点についてあらためて記しておきます。

また、物理本を作るのに必要なデータもリポジトリに置いてありますので、印刷方法についても軽く説明しておきます。


内容

MySQL 8.0 の新機能と以前のバージョン(5.7 およびそれ以前)からの変更点について、


  • 利用例(サンプル)

  • それを扱ったブログ記事等へのリンク

を集めたものです。


  • インストールと設定パラメータ

  • ユーザ管理・認証・権限設定

  • DDL と管理⽤ SQL

  • CTE とウィンドウ関数

  • JSON とオブジェクトストア

  • GIS(地理情報システム)

  • レプリケーション

  • オプティマイザとInnoDB

  • Information Schema・Performance Schema

  • その他

利用例(サンプル)は自分が Qiita に掲載した記事のものに手を入れるか、別のデータを利用して作成しました。

ページ数の関係で、機能解説については最小限にとどめています(リンク先をご参照ください)。


MySQL 8.0 をテーマにした理由

先に示したはてなブログの記事にいくつか書いたのですが、そこに書かなかったことのうち大きな理由としてあげられるのは、

です。

前者については、商業出版で何冊か企画・執筆中という噂は聞きますが、それなりに時間が掛かりそうな雰囲気です。

後者については、言い換えれば「GA 以降もどんどん新機能を追加し改良を加えていくことを提供元(Oracle)自身が宣言した」ということですが、仮に商業出版で MySQL 8.0 についての書籍を出した場合、同じバージョンでも MySQL 自体がどんどん「進化」してしまい書籍の内容がすぐ古くなり置き去りにされていくことになります。

流行りのクラウドサービスや言語・開発環境、ミドルウェアを扱った書籍によく見られる現象ですね。

MySQL 8.0 についていうと、例えば GIS 機能は MySQL 5.7 までと比較してかなり使いやすくはなったものの PostGIS などと比較するとまだまだ不足している部分があり、今後の機能拡張が予想されます。

また、関数など SQL だけでなく、例えば非同期通信やクラスタ構成のコンテナ対応など、RDBMS を利用する環境の変化への対応のようなものも必要になってきます。

こういったものについては、商業出版よりも技術同人誌で、テーマを絞って短いサイクルで扱っていくほうが向いていると思います。


無償提供とした理由

こちらも先に示したはてなブログの記事にいくつか書いたのですが、そこに書かなかった大事なポイントとして、


  • 誰かが MySQL 8.0 の特定の機能や関連サービスについて書いてくれるきっかけにしたかった

というものがあります。

ある意味「ネタ探し帳」と言えるかもしれません。

というわけで…誰か MySQL 8.0 の何かをテーマに技術同人誌を書いて頒布してください!

(↑この記事で一番伝えたかったのはこれです!)


参考情報:印刷データの使い方

先に記した GitHub リポジトリには印刷用のデータも含まれています(PDF_print ディレクトリ内)。

これ(ら)の使い方について簡単に説明します。


簡易製本する場合

「卓上製本機とじ太くん」を使って簡易製本する場合は、


  • B5 で厚さ 0.1mm 前後の用紙

  • B5 タテ・背幅 6mm の製本カバー

を用意し、


  • トンボなしの本文データ(book_no_tombo_x1a.pdf)

をプリンタで両面印刷し、卓上製本機で製本します。

IMG_20190526_180702.jpg

そうすると、写真右上のような冊子ができあがります。


オンデマンド印刷に出す場合

発注先の印刷屋さんに合わせて、


  • トンボありの本文データ(book_x1a.pdf)

  • トンボなしの本文データ(book_no_tombo_x1a.pdf)

のどちらかを入稿します。

また、必要に応じて、


  • 表紙データ(mysql80_thin_book_cover_cmyk.psd:表 4・表 1 に相当)

  • 表紙の裏側のデータ(mysql80_thin_book_cover_hyo23_cmyk.psd:表 2・表 3 に相当)

も入稿します。

なお、データは Re:VIEW から出力されたままの状態ではなく、RGB → CMYK 変換など印刷用に加工してからリポジトリに上げてあります。

ここでは、例としてラクスル(冊子印刷)に表紙データ付きで発注する場合をあげます。

ラクスルの冊子印刷では、1 部のみの発注の場合に割引があります。また、会員登録時などクーポンが発行され、1 部のみの発注が 1 回に限って無料になる場合もあります。

「冊子・カタログ印刷」「小部数無線綴じ冊子」を選びます。

サイズ・ページ数(表紙の 4 ページと本文のページ数の合計)、用紙等を選択します。本文はモノクロ印刷にします(変更忘れに注意!)。

終わったら「1 部・3 営業日後」を選んでまず注文を完了させます。

raksul2.png


2019/08/08 追記:MySQL 8.0.17 対応版で 2 ページ増えて、表紙込み 118 ページになりました。


その後、原稿を入稿しますが、原稿チェックしやすいように、表紙データ・本文データともファイル名をページ番号に変更し、補足説明を書いてアップロード・入稿します。

raksul3.png


2019/08/08 追記:MySQL 8.0.17 対応版では以下の通りです。


  • 118-001.psd 表4・表1

  • 002-117.pas 表2・表3(空白ページ)

  • 003-116.pdf 本文データ


入稿を済ませ、発注先での原稿チェックが終わると、印刷原稿の PDF データがダウンロードできるようになります。

raksul4.png

表紙(表 4:裏表紙・表 1:オモテ表紙)見開き→表紙の裏側(表 2・表 3)見開き→本文 1 ページ目(単独)→本文 2 ページ目以降(見開き)→本文最終ページ(単独)

の順になっていれば OK です。違っていたら連絡を入れて修正してもらいます。

1 部のみの発注の場合、印刷された冊子はメール便で届きます。