ちょっと硬派なコンピュータフリークのBlogです。

カスタム検索

2023-12-04

GIPKことはじめ - Generated Invisible Primary Keys

※この記事はMySQL Advent Calendar 2023の4日目です。

MySQL 8.0シリーズでは正式版になってから多数の新機能が追加されるというリリースモデルであった。正式版になってから追加された新機能の中に、GIPK(Generated Invisible Primary Key)というものがある。これはなんとMySQL 8.0.30で追加された機能だ。MySQL 8.0が正式版になってから、なんと4年と3ヶ月後のことである。そんな感じでMySQL 8.0の新機能は正式リリース後にも増え続け、途方もない規模になっている。このブログでは一度に紹介するのは諦め、少しずつ気の向いたものから紹介していこうと思う。今回はその第一弾として、GIPKについて解説しよう。

2023-09-18

MySQL 8.1シリーズにおけるInnoDB Clusterとリードレプリカの融合(ただしMySQL Serverは8.0でOK)

MySQL本体の新機能ではないのだが、MySQL ShellとMySQL Routerのイノベーションリリース(バージョン8.1)によりInnoDB Clusterに対してリードレプリカを追加することができるようになったので、今回はそのことについて解説をしていこうと思う。

InnoDB Clusterとは

このブログではInnoDB Clusterとは何かということをそもそもまだ解説していなかったように思う。詳しいことはおいおい別の投稿で触れたいと思うが、InnoDB ClusterというのはMySQL Serverのグループレプリケーションを核にしたクラスタリング機能のことだ。MySQL Shellを用いてかんたんに構築でき、なおかつMySQL Routerを介して接続することにより、インスタンス障害が生じたときに自動的に接続先を振り替えることができる。イメージ的にはこんな感じ。 

 

2023-07-19

MySQL 8.1登場!!Innovation ReleaseとLTSについて

MySQLの最新バージョンである「8.1」が発表されたので超久しぶりに筆を取った。しばらく筆を取らなかった理由は個人的なものなのだが、このブログはごく個人的な活動であるので諸々の事情はご容赦頂きたい。

さて、MySQL 8.0の次のバージョン番号は何になるかという憶測は色々あったと思うのだが、8.1というものに落ち着いた結果になった。(9.0にしてしまうと、2桁目の番号が意味をなさなくなってしまうからね!!ちなみに次のバージョンは8.2、8.3・・・という具合に続く予定だ。)8.1という番号はバグデータベース上で既にチラチラと出ていたので、公式な発表よりも前に気づいていた人も多かったのではないだろうか。本稿では、バージョン8.1の概要と、8.1リリースと同時に発表されたInnovation ReleaseおよびLTS(Long Time Support)について解説しようと思う。

2018-12-09

ダウンロード違法化の審議について一言言っておく

ライセンス違反の静止画像のダウンロードを違法化しようという法律の審議が行われているらしい。

海賊版静止画のDL規制を 文化審議会が意見まとめる:朝日新聞デジタル

はっきり言って、これは由々しき事態である。インターネットの利用に大きな制約をかけ、日本の文化を破壊するであろう、最悪の法案であると言える。はっきり言って、このような低レベルな話し合いが行われていること自体に私は憤怒している。最近は多忙のため筆を置いていたのだが、久々に筆をとることにした。この法案の問題をしてきしておかねばならないからだ。

2018-06-20

そろそろTempTableストレージエンジンについて一言言っておくか

MySQL 8.0で内部的に作成されるテンポラリテーブルが、HEAPストレージエンジンからTempTableストレージエンジンへと変更されたことは、皆さんもご存知だろう。このストレージエンジンはテンポラリテーブル専用として設計されたもので、実体を持ったテーブルとしての利用は想定していない。一応、internal_tmp_mem_storage_engineオプションを指定することで、従来のHEAPストレージエンジンも選択は可能であるが、個人的にはそれはお勧めしない。

2018-05-14

MySQLのZero Dateへの対処法

MySQLのZero Dateへの対処法

MySQLの0000-00-00 00:00:00は使ってはならない - そーだいなるらくがき帳

このエントリで、MySQLのゼロが含まれる日付け、いわゆるZero Dateについての問題点が色々挙げられているのを見かけたので、手短に対処法を述べておきたい。

2018-05-07

MySQL 8.0登場!立ち止まることを知らない進化はこれからも続く。

ゴールデンウィークはいかがお過ごしされただろうか。今年は天気も良く、行楽日和が続いたように思う。

さて、先日MySQL 8.0が正式にリリースされた。少し時間が経ってしまったが、今回はMySQL 8.0の新機能について紹介したい。コミュニティ版のダウンロードはこちらから可能だ。

ひとつ前の正式バージョンはMySQL 5.7だったのだが、MySQL 8.0は非常に大きなリファクタリングが含まれており、5.x台のバージョン番号を捨て去ろうという話があった。そこで、次のメジャーバージョンは最初の桁を増やすということになったのだが、MySQL 6.0は過去に既に存在し、買収などの騒ぎで開発が頓挫してしまった経緯がある。7.xはMySQL NDB Clusterと被っている。というわけで、5.7の7の部分の次という意味合いもあって、8.0というバージョン番号を引っさげ、満を持しての登場となった。そのバージョン番号が象徴するように、今回のアップデートは非常に大きいものとなっている。

以前の投稿では、開発段階の「マイルストーンリリース」を元に新機能を紹介したが、今回は改めて正式版をベースに新機能の概要について紹介しようと思う。

2018-04-10

労働時間を10%減らしてもGDPが10%減らない理由

先日、下記のような噴飯物の記事を見かけたので一言言っておきたくなり、久々に筆を執った。

竹中平蔵氏「労働時間の削減ばかりに目を向けているが、労働時間を10%減らしてもGDPが10%減るだけです」 : IT速報

断言するが、労働時間を10%減らしてもGDPが10%減るということなどあり得ない。世の中こんな考え方をしている経営者が多いんだろうか?だとしたら世も末だ。

2017-11-08

新書籍販売のお知らせ:Pro MySQL NDB Cluster

表題の通り、新しい書籍が販売される運びとなった。現在はまだ電子版のみで、紙の書籍は後から遅れて販売される予定である。

http://www.apress.com/gp/book/9781484229811

MySQL Clusterは、現在も製品名としてはMySQL Clusterのままであるが、InnoDB Clusterとの区別をはっきりさせるため、マニュアル上ではMySQL NDB Clusterという表記になっている。今回の本のタイトルもその点を考慮し、Pro MySQL NDB Clusterとした。以前書いたMySQL Cluster構築・運用バイブルと比べると、ページ数も格段に増え、さらに対象としているバージョンも7.2から7.5へとアップグレードしているので、現場でMySQL NDB Clusterを扱っている、あるいはこれから扱ってみようと考えている人には、必携の一冊であると言える。現時点では世界で唯一の、英語で書かれたMySQL NDB Clusterの技術解説書となっている。英語で書かれた書籍なので、あまり日本での売り上げは期待していないのだが、今現場で取り組んでいる人はぜひ購入して頂きたいと思う。

今回は同僚のJesperとの共著となっている。担当したページは双方300以上あるが、Jesperのほうがやや多い。(彼は書くのがとても速かった。)私が担当した章は、3〜6、17〜20となっている。6章はやや大きすぎたので、分割すれば良かったと絶賛後悔中である。Conflict resolutionの箇所は、使わないのであれば読み飛ばしてもらったほうが良いだろう。

というわけで、ぜひ購入をよろしくお願いします!

2017-09-07

db tech showcase 2017 tokyoで発表してきました。MySQL NDB Cluster 7.5と現在開発中の新機能について #dbts2017

ブログを更新するのは久しぶりである。ここのところ、ずっと缶詰めになってとある書籍を書いていたからだ。書籍は大詰めを迎えており、レビューワー&出版社とのやり取りが続いている。

そんな中、先日db tech showcase tokyoでMySQL NDB Cluster 7.5の新機能、そして今後予定されている新機能の中で、すでにDMRにおいて明らかになっているものについて、発表する場を頂いた。新機能の詳細については、以下のスライドを参照して欲しい。