タグ

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

  • 違いが分かるエンジニアのためのMySQL/InnoDB/ZFSチューニング!

    明けましておめでとうございます。今年もコンピューター道に邁進して参りますのでよろしくお願いします! さて、今年一発目のネタはMySQL利用時におけるZFSのチューニングについて取り上げようと思う。Solarisに搭載されている機能の中でも最も注目度の高いものの一つであるZFSであるが、MySQLのバックエンドとしてはあまり利用されていないように思う。(そもそもSolarisのユーザー数自体がそれほど多くないという話もあるが。)ZFSは優れたファイルシステムであり、ファイルシステム自体にスナップショット機能が搭載されていたり容量の限界に先が見えない(充分すぎるほど余裕がある)といった管理上のメリットがあり、DBAにとっては垂涎のファイルシステムであると言える。(Linuxで利用出来ないのが難点だが、ZFSを使うためにSolarisを使うのもアリだろう。) MySQL利用時におけるZFSのチュ

    違いが分かるエンジニアのためのMySQL/InnoDB/ZFSチューニング!
    tyru
    tyru 2021/03/26
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
    tyru
    tyru 2019/07/27
  • MySQLのZero Dateへの対処法

    MySQLのZero Dateへの対処法 MySQLの0000-00-00 00:00:00は使ってはならない - そーだいなるらくがき帳 このエントリで、MySQLのゼロが含まれる日付け、いわゆるZero Dateについての問題点が色々挙げられているのを見かけたので、手短に対処法を述べておきたい。 Zero Dateが存在する理由なぜそんな厄介なデータが存在するのかというのは、開発の経緯や互換性といった深淵な理由からなので気にしないで欲しい。まあ、人間は完璧ではないので、人間が作るプログラムも完璧ではないということだ。 当然ながらSQL標準から外れているものは、例外的な使い方をしたい場合を除き、使うべきではない。アンチパターンも使い方次第という話もあるが、例外的な使い方は基的に苦労が増えるので使うべきではない。 SQLモード実は、Zero DateはSQLモードで禁止できる。SQLモー

    MySQLのZero Dateへの対処法
    tyru
    tyru 2018/05/15
  • あの超オスもセパレート式キーボードを使ってるらしい(ErgoDoxじゃないけど)

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

    あの超オスもセパレート式キーボードを使ってるらしい(ErgoDoxじゃないけど)
    tyru
    tyru 2016/02/02
  • SQLインジェクション対策に正解はない

    最近、SQLインジェクションのネタが盛り上がってるようだ。下記のTogetterまとめあたりが震源地だろうか。 「プリペアードクエリが基だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ まとめを読んだ感想としては、「どちらの意見も間違ってはいない」というものだ。前提あるいは見方が異なるために、見解の相違が生じているだけのように思う。SQLインジェクションについては私も若干思うところがあるので意見を書いておこうと思う。 攻撃を防ぐのは難しいSQLインジェクションをはじめとするセキュリティ対策が難しいのは、ひとつでも穴があると致命的なダメージを受け得るということだ。「どうやって効率よくコードを書くか」とか「コードのメンテナンス性を高めるにはどう書くべきか」みたいな議論とは全く質が異なる議論が必要になっ

    SQLインジェクション対策に正解はない
    tyru
    tyru 2014/03/30
    いくつか追加条件を指定できる検索画面では組み立てていくしかないって話/ライブラリ(O/Rマッパー)での対処例としてはこういうのがいいと思う http://doma.seasar.org/reference/sqlfile.html#条件コメント
  • DRMがウェブに持ち込まれようとしている未だかつてない危機

    我らがフリーソフトウェア財団が、最近W3Cに提案されたEMEという規格について警告を発している。EME(Encrypted Media Extensions)はウェブ上のメディアに対してDRMを持ち込む規格である。オー・マイ・ガッ!!なんということだろう。 なぜDRMがダメなのか。ウェブの良い点はHTMLという共通の規格によって、ブラウザーが違えど誰もが同じページを参照することができるということだ。どのようなOS、どのようなデバイス、どのようなブラウザでも関係ない。現在でもFlashが組み込まれたページという問題はあるものの、HTMLによる表現の共通化は割とうまくいっている。標準化が進むHTML5はさらにそのFlashも不要になる可能性を秘めている。DRMはウェブの良さを台無しにするからである。 EMEはそのような自由なウェブを真っ向から否定するかのような存在なのだ。 もし、HTMLにDR

    DRMがウェブに持ち込まれようとしている未だかつてない危機
    tyru
    tyru 2013/05/01
  • RDBMSに関する典型的な誤解が絶えないという現実

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

    RDBMSに関する典型的な誤解が絶えないという現実
    tyru
    tyru 2013/04/24
  • 高速SSDの落とし穴。データベースで利用するときはご注意を!

    今年はSSDの台頭がめざましい。価格の低下、大容量化、そして高速化、さらには低電力化まで期待できるというからもうHDDの出番はなくなるんじゃないだろうかというぐらいの勢いである。しかしそんなSSDもデータベースで利用する時には気をつけてもらいたい。 MySQL Performance Blogでインテル製SSDを使って検証した結果がレポートされている。 インテル製SSDはめっぽう早い。彼らのテストでは一秒間に5250回もの書き込みが出来たそうだ。しかしそれはライトバックキャッシュが有効になっているときの話であって、ライトバックキャッシュを無効にすると書き込みは秒間1200回まで低下したらしい。(それでも高速だが。) で、このインテル製SSDのライトバックキャッシュはくせ者で、バッテリー等で保護されていない。つまり、ライトバックキャッシュにダーティな(まだディスクへの書き出しが完了していない

    高速SSDの落とし穴。データベースで利用するときはご注意を!
    tyru
    tyru 2013/04/14
    「このインテル製SSDのライトバックキャッシュはくせ者で、バッテリー等で保護されていない」
  • まるで魔法のようなストレージエンジン??VP for MySQLによる驚愕のテーブル操作テクニック。

    先日、SPIDERストレージエンジンについて2度に渡りブログで紹介した(その1:Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン、その2:快適スケールアウト生活への第一歩。SPIDERストレージエンジンを使ってみよう!)が、SPIDERの作者である斯波氏は、実はもう一つ驚くべきストレージエンジンを開発している。その名も、VPストレージエンジンだ。ちょっと地味な名前だが、VPとは、Vertical Partitioning(垂直パーティショニング)の略で、複数のテーブルの上にVPストレージエンジンを被せて、垂直パーティショニング(カラムごとにデータを格納する領域を分ける)を実現するというものだ。他のテーブルの上に被せるアーキテクチャをとっているという点では、VPとSPIDERの発想は同じである。以下は、VPストレージエンジンの動作

    まるで魔法のようなストレージエンジン??VP for MySQLによる驚愕のテーブル操作テクニック。
  • 開発スピードアクセル全開ぶっちぎり!日本よ、これがMySQL 5.6だッ!!

    米国で行われているMySQL Connectというイベントで、ついにMySQL 5.6 RC(リリース候補版)が発表された。リリース候補版ということは、これが次の正式版になるということだ。MySQL 5.5は5.1から凄まじい進化を遂げたバージョンであった。だが、MySQL 5.6はさらにそれを上回る進化を遂げている!正直ここまでの進化を誰が予想しただろうか、いや誰も出来なかったであろう。これまで、α版が出たときから何度か新機能について紹介してきたが、今回改めてMySQL 5.6の新機能を振り返ってみようと思う。すべてまとめるともの凄い内容だ。興奮して夜も眠れなくなること請け合いだ。MySQLの進化が止まるのでは?などという心配は吹き飛び、もはやもうちょっと小出しにしなくて良かったのか?と心配してしまうレベルである。 それではMySQL 5.6の新機能について紹介していこう。 InnoDB

    開発スピードアクセル全開ぶっちぎり!日本よ、これがMySQL 5.6だッ!!
    tyru
    tyru 2012/10/01
  • フリー(自由な)ソフトウェアをインストールする自由を守るために立ち上がれ!

    フリーソフトウェア財団がUEFI(Unified Extensible Firmware Interface)に実装されるSecure Bootによってソフトウェアの自由が侵害される危機について警笛を発している。UEFIとはBIOSを置き換える、あるいは後継のソフトウェアのこと。BIOSの後継にあたるだけあって、UEFIはかなり機能が充実している。Intel MacがEFI(*1)を採用しているのは有名な話だ。Secure BootはUEFI上に実装される機能のひとつであり、起動するOSのカーネルを限定する。 どのように限定するかが問題であり、限定の仕方によってはインストールするOSがベンダーが指定したものだけに制限される恐れがあるのだ。特にマイクロソフトがWindows 8互換のロゴをベンダーが取得する要件としてSecure Bootの搭載を要件として求めているため、フリーソフトウェア財

    フリー(自由な)ソフトウェアをインストールする自由を守るために立ち上がれ!
    tyru
    tyru 2011/11/07
  • 珍しい病気にかかってあれこれ考えた話。

    最近、とても珍しい病気を患った。プライベートな話で恐縮だが、そのことで色々と思うことがあるので綴ってみようと思う。 ことのはじまりちょうど今月の初めごろだが、突如として全身の筋肉や関節が痛くなった。特に激しい運動をした覚えはないのだが、なにやら筋肉痛のように痛い。いや、もっと痛い。そのような症状が手、足、肩、腰などに広がり、歩行すら困難な状態になってしまった。熱はない。インフルのような悪寒もない。何故かくるぶしから膝にかけて湿疹のようなものが出て痒かった。まいったな、痛みに加えて皮膚もやられたのかよ・・・などと考えていた。 痒みはともかく痛くて仕方がないので、近所の急患センターへ行って観てもらったが分からない。一見するとリウマチのような症状だが検査しないと分からない。急患センターでは分からないので大きな病院で診てもらったほうがいいとのことで、大学病院(自治医科大学附属病院)のリウマチ・アレ

    珍しい病気にかかってあれこれ考えた話。
    tyru
    tyru 2011/09/29
  • 今世紀最悪の不必要悪、特許神話を打ち砕く!!〜前編〜

    特許が企業活動、とりわけ新しい技術を利用した製品を提供する企業にとって不可欠なものであるという認識が定着して等しい。だが、特許は当に企業活動にとって、いや、もっと広い意味で社会にとって必要なものだろうか?特許という仕組みが如何に下らないか、そして如何に社会にとって害悪でしかないかということを示す記事が話題になっている。 大手メーカーの特許戦略はぬる過ぎる 〜履歴書23通目で入社、そこで見た仰天の企業活動とは〜 / JBPress 特許を取得し、そのライセンス料だけで儲けている会社の話である。以下は記事からの抜粋。 例えば、インテルが、新しいプロセッサを発売したとしよう。この会社はすぐに、これを入手して、リバースエンジニアリングを行う。リバースエンジニアリングとは、製品を分解・分析して、製造プロセスや設計情報を導き出す手段である。 プロセッサなど半導体製品の場合であれば、パッケージから集積

    今世紀最悪の不必要悪、特許神話を打ち砕く!!〜前編〜
  • 挑戦に言い訳は要らない

    ひろぶろで紹介されていたダンサーの動画に感動したので、思ったことを書いてみる。 まずは百聞は一見に如かず。この動画を観て欲しい。なんと素晴らしいパフォーマンスだろうか。だが、ちょっと冷静に観察して欲しい。明らかに中央で踊っている男性は、他の2人より背が低い。両サイドの2人が大きいのだろうか?いや、どうやらそうではないらしい。 脊椎側湾症このダンスグループはRemoteKontrolという。彼らのウェブサイトへ行くとメンバー紹介(BIO THE KREWのコーナーだ)がある。背の低い彼、Bryan "Chibi" Gaynorのプロフィールを見てみると、背が低いのはscoliosisとKlippel–Feil syndromeによるものだということが分かる。("Chibi"は日のアニメからとったニックネームなのだそうだ。) scoliosisとは、日語で脊椎側湾症といい、その名の通り脊椎

    挑戦に言い訳は要らない
  • 「優れたMySQL DBAを見分ける27+3の質問」に対する回答例

    随分と更新が空いてしまったが、「優れたMySQL DBAを見分ける27+3の質問」に対する回答例(漢バージョン)を紹介しよう。実は質問を掲載した際「難しい!」というコメントが非常に多く、もう少し易しい質問にするべきだったかと思って次のように呟いてみたのだが・・・ 非常に心強くて安心した。さすがに日を代表するMySQLのエキスパートである。出題のレベルは間違ってはいなかった!! そんなわけで、回答の方に移ろう。 MySQLのサーバープロセスはいくつある?ひとつ。mysqldはシングルプロセス・マルチスレッドモデルを採用しているので、"サーバー"プロセスはひとつである。多くの場合、Linuxなどでmysqldを動かす場合には、お供にmysqld_safeも常に動いていることが多いが、mysqld_safeはサーバーではなく、mysqldのためのラッパーであるので数には含めない。 rootユー

    「優れたMySQL DBAを見分ける27+3の質問」に対する回答例
  • "オープンソース"の名を冠したプロプライエタリな人向けのセミナーに参加した件

    先月中旬の話になるが、マイコミジャーナルで紹介されていた「事例に学ぶ オープンソース知財セミナー2010」というセミナーに参加してきた。(主催はオージス総研)サブタイトルは「オープンソースに潜む法的リスクとその対策のヒント」という謳い文句であり、オープンソース独特の法的リスクの話が聞けるかも知れないと思い申し込んだ。だが、結果は見事に裏切られた! ひとことで言うと、今回のセミナーはオープンソースのセミナーではなかった!というのが拙者の正直な感想である。あまりにも酷い内容だったと言って差し支えない。酷かったのは各々のプレゼンの質などではなく、その欺瞞に満ちたメッセージである。そのようなメッセージを放置すると、オープンソースに対する誤った知識が広まる恐れがあるので、エントリにて批判させて頂こうと思う。 キナ臭い基調講演基調講演はセミナーを主催したオージス総研の常務が行なった。滑り出しはオー

    "オープンソース"の名を冠したプロプライエタリな人向けのセミナーに参加した件
  • GPLv3とソフトウェア特許

    GPLv3にはソフトウェア特許についての言及(GPLv3 第11条)がなされているが、どうもこの点については誤解が多く人々がGPLv3の利用を躊躇する理由になっているように思う。GPLv3の特許条項はGPLv3に対するFUDの元凶になっているように思う。実は筆者は最近「GPLv3を適用したソフトウェアを公開するとあなたの持っている特許は全て無効になる」という(如何にもGPLv3を適用すると不利益を被るような)誤った説明がなされているのを目の当たりにしたところであり、筆をとる必要があると感じた次第である。そこで、今日はGPLv3における特許の取り扱いについて説明しようと思う。 GPLv3の要求事項GPLv3が定めるのは、簡単にいうと「あなたがGPLv3が適用をしたソフトウェアに特許が含まれる場合、GPLv3でライセンスされたそのソフトウェアを利用/使用するユーザーを特許侵害で訴えませんよ!」

    GPLv3とソフトウェア特許
  • オープンソースの道 〜 よりよい社会を育てる方法 〜

    最近、自治体においてオープンソースソフトウェア(以下OSS)を採用する例が増えてきたように思う。(注1)ニュースに上がったものだけでも、次のような例がある。 自治体に広がるOpenOffice.org - ITpro さらばWindowsLinux時代幕開け - 読売新聞 県が「オープンオフィス」導入へ 次期オフィスソフト - 山形新聞 ニュースになっているのはOpenOffice.orgやGNU/Linuxであるが、採用に至った主な理由はOSSにするとコストが下がるからであると記されている。確かにOSSはタダだ。商用で提供されているものもあるがタダでオペレーティングシステム(以下OS)やオフィスソフトのように人数に応じたライセンスが必要なものは、そのライセンスコストだけでも相当な額になる。しかも古くなってソフトウェアを更新するたびにライセンス料金が発生してしまう。それがタダになるのは確

    オープンソースの道 〜 よりよい社会を育てる方法 〜
  • 書評: 看板に偽りなし!「KVM徹底入門」

    仮想化技術が注目されはじめて久しい。クラウドコンピューティングのバックエンドには仮想化が必須であり、ユーザーはあまり意識することはなくてもIaaSなどを利用する場合には仮想化技術のお世話になっている。仮想化技術には実に様々なものがあり、KVM - Kernel-based Virtual Machineはその選択肢のひとつだ。 KVMに興味があり、これから勉強しようと思うのであれば、まずこのを手にしてみるのがいい。 タイトルに偽りなし!もくじは以下の通り。徹底してKVMの入門知識を習得するための筋道ができている。 1. KVMと仮想化技術の基礎知識 1.1 仮想化とは 1.2 仮想化技術の流れ 1.3 仮想化のメリットとデメリット 1.4 IAサーバーと仮想化 1.5 CPUの仮想化支援機能 1.6 KVM(Kernel-based Virtual Machine) 2. パッケージによ

    書評: 看板に偽りなし!「KVM徹底入門」
  • ウェブガイア仮説 〜 コンピュータと生物の不思議な類似点 〜

    Publickeyに「サーバは「単体」から「群体」へと進化中」という記事があったので、それに刺激されて筆をとってみた。稿は、以前書いた「コンピュータ業界の展望と多様性」というエントリの続きである。今回は、コンピュータシステムの形態(トポロジ)とトレンド、そして今後の展望について、生物とコンピュータシステムの類似性および両者の比較を用いて様々な側面から自分の見解を論じてみたい。かなりの長文エントリなのでその点はご容赦を。 細胞とコンピュータコンピュータ(もしくはコンピュータシステム)と生物には、驚くほどたくさんの類似点がある。改めてその類似点を比較してみると、それが偶然の一致ではなく、そこには必然性があるように思えてならない。生物はご存じの通り細胞から成るが、細胞と一台のコンピュータが同じレベルのものであると過程すると、コンピュータと生物の間はかなり多くの共通点が見えてくる。「複雑な構造を

    ウェブガイア仮説 〜 コンピュータと生物の不思議な類似点 〜