タグ

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

  • 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について解説しよう。 GIPKとは GIPKとは、その名前が示すように、自動的に生成される不可視の主キーである。主キーを持たないテーブルに対

    GIPKことはじめ - Generated Invisible Primary Keys
  • 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)について解説しようと思う。 Inno

    MySQL 8.1登場!!Innovation ReleaseとLTSについて
  • そろそろTempTableストレージエンジンについて一言言っておくか

    MySQL 8.0で内部的に作成されるテンポラリテーブルが、HEAPストレージエンジンからTempTableストレージエンジンへと変更されたことは、皆さんもご存知だろう。このストレージエンジンはテンポラリテーブル専用として設計されたもので、実体を持ったテーブルとしての利用は想定していない。一応、internal_tmp_mem_storage_engineオプションを指定することで、従来のHEAPストレージエンジンも選択は可能であるが、個人的にはそれはお勧めしない。 TempTableストレージエンジンは、メモリとディスクの両方を自ら使い分ける。これは、従来型のテンポラリテーブルとは違う。HEAPストレージエンジンはインメモリ専用で、tmp_table_sizeあるいはmax_heap_table_sizeを超えるサイズが必要になると、ディスク上のテーブルへと自動的に変換が行われるという仕

    そろそろTempTableストレージエンジンについて一言言っておくか
  • 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というバージョン番号を引っさげ、満を持しての登場となった。その

    MySQL 8.0登場!立ち止まることを知らない進化はこれからも続く。
    raimon49
    raimon49 2018/05/07
    .FRMファイル君いなくなるんか
  • MySQL 8.0.0 Development Milestone Release登場!!

    先月、詳解MySQL 5.7を発刊したばかりであるが、MySQL 5.7自体は去年の10月にリリースされたバージョンである。それから約1年弱、MySQLは開発の手を緩めること無く日々改良を重ねている。 そう、MySQL 8.0の登場である。 現在はDevelopment Milestone Release(通称DMR)という状態なので、まだ正式版における機能が固まっている段階ではないという点には注意して欲しい。MySQLの開発プロセスでは、DMRをリリースするごとにその段階で成熟した機能をマージする。DMRを何度かリリースした後に、キリの良いところでリリース候補版となって正式版で追加される機能が一応確定し、その後バグ修正を経て正式版(GA版)がリリースされる予定となっている。詳しくはMySQLのマニュアルを参照して欲しい。 バージョン8.0!!5.7の次は誰もが5.8だと思っていただろう・

    MySQL 8.0.0 Development Milestone Release登場!!
    raimon49
    raimon49 2016/09/22
    MySQL Clusterとかぶってしまうから7.0も飛び越えて8.0 .FRMファイルは無くなる
  • 「PCをWin7のままにしておきたいのに強制的にWin10にするMSが嫌だ!Linuxに行く!」という方へLinuxユーザーとして言っておきたいこと

    PCをWin7のままにしておきたいのに強制的にWin10にするMSが嫌だ!Macに行く!」という方へMacユーザーとして言っておきたいこと という記事を見かけたので、Linuxデスクトップユーザーからも一言だけ言っておく。 結論から。 「悪いことは言わないからやめておけ!」 以前、いますぐWindowsを捨ててデスクトップでGNU/Linuxを使う10+の理由というエントリを書いたことがあるので、使っちゃいけないみたいなことを書くと、「おいおい、いまさら何言ってんだよ」と思われる方も居るかも知れない。だが、以前のエントリの主旨は「GNUのWindows移植版であるCygwinを使うぐらいだったらGNU/Linuxはいかが?」という提案をするためのものであり、いわばCygwinを使うようなIT技術者向けのメッセージである。Cygwinが必要だということは、UNIXライクなツール群を必要とす

    「PCをWin7のままにしておきたいのに強制的にWin10にするMSが嫌だ!Linuxに行く!」という方へLinuxユーザーとして言っておきたいこと
    raimon49
    raimon49 2016/03/15
    >LibreOfficeやChromiumのコンパイルは心が折れそうになるレベルである。この点については寝ている間にコンパイルすれば問題はないので、最近はもっぱらそうしている。 / 漢のコンピュータ道は険しい……。
  • あの超オスもセパレート式キーボードを使ってるらしい(ErgoDoxじゃないけど)

    超オス。それは漫画、バキシリーズで登場する単語であり、常人離れした、規格外の体格を持った格闘家を指すときに使われる。そんな超オスがIT業界にも存在する。いや、あまりにも有名なので、恐らく業界人であればその名を知らぬ人は居ないだろう。そう、ウェブ魚拓の開発者、新沼大樹氏である。はっきり言って、IT業界で新沼氏を知らなかったらモグリだと言って差し支えない。それどころか、その名はIT業界だけで収まらず、アスリートたちの間でも広まっている。なんせ、握力日一である。CoCのNo.4(166kg相当)をコンスタントに閉じられるということなので、もしかすると世界一かも知れない。(参考:IRONMAN BLOG:新沼大樹氏、未公開写真、握力王 新沼大樹氏 テレビ出演 - YouTube) 実は、そんな新沼氏から衝撃の発言を聞いた。 「私もセパレート式のキーボードを使っています。」 ・・・ 〜〜〜〜〜〜〜

    あの超オスもセパレート式キーボードを使ってるらしい(ErgoDoxじゃないけど)
    raimon49
    raimon49 2016/02/01
    たしかに姿勢が良いw
  • 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リファレンスマニュアル日本語版のお知らせ
    raimon49
    raimon49 2015/06/05
    イケてる翻訳のマニュアルありがたし。
  • 書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL

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

    書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL
    raimon49
    raimon49 2015/02/02
    >この書籍は残念ながら、初心者向けではない。SQLの基礎やRDBの基本的な使い方といったものは解説していないからである。
  • まだ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でクラッシュセーフなレプリケーションを活用して枕を高くして眠れる日々を満喫する方法
    raimon49
    raimon49 2014/12/16
    マスターサーバがクラッシュセーフと保証されるためのinnodbの設定とか。
  • ホワイトカラーの生産性を上げる方法

    先日、新「労働時間制度」創設へ検討指示 NHKニュースという記事(魚拓)が上がった。この記事を読む限りでは、政府はホワイトカラーの人たちの生産性を向上させるために新労働時間制度を創設しようとしているように見える。だが待って欲しい。労働制度を変えることで当に生産性が上がるのだろうか。今日は、政府が行なっている議論の問題点についての指摘と、当にホワイトカラーの生産性を上げる方法について考察してみよう。 政府は論点がずれている。なぜならば、結論ありきだから。まず、新労働時間制については次のように職種を限定した議論が行われているように見受けられる。 そして具体的な業種や業務について、経営企画や新商品の開発、海外プロジェクトなどを担うリーダー、それにITや金融関連のコンサルタント、資産運用を行うファンドマネージャー、経済アナリストなどを挙げています。 一方、田村厚生労働大臣は年収が数千万円に上る

    ホワイトカラーの生産性を上げる方法
    raimon49
    raimon49 2014/06/02
    >1年ほどひとつの事業部をし切ったら、また別の事業部に移るということだ。その話を聞いたとき、私は椅子から転げ落ちそうになった。ままごとかよ!! / あるあるネタ。
  • ヒゲモジャのギークが提案する技術習得戦略

    先月、Dbtech Showcaseで松信さんがデータベース技術の羅針盤という講演をされた。残念ながらプレゼンそのものを観に行くことはできなかったが、その前の日に松信さんと一緒に昼飯をべたとき、講演のあらすじについては伺っていた。その際にも同じようなことを松信さんには言ったのだが、スライドを見直した上で改めて自分の意見をまとめておこうと思ったので筆をとることにする。 なお、このエントリではスライドに書かれているトピックについて語るので、まだ松信さんのスライドを見てない人は先にスライドに目を通してからエントリを読んで欲しいと思う。結論は全く違った方向に進んで行くが、その点は了承して頂きたい。 あなたに選択肢はあるか?ひと握りの天才なら自分の興味のある分野を開拓することができるだろう。あるいはすでに成功を収めた人であれば転職に困ることはないので、成功しそうな会社に乗り換えることもできるだろ

    ヒゲモジャのギークが提案する技術習得戦略
    raimon49
    raimon49 2013/12/07
    熱い。身に付いたスキルの幾らかは無駄になっても良い。そう思う。
  • ナチュラルキーとサロゲートキーについての議論

    とあるブログエントリで「ナチュラルキーを主キーにしてはいけない」という主張を見かけたのでこれに反論しておく。これはリレーショナルモデル的には明らかに間違った考えだからだ。 リレーショナルモデルにあるのはナチュラルキーだけリレーショナルモデルには「サロゲートキー(代理キー)」という概念はない。まずこの点に注意して頂きたい。サロゲートキーとは、データベースアプリケーション開発において実用上必要とされる機能であって、質的には不要のものである。リレーショナルモデルでは、いわゆるナチュラルキーというものがあれば機能的には十分だからだ。 そのためにはまず「キー」という概念が何を指し示すかということについて正しく理解しなければならない。リレーショナルモデルではキーと呼ばれるものは候補キーとスーパーキーという2つの概念だけである。「タプル(≒行)の値を一意に決定することができる属性(≒カラム)の集合」の

    ナチュラルキーとサロゲートキーについての議論
    raimon49
    raimon49 2013/12/06
    理想と現実という話に読める。
  • その選択、ちょっと待った!NoSQLデータベースへ乗り換える前に検討すべき3つのポイント

    最近、どうも安易に「NoSQLにすれば厄介なDB設計から開放される」と考えている人が多いように思えて仕方がない。だが待って欲しい。当にNoSQLと呼ばれるデータベースを使えばアプリケーションの開発・運用の苦しみから逃れられるのだろうか。もちろん「そんなことは無い!!絶対にだ!!」と私は考える。今日はその理由について語ろうと思う。 トランザクション先日、リレーショナルデータベースにおけるDB設計についてセミナーで解説したばかりだが、リレーショナルデータベースにおけるデータの整合性は何もDB設計だけが担保しているわけではない。リレーショナルモデルと同じかそれ以上に欠かせないのがトランザクションだ。 トランザクションがあるおかげで、トランザクション終了後のステータスは「成功」か「失敗」の2つしかないということが保証される。すなわちオール・オア・ナッシングだ。もしトランザクションの途中で何らかの

    その選択、ちょっと待った!NoSQLデータベースへ乗り換える前に検討すべき3つのポイント
    raimon49
    raimon49 2013/12/01
    RDBMSからのスイッチではなく併用で考える。
  • 手のひらの上のデバイスがあなたを監視する!!スマホとプライバシーについて考える。

    Slashdot(家)の記事で、モトローラのスマートホンが勝手にユーザーのデータをネットを通じて送信していたという記事が掲載されている。 Motorola Is Listening - Slashdot 詳しい内容は元記事(下記)を見て欲しい。 Motorola Is Listening - Projects - Beneath the Waves 記事を見ると分かるが、まさにありとあらゆる情報が、その多くが安全でない手段で送信されており、さらに送信されている情報にはパスワードといったセキュリティ的に非常にまずいものから、Facebookの友達情報、メールの宛先や差出人、GPSの位置情報といったプライバシーに関わるものがてんこ盛りとなっている。前回のエントリでプライバシーの重要性について書いたばかりなのだが、今回はその延長としてスマートフォンにおけるプライバシーの問題について考察しようと

    手のひらの上のデバイスがあなたを監視する!!スマホとプライバシーについて考える。
  • ネットとプライバシー

    スウェーデンで「インスタグラム裁判」と呼ばれる裁判の判決が出されたそうだ。 SNSで高校生の性生活「暴露」、裁判の末に・・・ 「サセ子ちゃんは誰?」の代償~北欧・福祉社会の光と影(16) 以下はニュースからの引用である。 事件の発端は、スウェーデンの第2都市ヨテボリに住む女子高生2人が、このインスタグラム上に「奔放なセックスライフを送っている」とされる同年代の男女の写真を投稿・共有するアカウントを作成したことだ。 これが大きな波紋を呼び、アカウントが稼働した翌日に暴動が発生、数十人の高校生が逮捕される騒ぎとなった。 この「黒幕」としてアカウントを作成した2人の少女が起訴され、ヨテボリ地方裁判所での約3週間にわたる公判の後、「すべてのケースにおいて深刻にプライバシーに立ち入る性質を持つもの」であり、「重大な名誉毀損に当たる」とされて有罪判決を受けた。 事の顛末については記事を参照して欲しい。

    ネットとプライバシー
  • MySQLでVisual Explain

    MySQL Workbenchの次期バージョンである6.0のベータ版が公開された。例によってMySQLのダウンロードサイトで公開されているので、新機能が気になる人はゲットして試してみて頂きたい。見た目が若干今流行りのフラットデザインっぽくなってシャレオツ(笑)な感じに仕上がってる。 ベータ版が公開されたのを記念して、Workbenchに搭載されているナイスな機能について紹介したい。そう、Visual Explainだ。Visual Explainとは読んで字のごとく、SQLの実行計画を視覚的に表現したものだ。SQLが複雑になると、その実行計画は理解し辛いものとなる。 今日はVisual Explain基的な使い方と、それがどのように見えるかを紹介しようと思う。 Visual Explainを使用するには、対象のMySQLのバージョンが5.6以上であり、なおかつWorkbenchのバージョ

    MySQLでVisual Explain
    raimon49
    raimon49 2013/06/27
    MySQL Workbench 6.0
  • RDBMSに関する典型的な誤解が絶えないという現実

    新入社員必読、データベースの基を理解しよう - データベースはなぜ必要なの?:ITproという記事に対するブクマで次のようなIDコールが来た。(現在はコメント返しへのお礼が入っているので、文字数制限のためオリジナルのコメントは少し切り詰められている。) "リレーショナルデータベースはすべてのデータを2次元の表形式で表現"こういうのもリレーションが2次元構造という誤解の一種なんだろうか。id:nippondanjiさんが書いてたような。 さて、この疑問に対する正解は如何なるものだろうか? つい先日「7つのデータベース 7つの世界」の書評で書いたばかりだが・・・ 言うまでもなくその通りである。 リレーションが2次元的な構造を持っているというのは典型的な誤解だ。(ちなみにリレーションの次元は属性の数に等しい。n個の属性があるリレーションはn次元。)リレーショナルモデルについてちゃんと学習してい

    RDBMSに関する典型的な誤解が絶えないという現実
  • 書評:「7つのデータベース 7つの世界」

    訳者、角 征典氏より献御礼。「7つのデータベース 7つの世界」はそのタイトルの通り、7種類のデータベースソフトウェアについて解説したNoSQLの道標とも言うべき書籍である。7種類のデータベースとして紹介されているのは、PostgreSQL、Riak、HBase、MongoDB、CouchDBNeo4j、Redisである。書は非常にそそるタイトルであり、わくわくしながらページをめくった。だが、第2章「PostgreSQL」で期待感は打ち砕かれることになる。 正直なところ、この書籍について書評を書くのはどうしようか迷ってしまった。なぜならば、第2章の説明がかなり間違っているからである。そのため、書評を書こうとするとどうしても辛口にならざるを得なかった。献して頂いた角氏にその旨を伝えたところ、それでも良いと快く了承して頂いた。当に辛口になるのでその点は容赦して頂きたい。 何が問題なのか

    書評:「7つのデータベース 7つの世界」
    raimon49
    raimon49 2013/04/03
    >RDBMS抜きでやると、結局はアプリケーション側でリレーショナルモデルを実践する必要がある。それはとても壮大な車輪の再発明になるだろう。 / 教訓