タグ

databaseに関するcomoglyのブックマーク (23)

  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • たった3秒でInnoDBのデータローディングが快適になるライフハック

    MySQLに限った話ではないが、データベース管理システムに大量のデータを投入するのは時間が掛かり大変苦痛を伴う作業である。劇的に効能があるわけではないが、MySQLを利用しているとき、特にInnoDBを使っている場合にはデータの投入を高速化するためにいくつかテクニックがあるので紹介しよう。皆さんの作業時間が短縮され、少しでも早く帰路に着いたりサービスインさせたりという形でお役に立てれば幸いである。ちなみに、タイトルはネタであるのだが、もし当に3秒で以下の全ての設定を行えた人が居たら教えて頂きたい! ログファイルサイズの調整データ投入時に限った話ではないが、ログファイルサイズを調整するのは更新性能にとって非常に重要なファクターである。バッファプールのサイズが重要なことに代わりはないが、同じぐらいログファイルのサイズも重要である。InnoDBはログファイルを使い切ってしまうと、バッファプール

    たった3秒でInnoDBのデータローディングが快適になるライフハック
    comogly
    comogly 2011/01/20
    ちなみに、タイトルはネタであるのだが、もし本当に3秒で以下の全ての設定を行えた人が居たら教えて頂きたい!>だ、騙されたクマー
  • SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ

    SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ SSDがHDDに代わるストレージとして普及しようとしていることを背景に、SSDに特化したまったく新しいアーキテクチャを備えたリレーショナルデータベースを開発しようとしている企業があります。「ReThinkDB」です。 昨年7月に、PublickeyではReThinkDBの概要を記事「SSDに最適化したデータベース「RethinkDB」、ロックもログも使わずにトランザクション実現」で伝えました。 その記事の中では、ReThinkDBがロックを使わずにトランザクションを実現し、データベース利用中でもスナップショットがとれ、また異常終了しても容易に復帰できる機能を備えている、といったことを紹介しました。 4月に米サンタクララでに行われた「MySQL Conference & Ex

    SSD専用に設計された「ReThinkDB」、ロックもログも使わない新しいリレーショナルデータベースのアーキテクチャ
    comogly
    comogly 2011/01/13
    SSDに特化したまったく新しいアーキテクチャを備えたリレーショナルデータベース
  • レプリケーションとは 【replication】

    概要 レプリケーション(replication)とは、あるコンピュータやソフトウェアの管理するデータ集合の複製(レプリカ)を別のコンピュータ上に作成し、通信ネットワークを介してリアルタイムに更新を反映させて常に内容を同期すること。システムの耐障害性や可用性を高めることができる。 複製元のデータが追加、更新、削除などされると、リアルタイムに複製先に伝達され、同じ変更が加えられる。ネットワークやコンピュータへの負荷は高いが、複数のサーバなどの間で常に同様の記憶内容が維持される。最小の構成では現用系(マスター)と待機系(スレーブ)の2系統の同期が行われるが、複数の待機系へ同時に同期して信頼性を高める場合や、現用系が複数ありそれぞれに加えられた変更を互いに通知し合って同期する構成(マルチマスター)もある。 複製元と複製先のソフトウェア環境やサービス、機能は同等になるよう設定されており、複製元が障害

    レプリケーションとは 【replication】
  • Freebase

    Send feedback Data Dumps Stay organized with collections Save and categorize content based on your preferences. Data Dumps are a downloadable version of the data in Freebase. They constitute a snapshot of the data stored in Freebase and the Schema that structures it, and are provided under the same CC-BY license. The Freebase/Wikidata mappings are provided under the CC0 license. Freebase Triples F

    Freebase
  • SQLで使える関数の基礎知識

    Oracleデータベースエンジニアとしての実力を証明するORACLE MASTER資格。その入り口であるBronze資格の取得は難しくない。連載と、同時掲載中の連載「Bronze DBA講座」で合格を目指そう!(参考記事:「Oracle 10g対応のORACLE MASTERとは?」)

    SQLで使える関数の基礎知識
  • PostgreSQLの機能と他のRDBMSの比較 | Let's POSTGRES

    全ての機能を網羅した表ではありませんが、PostgreSQLOracle Database と同様の機能があることがお分かりいただけるでしょう。レプリケーションやクラスタリングなどは、PostgreSQL体とは別にリリースされるサードパーティーでの提供となりますが、pgpool-II, Slony-I をはじめとした実績も豊富なソフトウェアが提供されています。 PostgreSQLが特に強みを発揮する分野として、最後の行に記載したGIS (地理情報システム) があります。GISは位置に関する情報を持ったデータ (空間データ) を管理し、主に地図と組み合わせて位置を表示、検索、分析するシステムです。PostgreSQLでは、PostGIS というサードパーティーソフトウェアで、GISオブジェクトをデータベースに格納し空間データに適した検索を行うインデックスと、GISオブジェクトを解析す

  • Kazuho@Cybozu Labs: パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ (BPStudy#25発表資料)

    先週金曜日、BPStudy#25で、「パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ」という題目で話をさせていただきました。その際に使用した発表資料は以下のとおりです。 1. Happy Optimization 最初に、最適化の考え方として、上限値を予測し、それを元にリソース配分を考える、という手法を説明しました。

  • Kazuho@Cybozu Labs: Q4M Version 0.4 で高速なクローラを書いてみた

    « Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法 | メイン | Japanize for IE バージョンアップのおしらせ » 2008年04月07日 Q4M Version 0.4 で高速なクローラを書いてみた 日、MySQL 5.1 のプラガブルストレージエンジンとして動作するメッセージキューQ4M のバージョン 0.4 をリリースしました。バージョンでは、条件付購読 (conditional subscription) という、特定の条件を満たす行だけをメッセージキューから読み込む機能に対応したのですが、これを使って、クローラを書いてみました。 使い方は以下のとおりです。 # url テーブルを作成 % mysql -p test mysql> CREATE TABLE url ( id int(10) unsigned NOT NULL

  • 普段 MySQL ばっかり使っている人のための PostgreSQL ガイド (ラボブログ)

    スパイスラボ神部です。 以前から何かと MySQL を使うことが多かったのですが、今回ちょっと PostgreSQL で環境を構築する必要が出てきました。そこでいい機会なので、普段 MySQL を使っている人が PostgreSQL で環境を構築する際にどう設定をあわせた方がいいのか調べてみようと思います。 インストール Cent OS など利用している場合、そもそもセットアップされていない可能性があります。そこでまずは迷わずインストール。 yum install postgresql yum install postgresql-server yum install php-postgresql で、yum でインストールした後の設定。 -Postgresの設定の巻 - PukiWiki 次に、管理ツール(phpPgAdmin) のインストール さて、インストールした後次に困るのは管理

  • iタウンページ

    サービスのご利用にあたっては当社利用規約が適用される旨ご同意の上ご利用ください。お客様によるサービスの利用は当社利用規約への同意とみなします

    iタウンページ
  • Kazuho@Cybozu Labs: MySQL のボトルネックを統計的に監視・解析する方法

    MySQL のチューニング、と言った場合には、サーバーパラメータの調整や EXPLAIN コマンドを利用したクエリ実行計画の最適化が話題に上ることが多いです。しかし、発行する全ての SQL について、いちいち EXPLAIN コマンドを使って確認していては、いくら時間があってもたりません。チューニングを効率的に進めるには、まず、ボトルネックとなっている SQL クエリを特定し、次にその最適化を行うべきです。 ではどのようにして、ボトルネックを特定するのか。MySQL Conference & Expo 2009 のキーノートにおいて Mark Callaghan 氏は、Google では SHOW PROCESSLIST コマンドを使った統計的アプローチを使っていると述べていらっしゃいます (参照: MySQLConf 09: Mark Callaghan, "This is Not a

    comogly
    comogly 2009/07/23
    % mpfilter < mpdump.txt | mpreport | head -100
  • Springer Exemplar

    Providing researchers with access to millions of scientific documents from journals, books, series, protocols, reference works and proceedings.

  • PostgreSQL 8.4 の新機能 — Let's Postgres

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 2009年7月1日、PostgreSQL 8.4 がリリースされました。以前のバージョンから1年5ヶ月ぶりのリリースです。数多くの新機能が盛り込まれていますが、大まかに以下のカテゴリに分けて紹介します。今回は、応用SQL、大規模対応に引き続き、運用管理に関する新機能をご紹介します。 応用SQL 大規模対応 運用管理 その他の情報 その他の新機能 次のバージョンへ先送りされた機能 公式のリリースノートは PostgreSQL 8.4プレスキットを参照してください。ソースコードと各プラットホーム向けのバイナリもダウンロードできるようになっています。 応用SQLに関する新機能 応用SQLに関する機能では、特に「再帰SQL」と「Window関数」への対応が大きいでしょう。 PostgreSQL は標準SQLに良く準拠していると評価されることが多

    comogly
    comogly 2009/07/07
    「使いやすさの向上」に重点が置かれたリリース
  • もう1つの、DBのかたち、分散Key-Valueストアとは

    もう1つの、DBのかたち、分散Key-Valueストアとは:分散Key-Valueストアの命「Bigtable」(1)(1/3 ページ) RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説 クラウド時代のデータベース「分散Key-Valueストア」 グーグルがインターネットの世界をここまで席けんできた最大の理由は何でしょうか。実は、それは同社の優れた検索技術ではありません。グーグルが成し遂げた最も大きなブレークスルーの1つは、同社が生み出した巨大な分散データストア、「Bigtable」にあります。 Bigtableは、Google検索をはじめ、YouTubeやGoogle MapGoogle Earth、Google Analytics、Goog

    もう1つの、DBのかたち、分散Key-Valueストアとは
  • 転置インデックスを実装しよう - mixi engineer blog

    相対性理論のボーカルが頭から離れないmikioです。熱いわっふるの声に応えて今回はTokyo Cabinetのテーブルデータベースにおける検索機能の実装について語ってみたいと思います。とても長いのですが、最後まで読んだあかつきには、自分でも全文検索エンジンを作れると思っていただければ嬉しいです。 デモ モチベーションをあげていただくために、100行のソースコードで検索UIのデモを作ってみました。Java 6の日語文書を対象としているので、「stringbuffer」とか「コンパイル」とか「倍精度浮動小数」とかそれっぽい用語で検索してみてください。 インデックスがちゃんとできていれば、たった100行で某検索エンジン風味の検索機能をあなたのデータを対象にして動かすことができます。ソースコードはこちら(テンプレートはこちら)です。 でも、今回はUIの話ではないのです。ものすごく地味に、全文検索

    転置インデックスを実装しよう - mixi engineer blog
  • 時代はO-Rマッピングからkey-valueストアへ: プログラマの思索

    Apache CouchDBに関するメモ書き。 #理解が不完全なので、後で正しく書く。 【元ネタ】 Apache CouchDB: The CouchDB Project Web 時代の非リレーショナルデータベース: 第 1 回 Apache CouchDB の概要とインストール Web 時代の非リレーショナルデータベース: 第 2 回 Apache CouchDBRuby on Rails を使って wiki アプリケーションを作成する Web 時代の非リレーショナルデータベース: 第 3 回 Apache CouchDBMapReduce フレームワークに基づく問いあわせを行う MOONGIFT: ? Web2.0時代のニュータイプDB「CouchDb」:オープンソースを毎日紹介 CouchDBはこのように説明されている。 CouchDB を探る CouchDB はオープン

    時代はO-Rマッピングからkey-valueストアへ: プログラマの思索
  • mysqlでいちいちshow databasesとか打つのがめんどい→readlineのマクロで解決 - (ひ)メモ

    MySQLでいちいちshow tables;とか打つのがだるい。\tみたいなalias設定できないのかなぁ http://twitter.com/weboo/status/1658300902 おぉ、readlineのマクロを使えばいいのかー http://twitter.com/weboo/status/1658314333 なるほ!ってことでちょっと設定してみました。 # ~/.inputrc $if mysql "\C-xd": "show databases;" "\C-xt": "show tables;" "\C-xu": "select user,host,password from mysql.user order by user,host;" "\C-xb": "select user,host,db from mysql.db order by user,host;"

    mysqlでいちいちshow databasesとか打つのがめんどい→readlineのマクロで解決 - (ひ)メモ
  • まったくの初心者もこれでバッチリ 12のキーワードから学ぶデータベース基本中のキホン(前編)

    データベースに限った話ではありませんが、特にコンピュータ関連ではたくさんのキーワード(用語)が出てきます。はじめてデータベースの勉強をしようとすると、まずはキーワードの数と難しさにとまどってしまうと思います。また一般的なコンピュータに関するキーワードでも、データベース関連だと意味が多少異なるキーワードもあります。そして、キーワードを1つずつすべて把握しようとするのは大変困難で時間もかかります。中にはよく使用する用語もあれば滅多に使用しない用語もあります。そこでパートでは、出現頻度が高く、最低限は押さえておきたいキーワードを12 個紹介します。 keyword 1 データベース(DBMS) 入門者の中には、データベースという言葉は聞いたことはあるが、具体的なイメージがわかないという人が意外に多いと思います。考え方としては、データベースは「複数の人が共有利用するデータを貯めてある入れ物」です

    まったくの初心者もこれでバッチリ 12のキーワードから学ぶデータベース基本中のキホン(前編)
  • 制御構文 - 2部 Perl言語仕様 - [SMART]

    条件文 条件文はいくつかの選択肢をコード内で実現したい際に使用します。「もし~ならば、・・・を実行する」、「もし~ならば、・・・を実行しない」といったように条件によって処理を実行したり、いくつかの選択肢の中からひとつの処理を実行したりといったことを実現することができます。 if文 「もし~ならば、・・・を実行する」という条件つきの命令を実現するために、if 文が用意されています。if文は、カッコの中の条件式を評価し、TRUE のときだけ if ブロックの命令文を実行します。 if ( 条件式 ) { 処理.... } 変数 $var の値が A の時だけ出力するには次のようになります。 if ( $var eq 'A' ) { print "Aです\n"; } 条件式は複数あってもかまいません。複数の条件を並べたいときは、論理演算子の and もしくは or を使います。 # or: $v

    制御構文 - 2部 Perl言語仕様 - [SMART]