DBに関するyad-ELのブックマーク (52)

  • なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策|ハイクラス転職・求人情報サイト AMBI(アンビ)

    なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 『SQLパフォーマンス詳解』の翻訳者の松浦隼人さんに、8つの「SQLが重たくなる原因とその対策」を聞きました。システムのボトルネックになるような「問題のあるSQL」を回避するノウハウを学びましょう。 データの操作や定義をする言語「SQL」は、どのような領域を担うエンジニアにとっても必修科目です。しかし、その仕様をきちんと理解し、パフォーマンスに優れたSQLを書ける方はそれほど多くありません。問題のあるSQLを書いてしまい、知らぬ間にそれがシステムのボトルネックになってしまう事態はよく発生します。 では、どうすればそうした事態を回避できるのでしょうか? そのノウハウを学ぶため、今回は『SQLパフォーマンス詳解』の翻訳者であり、自身もエンジニアでもある松浦隼人(まつうら・はやと/@dblmkt)さんに8つ

    なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策|ハイクラス転職・求人情報サイト AMBI(アンビ)
    yad-EL
    yad-EL 2017/06/26
  • 新著が出ます:『プログラマのためのSQLグラフ原論』 - ミックのブログ

    今月下旬に、J.セルコの『Trees and Hierarchies 2nd Edition』の邦訳が刊行されます。同著者の代表作『プログラマのためのSQL 第4版』のスピンオフの一つで、RDB/SQLで木と階層構造を扱うための方法論にフォーカスしたなかなかマニア度の高い一冊です。主眼となる「入れ子集合モデル」については、私もあちこちの記事や書籍で紹介したことがあるので、ご存じの方もいるかもしれませんが、より包括的かつ理論面までカバーした格派の内容になっています。 表紙の女性はマリア様でしょうか。家の方が刊行されたときも「このおっさん誰?」という質問が相次ぎましたが、ガリレオという説が有力なようです。そう言われてみると家は『星界の報告』のような格調を感じます。書の方は、長らく定説とされてきたモデルをひっくり返そうという意味では『天体の回転について』みたいな性格もあるのですが、大型

    新著が出ます:『プログラマのためのSQLグラフ原論』 - ミックのブログ
    yad-EL
    yad-EL 2016/08/15
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
    yad-EL
    yad-EL 2016/07/28
  • go-sql-driver/mysql でプレースホルダ置換をサポートしました : DSAS開発者の部屋

    前回の記事で少し触れましたが、 go-sql-driver/mysql にドライバ側でのプレースホルダ置換を実装するプルリクエストを出していました。 それがマージされたので、背景のおさらいと利用方法を紹介しておきます。 背景 Godatabase/sql の概要については前回の記事で解説しました。 そこで説明したとおり、 DB.Prepare() を使わずに直接 DB.Exec() や DB.Query() を使った場合、 ドライバ側でのプレースホルダ置換に対応していないドライバでは prepare, exec, close で3回のラウンドトリップが発生することになり、パフォーマンスが悪くなります。 基的には DB.Prepare() を使えばいいのですが、前回の記事で修正したスケーラビリティの問題は Go 1.5 になるまで直りませんし、 IN 句があるSQL文などで事前に P

    go-sql-driver/mysql でプレースホルダ置換をサポートしました : DSAS開発者の部屋
  • Golang vs PHP7(追記あり) - GMOインターネットグループ グループ研究開発本部

    Golangが一番パフォーマンスが良いかと予想していましたが、全く逆の結果になってしまいました。 Golangが遅い理由 遅い原因をいくつか考えて改善できないか試してみました。詳細は省きますが、以下の点については問題なさそうでした。 goroutineはリクエスト単位で起動している コネクションプールは有効になっている BeegoORM特有の処理は主原因ではない(標準ライブラリのsql関数と大差なし) DB側のCPU使用率は100%になっているが、CPU使用率とメモリ使用量はPHP環境と同程度の負荷になっている ここまで確認して、プロファイラを使った方が良さそうに思えたので、いったんプロファイラで状況を確認するために、標準で提供されていて手軽に使えそうなpprofを使ってみました。topで確認すると次のような結果がでました。 (pprof) top 20 -cum 920ms of 15

    Golang vs PHP7(追記あり) - GMOインターネットグループ グループ研究開発本部
  • JackDB | Data Sources

    yad-EL
    yad-EL 2015/04/02
  • 米FacebookやGoogle、Twitterなどが独自のMySQL拡張「Web Scale SQL」を開発へ | OSDN Magazine

    米Facebookは3月27日、米Google、米LinkedIn、米Twitterと「Web Scale SQLプロジェクトを立ち上げたことを発表した。大規模環境での運用に向けてMySQLの拡張性と性能を強化するというプロジェクトで、「MySQL 5.6」をベースとした初回バージョンも公開した。 Web Scale SQLはFacebook、GoogleTwitter、LinkedInのMySQL開発者が立ち上げたプロジェクト。4社はオープンソースのデータベースであるMySQLを使用して大規模なシステム向けの拡張性と性能を実現したいという共通の課題を抱えており、協業に至った模様。中でもFacebookは12億3000万人のユーザーを抱えており、世界最大規模のMySQL環境を運用しているという。オープンソースプロジェクトとすることで、スケール主導のMySQLコミュニティとのコラボレーシ

    米FacebookやGoogle、Twitterなどが独自のMySQL拡張「Web Scale SQL」を開発へ | OSDN Magazine
    yad-EL
    yad-EL 2014/03/31
  • 俺のMySQL秘伝スクリプトが火を噴くぜ #mysqlcasual - onigra.github.io

    俺のMySQL秘伝スクリプトが火を噴くぜ #mysqlcasualDecember 8, 2013 by Yudai Suzuki このエントリーはMySQL Casual Advent Calendar 2013 8日目の記事です。 というわけで、僕が仕事で書いた秘伝のタレの一つを紹介します。 まず、秘伝のタレを作った背景というのが、先日mysqlcasualでLTした IBM DB2からMySQLへの移行 の中で、唯一移行できなかったマーケティングの用途で使用されているDBにあります。 移行できなかった理由は、もういない人が残していった謎の集計用バッチが大量に動いており、何をしているのかわかる人もおらず、当然ドキュメントも残っていないため、動かすことができなかったからでした。 とはいえ、このままDB2を使い続けるわけにはいかなかったので、僕がブラックボックスに手を入れることになりました

    yad-EL
    yad-EL 2013/12/09
  • MySQLでMyISAMからInnoDBに乗り換える際に知らないとハマる、怖い話 - Y-Ken Studio

    photo by byte MySQLといえば、巷ではInnoDBばかり注目され、MyISAMの地下アイドル化がにわかに語られる今日この頃、皆様いかがお過ごしでしょうか。 まあカジュアルにストレージエンジンを変換するだけで済むなら、簡単なのです。 -- legacy_my_tableをInnoDBストレージエンジンに変換する ALTER TABLE legacy_my_table ENGINE=InnoDB; よし終わった!さあランチタイムだ! ・・・と片付けてしてしまうと、悲劇が起こるかもしれません。(>o<;) それでは日、MyISAMからInnoDBへ移行するなら知っておきたい意外な落とし穴とTipsを紹介します。 AUTO INCREMENTの挙動が違う落とし穴 以下に該当するクエリを利用している場合には、注意が必要です。私はハマりました。 INSERT IGNORE INTO

    MySQLでMyISAMからInnoDBに乗り換える際に知らないとハマる、怖い話 - Y-Ken Studio
    yad-EL
    yad-EL 2013/12/06
  • sqlのwhere in って、複数条件(カラム)を指定できるんですね - end0tknr's kipple - web写経開発

    http://blog.fusic.co.jp/archives/1765 ↑postgresの記事ですが、mysqlでも同様に実行できました。 SELECT * FROM test_table WHERE (col,co2) IN -- 複数のカラムを指定 (SELECT subcol1,subcol2 -- 副問いの戻り値も複数のカラムを指定 FROM subtable WHERE id > 10 ) 知らなかったなんて、お恥ずかしい ※手元にあるmysqlはv.5.1.61ですが、v.4.1から使えるらしい sqlの仕様として、mysqlのdocでは分かりませんでしたが、sql99から利用可らしい http://dev.mysql.com/doc/refman/5.1/ja/comparison-operators.html ↑では、分かりませんでしたが、次のurlよれば、sql99

    sqlのwhere in って、複数条件(カラム)を指定できるんですね - end0tknr's kipple - web写経開発
    yad-EL
    yad-EL 2013/11/13
  • http://www.mapr.com/jp/products/mapr-m7-edition

    yad-EL
    yad-EL 2013/07/24
  • 絵で分かる! 主キー/外部キーのアホらしさ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日と同じ話題を繰り返します。しかし今日は、誰にでもわかるように絵解きで説明します。 デイヴィッド・スピヴァックのデータベース理論の特徴を僕は「驚嘆すべき単純さだ」と言っていますが、圏論を使っているというだけの理由で、「関係データモデルのほうが分かりやすいんじゃないの?」と思っている人はいるでしょう。いいえっ、関係データモデルは複雑で難解です。いったんスピヴァック理論に慣れてしまえば、関係データモデルが無駄に晦渋だったことが分かるでしょう。この記事は、その無駄な晦渋さ=アホらしさを 絵を使って解き明かします。 若干あおり気味の口調なので、より理論的な背景は昨日の記事で確認してください。 内容 例題:勤務先の電話番号を知る スピヴァックのモデルでは 関係データモデルではどうなる 主キー/外部キーはハードウェアのメモリ番地のようなもの デイヴィッド・スピヴァックのこと 例題:勤務先の電話番号を

    yad-EL
    yad-EL 2013/04/24
  • Clojureの作者が作ったデータベースDatomicが凄い

    プログラミング言語Clojureの作者Rich Hickey氏率いるClojure HackerのチームがDatomic(デートミックと発音するらしい)というデータベースをリリースしました。これが何やらとてつもないです。10年先を行ってる技術じゃないでしょうか。 まだ番サービスは始まっていませんが開発環境用のライブラリが配布されています。 Datomicは斬新なアーキテクチャなので一言で説明するのはとても難しいです。 私が理解できたことを簡単に説明します。 2014/1/20追記 ライセンスモデル、サポートストレージ、サービスとしてではなく独立して使用する形になるなど記事作成時の内容から色々変更が合った部分を更新しました。 変更不可なAppend-onlyデータベース 従来のデータベースで、あるレコードを変更するというのはそのレコードに対応した場所があり、そこのデータを書き換えるというこ

  • 間違って10万人の顧客DB消しちまったwwwwwwww - MC)まとめこむ

    1:以下、VIPがお送りします:2012/03/05(月) 23:05:21.43 ID:MYKH/EmU0 特定されない範囲で 30分前の話 2:以下、VIPがお送りします:2012/03/05(月) 23:06:04.91 ID:b77m7UZ00 2chやってないでハードディスク復旧業者に頼め 13:以下、VIPがお送りします:2012/03/05(月) 23:08:29.71 ID:MYKH/EmU0 >>2 とりあえず今担当の人呼んでる(俺も担当なんだけどさwww 3:以下、VIPがお送りします:2012/03/05(月) 23:06:05.57 ID:G+trElAB0 顧客DBって何? 13:以下、VIPがお送りします:2012/03/05(月) 23:08:29.71 ID:MYKH/EmU0 >>3 顧客情報が詰まった大切な大切なデータベース 4:

    yad-EL
    yad-EL 2012/03/07
  • 削除フラグのはなし

    6. id name pass is_deleted 1 ryu xxx FALSE 2 ken xxx FALSE 3 honda xxx TRUE 8. id name pass is_deleted 1 ryu xxx FALSE 2 ken xxx FALSE 3 honda xxx TRUE 3 honda xxx FALSE

    削除フラグのはなし
    yad-EL
    yad-EL 2011/08/09
  • Googleが開発! 高速データベース「LevelDB」登場 | エンタープライズ | マイコミジャーナル

    LevelDB is a fast key-value storage library. Googleから新しいプロジェクトが公開された。高速なキーバリューデータベースライブラリ「LevelDB」だ。2条項のBSDライセンスのもとでオープンソースソフトウェアとして提供されている。 対象言語はC++。なるべくほかのライブラリやプラットフォームへの依存が少なくなるように設計および実装されており、アプリケーションへの組み込みやOSへの移植が簡単に実施できるという特徴がある。 LevelDBの提供する機能はキーから値への順序付きマッピングを提供するというもの。SQLに対応したリレーショナルデータベースのような機能は提供していない。割り切った機能に特化しており、基的にPut(key,value)、Get(key)、Delete(key)で操作を実施する。Chromeに搭載されているIndexedD

    yad-EL
    yad-EL 2011/07/29
  • 複合主キーを避けるべき理由 - 虎塚

    データベース設計の話をしていて、「連番の主キーは業務上意味のないデータだから、テーブルに持たせるのはムダだ。複合主キーにするべき」という意見を聞く機会がありました。 脊髄反射で「ないわー」と思ったものの、理由を上手く説明できなかったので、改めて考えてみました。 その結果、次のような結論に至りました。 単一の連番カラムによる主キーと、複合カラムによる主キーとで迷ったら 実装をシンプルにし、業務変更の影響範囲を小さくするために、複合主キーを避ける というわけで、調べたことや考えたことをメモしておきます。# 間違っている部分があれば、教えていただけると嬉しいです。 (2011/07/25 追記)複合主キーとサロゲートキーについては、要件やシステムに依存して多様な判断がありうると思います。にもかかわらず、「避けるべき」というタイトルにしたのは極端でした。申し訳ありません。ご指摘下さった皆さん、あり

    複合主キーを避けるべき理由 - 虎塚
    yad-EL
    yad-EL 2011/07/14
  • 大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック

    OSC 2011 Hokkaidoの発表で使用したスライド資料です。 弊社が「ブラウザ三国志」や「英雄クエスト」といったゲームを、PHPMySQLで構築してきた上で、身につけたノウハウや、注意すべき箇所、指針などをまとめた資料となっています。Read less

    大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
  • 分散キーバリューストア「okuyama」 プロジェクト日本語トップページ - OSDN

    Javaで実装された分散キーバリューストア(KVS)です Githubへ移行しました。 https://github.com/kobedigitallabo/okuyama 今後の更新はGithub上にて行います。 こちらにある過去リリース分はそのまま維持します。 システム要件 実装言語:Java(jdk1.6にて開発) ソースエンコーディング:UTF-8 動作検証OS:32bit WinsowsXp SP3、CentOS 5.3(final) 必要ライブラリ:log4j-1.2.14.jar、javamail-1.4.1.jar(JavaMail Ver1.4.1) インストール 起動方法 起動方法 Windowsを想定 ・jdk1.6をインストールし、java.exeの場所を環境変数の PATHに通して下さい。 ・antをインストール。バージョン指定はありませんが、 なるべく新しいもの

    yad-EL
    yad-EL 2011/05/19
  • 編集人: ライフサイエンス 新着論文レビュー

    新着論文レビューとは この「ライフサイエンス 新着論文レビュー」は,大学共同利用機関法人 情報・システム研究機構 ライフサイエンス統合データベースセンター から発信・公開される日語コンテンツのひとつとして,Nature,Science,Cell などに代表されるトップジャーナルに掲載された日人を著者とする生命科学分野の論文について,論文の著者自身の執筆による,専門分野の異なる生命科学研究者にむけた日語によるレビューを,だれでも自由に閲覧・利用できるようWeb上にていち早く無料で公開するものです.レビューは,よりわかりやすいものとするため,用字・用語の統一にくわえ,生命科学専門の編集者の視点から一文一文を吟味して大胆な修正を行っています(外部サイト もご参照ください).最新の研究成果を,日語で,その背景からわかりやすく紹介・解説すること,そして,それらコンテンツの自由な引用・転載・再