タグ

databaseに関するloosecontrolのブックマーク (15)

  • 地獄のようによくわかるSQLテーブル結合 - こせきの技術日記

    テーブルのJOINが苦手でしたが、この例を思いついてからは、すっきりくっきり理解できるようになりました。むしろ頭から離れません……。 ※ INNER、OUTERは飾り。省略できる。 INNER JOINJOIN LEFT OUTER JOIN → LEFT JOIN RIGHT OUTER JOIN → RIGHT JOIN ※ ON ...=... をまとめて USING(属性) と書ける。 ※ 何で結合するか言うまでもない時は、NATURALを指定すると勝手にJOINしてくれる。NATURALにJOINして……。 ※ WHEREは結合した結果に作用する。 ※ 現実には上図のように1対1で結合しません。 ※ おまけ。CROSS JOIN。 こんなの使いません。 ブクマ用画像。

    地獄のようによくわかるSQLテーブル結合 - こせきの技術日記
  • 日本語ラップの元ネタ辞典を作ろう

    当wikiは邦楽HIPHOP/R&Bのナンバーを中心に、2ちゃんねるのスレッドで挙がった元ネタを紹介しています。

    日本語ラップの元ネタ辞典を作ろう
  • TwitterとDiggがNoSQLの「Cassandra」を選ぶ理由

    スケーラブルなデータベースを実現する手段として「Sharding MySQL plus memcached」がよく知られる方法だとは、1つ前の記事「MySQL+Memcachedの時代は過ぎ、これからはNoSQLなのか、についての議論」で紹介しました。 ちなみに「Sharding」(シャーディング)とは複数のデータベースにデータを分散して運用することで、ざっくりいえばShared Nothing的な分散データベース構成のことです(この記事で紹介する英文中には「Shared MySQL」(共有MySQL)との記述がありますが、これは恐らく「Sharded MySQL」(ShardされたMySQL)のミススペルではないと推測します)。 日で(たぶん)もっともMySQLについて詳しく解説してあるブログ「漢(オトコ)のコンピュータ道」のエントリ「さらにMySQLを高速化する7つの方法」では、Sh

    TwitterとDiggがNoSQLの「Cassandra」を選ぶ理由
  • MyISAMとInnoDBのどちらを使うべきか

    Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL

  • (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場

    InnoDBはMyISAMと比較して安全(OSクラッシュや電源断が発生してもテーブルが壊れない)分、書き込みが遅い。データベース屋さんからすると、それは当然のことでMyISAMがおかしいんだ、ということになり、だからバッテリバックアップ機能のついたRAIDカードを使うんだ、という話になる。でも、MyISAMを使っているウェブ屋さんの現場では、場合によって多少データが消えてもかまわないから、安いハードウェアで大量のアクセスを捌きたい... って乖離があるんじゃないかなーと思ってる。 そのような場合には、my.cnf の innodb_flush_log_at_trx_commit パラメータを調整することで、MyISAMに比肩する書き込み速度を得ることができる(そのかわり、クラッシュや電源断の場合は、設定によって直近1秒以内の変更が失われる)。 他のパラメータも含めて書いておくと、データベー

    (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場
  • IT news, careers, business technology, reviews

    Heads on: Apple’s Vision Pro delivers a glimpse of the future

    IT news, careers, business technology, reviews
  • 「はてな流大規模データ処理」を見てきた - もぎゃろぐ

    KOF2008:関西オープンソース2008というイベントに来ています。 はてなの伊藤さんの講演があったので、講演メモを公開。 #ボクがメモした内容であって、100%言ったとおりに書いてあるわけじゃないので、参考としてご覧ください。 (続き) アジェンダ 大規模なデータ OSのキャッシュ MySQLの運用 大規模データアプリケーションの開発 データの例 はてなブックマークのデータ量:五千万件くらいのデータ量 このデータに対して何百万人がアクセスしてくる状況でどういう作りにするか レコード数 1073万エントリー 3134万エントリー 4143万タグ データサイズ エントリー2.5GB 何の工夫もなく普通にアクセスすると...200秒待っても結果が帰ってこない 大規模データの難しいところ 開発サーバで開発者が作っている時は快適に動いていても、多数の人間がアク

  • MapReduce - naoyaのはてなダイアリー

    "MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること

    MapReduce - naoyaのはてなダイアリー
  • ウノウラボ Unoh Labs: ブラウザでER図が描ける「WWW SQL Designer」紹介

    miyakeです。皆さんドキュメントはしっかり書いていますか? 近頃のWeb界隈では、詳細仕様書的なものは作らずにスピーディーに開発を進めるケースも多いかも知れません。ドキュメント作成のコストは小さくありませんし、内容を最新に保つのも一苦労です。とは言え、複数の人間が関わるプロジェクトにはER図はあると嬉しいなと個人的には思います。 今日はそんなER図をブラウザ上で作成するアプリケーション「WWW SQL Designer」をご紹介します。 以下のスクリーンショットは、このアプリを実際に触って試せるlive DEMOのものです。 WWW SQL Designer posted by (C)フォト蔵 上部のメニューからテーブルやカラムを作ったり消したりして、テーブルをドラッグアンドドロップで配置、リレーションを同じくドラッグアンドドロップで設定、というのがおおまかな作業の流れになります。まず

  • 53. まだ、PEAR::DBをお使いの方へ

    PHPからDBを使うときにはPEAR::DBをお使いの方もまだたくさんいらっしゃると思います。しかし、PEAR::DBのマニュアルにも「This package been superseded by MDB2 but is still maintained for bugs and security fixes」(このパッケージの代わりにMDB2の使用が推奨されますが、バグの修正、セキュリティフィックスは引き続き行われます。)と書かれているとおり、今後はPEAR::MDB2をお使いになることをお奨めいたします。 ということで、今回はPEAR::MDB2についてご紹介したいと思います。 PEAR::MDB2 マニュアル http://www.go-pear.org/manual/ja/package.database.mdb2.php MDB2についてはこちらをご覧下さい http://ww

    53. まだ、PEAR::DBをお使いの方へ
  • PHPとデータベースに関する5つの問題、とその解決法 - GIGAZINE

    IBMのサイトに、PHPから操作するデータベースに関してよく見られる5つの問題点とその解決方法が掲載されています。 データベースのデザインをする際、一般的に発生する問題点についての解説です。 で、肝心の5つの問題が何かというと、以下の通り。 Five common PHP database problems 1つめは古いPHPのコードでは直接、データベースにアクセスしているということ。コレに代わる手段としては、PEARのDBモジュールを使うか、あるいはPHPデータオブジェクト、PDOのクラスを使え、とあります。 2つめは、オートインクリメントを使わないということ。MySQLは基的にレコード1つについてユニークなIDをオートインクリメントしているわけですが、これを活用していないというパターン。オートインクリメントを有効に使っていない場合、非効率的であるだけでなく、負荷も高くなるそうです。解

    PHPとデータベースに関する5つの問題、とその解決法 - GIGAZINE
  • 辞典・百科事典の検索サービス - Weblio辞書

    Weblioをご覧のユーザーのみなさまへ Weblioでは、統合型辞書検索のほかに、「類語辞典」や「英和・和英辞典」、「手話辞典」を利用することができます。辞書、類語辞典、英和・和英辞典、手話辞典は連動しており、それぞれの検索結果へのリンクが表示されます。また、解説記事の文中では、Weblioに登録されている他のキーワードへのリンクが自動的に貼られます。解説文で登場した分からないキーワードや気になるキーワードは、1クリックで検索結果を表示することができます。

  • 1人で稼ぐ日記 | MySQL:1台しかない環境でエセ負荷分散

    MySQLのネタ。 1台しかない環境でエセ負荷分散を行う。 MySQLで負荷分散を考えたとき、 1台目にマスターのDBサーバー、 2台目以降をスレーブのDBサーバーとして用いる。 マスターは更新系のみのSQL文を、 スレーブは参照系のみのSQL文を投げる。 こんな負荷分散を1台のサーバーで行う必要が出てきた。 現在1台でやっていて、ディスクIOが追いつかずに捜し求めた結果、下の形で落ち着いた。 1つのテーブルでインデックスを含めたサイズが 30MB〜100MBほどで安定している、という条件があるのですが かなり負荷下がります。 ※上記サイズは搭載メモリサイズによって変わります -------------------------- ■やりかた 負荷が高いテーブルをAとする 1:Aと同じテーブル構成で、エンジンをMEMORY(he

  • Webデータベース オープンハンマーヘッドとは

    Open Hammerhead とは Webデータベース システムです Open Hammerhead(オープン ハンマーヘッド ) とは、一般公開するためのWebデータベース システムです。データベースの設計やデータの追加など全ての操作がブラウザ上から行えます。My SQLPHP等など難しい知識は必要ありません。 Open Hammerheadは、インターネットを通してシステムをお貸しするので、インストールなどの手間が要りません。また、入力されたデータをお預りするので、万が一自宅のパソコンに不具合が生じてもデータは安全です。ベータ版(無料)は登録するだけですぐに利用することができます。 簡単にデータベースが作れます パソコンにソフトをインストールする必要はありません。登録をするとOpen Hammerhead 画面が表示され、すぐに利用することができ、基的なデータベースならば、選択、

  • XMLDB.JP_XMLDB解説_XMLDB選びのポイント

    XMLデータベースは何を基準に選ぶべきか 安くて性能の高いXMLデータベースはどの製品だろうか。多くのエンジニアが、自らの求める理想のXMLデータベースを探し求めている。XMLデータベースは製品数が少ないと思われがちだが、実はそうではない。XMLデータベースあるいはXMLが利用可能なデータベースという条件で探せば、その数は軽く数十種類に達するのである。その中には、誰もが知っている大手ブランドのRDBもあれば、誰も名前を知らないようなマイナーなブランドもある。オープンソースのソフトもある。つまり、候補の数は極めて多いのだ。それにもかかわらず、理想の製品を求めてさすらい続けるエンジニアは減らない。 どうしてユーザーのニーズと製品とのギャップが生じてしまうのだろうか? その理由として、XMLデータベースというジャンルが、非常に多様なソフトを包含していると考えられるだろう。XMLデータベースは、単

  • 1