タグ

データベースに関するlets_skepticのブックマーク (17)

  • データベースの内部動作を知る

    SQLのプログラミングは奥が深い。特にパフォーマンスの観点から、そう言えるだろう。 みなさんご承知の通り、同じ結果を出すプログラムでも、SQLの書き方次第で処理時間に何倍もの差が生じ得る。効率の悪いSQLを書いてしまう原因は、多くの場合、リレーショナルデータベースの内部動作やアプリケーションに関する理解不足である。両者をよく知った上で最適なSQLを書けるようになることは、システムエンジニアとしての重要なスキルの一つである。 特集『基礎から理解するデータベースのしくみ』では、リレーショナルデータベースの内部動作について、基的な部分を分かりやすく解説している。SQLプログラミングに役立つことはもちろん、SQLチューニングやデータベース設計のための基礎知識としても不可欠だ。 イントロダクション ブラックボックスのままでいいの? Part 1:SQL文はどのように実行されるのか SQL実行までの

    データベースの内部動作を知る
  • SSDに最適化したデータベース「RethinkDB」、ロックもログも使わずにトランザクション実現

    SSDに最適化したアーキテクチャで開発中のRethinkDBはトランザクションの基となるACID性を備えているにもかかわらず、これまでのリレーショナルデータベースと比べて優れた機能を実現しようとしているようです。同社のWebサイトで解説している内容を基に、紹介していきましょう。 まず基的な特長として、RethinkDBMySQLのストレージエンジンと互換性を持つデータベースエンジンで、MySQLのストレージエンジンを入れ替えることで、アプリケーションには何の変更もせずに使い始められるとのこと。 ロックフリー トランザクションを実現している一方で、ロックは発生しないとのこと。更新や削除をしようとしているデータに対しても安全に読み出しが可能。 オンラインで実行可能な管理機能 データベース利用中でも性能に影響を与えずに、バックアップ、スキーマの変更、ガベージコレクションなどを実行可能。My

    SSDに最適化したデータベース「RethinkDB」、ロックもログも使わずにトランザクション実現
  • プログラム内のデータベース処理高速化TIPS:phpspot開発日誌

    10 sql tips to speed up your database プログラム内のデータベース処理高速化TIPSが10個紹介されているエントリのご紹介です。 SQLが適切に設計されていないとすぐにデータベース処理がCPUを圧迫してしまいますので可能な限り知っておきたいですね。 基的な事から応用的な事まで参考になりそうだったのでメモ程度にご紹介。 explainでインデックスが使われているかを調べる 最も速いクエリは、クエリを発行しないこと、ということでデータをキャッシュしよう Memcached, CSQL Cache, AdoDB などでそれが可能 必要じゃないモノをselect しないようにする select * from table; ↓ select id from table; limit を使って取得する結果を少なくする foreach ループなどの中でsqlクエリを

  • DBの基本を勉強したい人へオススメする本 - |ω・)ノ <黒猫の気まぐれ日記

    最近,学部生に「DBについて勉強したいんですが何かオススメ参考書はありますか?」と聞かれた.私自身も,DBについて勉強したいなぁと感じていた.というのも,この頃院の授業で正規化の辺りを突っ込んでやったり,授業では習わない類のクエリを書いたり,数万件以上のデータを処理したり・・・とやっているうちにどうにも自分の知識不足を感じたからだ.学部の時は授業で理論の基的なところを習って,あとはDBを利用したちょっとしたWebサービスを作ったくらいで,ちゃんと理解してこなかったから仕方ないといえばそうなんですが。。。まぁせっかくなので,DB関係ので私がオススメかなーと思うを挙げておきます(・ω・*) ●はじめの一歩DBについて勉強しようと思って一番最初に思い出したのは「マンガでわかるデータベース」という.マンガでわかるデータベース作者: 高橋麻奈, あづま笙子, トレンドプロ出版社/メーカー:

  • Leo's Chronicle: ぜひ押さえておきたいデータベースの教科書

    先日のエントリで少し話したのですが、僕が在学していたときの東大にはデータベースを学ぶためのコースというものがありませんでした(DB関係の授業は年に1つか2つある程度。現在はどうなんだろう?)。そんなときに役だったのは、やはり教科書。読みやすいものから順に紹介していきます。(とはいってもすべて英語です。あしからず) 一番のお薦めは、Raghu Ramakrishnan先生 (現在は、Yahoo! Research) の「Database Management Systems (3rd Edition)」。初学者から研究者まで幅広く使えます。データベース管理システム(DBMS)の基概念から、問い合わせ最適化、トランザクション管理など、これらを実装・評価するために必要な、「DBの世界での常識」が、丁寧な語り口でふんだんに盛り込まれています。この1冊を読んでおけば、DBの世界で議論するための

  • DB設計時のサイズ見積もり - よねのはてな

    ここのところ、javaccとawsに魅了されている米林です。 よく使うDB(Oracle/MySQL/PostgreSQL/SQLServer)における設計時のサイズ見積もりで使うサイトの備忘録。 あとは、OracleからのPython情報。 Oracle Oracle 物理設計 http://www.oracle.com/technology/global/jp/columns/skillup/oracle9i/index.html 領域サイズ見積もり http://otn.oracle.co.jp/document/estimate/index.html OTNにログインする必要ありますがオンラインで見積もりが出来ます。 アカウント持っていない人は、この見積もりツールを使う目的でアカウントを作ってみてはいかがでしょうか。 OLTP系とDWH系においてブロックサイズを考慮し、DWH系はブ

    DB設計時のサイズ見積もり - よねのはてな
  • MySQLのEXPLAINを徹底解説!!

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

    MySQLのEXPLAINを徹底解説!!
  • MySQLレプリケーションを安全に利用するための10のテクニック

    MySQLのレプリケーションは非常に簡単に使える割には応用の幅が広いので非常に人気のある機能の一つである。レプリケーションの応用分野は例えば、 バックアップ 参照系の負荷分散 HA(高可用性) ディザスタリカバリ(サイト間レプリケーション) BI(レポーティングetc) という風にとても多くのバリエーションがある。このブログを読んで頂いている皆さんの中にもレプリケーションを使っている方は多いのではないだろうか。ご覧の通りMySQLのレプリケーション機能はミッションクリティカル分野でも利用されているが、レプリケーションの使い方が適切でないとシステムの安定稼働に支障を来してしまってDBAやシステム管理者の肉体的、精神的負担が増大してしまう。逆にレプリケーションを堅牢に運用することが出来ればマクラを高くして眠れるというものだ。レプリケーションはMySQLの代表的な機能であるので、レプリケーション

    MySQLレプリケーションを安全に利用するための10のテクニック
  • PostgreSQLを本当に高速化したい人のための10のポイント | 独り言v6

    空気を読まずにPostgreSQLのを高速化する10のポイント - 象と戯れ -空気を読まずにPostgreSQLのを高速化する10のポイント - 象と戯れ - postgresqlグループ.の元エントリを読んで思うところがあったのだが、 PostgreSQLを高速化する16のポイント だからそんなせまっくるしいところでトンチンカンにdisる暇あるんだったら自分のブログでお好みの議論を書くかさもなきゃ/dev/nullにでも吐けとやんわりと言ってるんだよハゲ。 というわけでw。 だよねw。 まあ正直、上記元ネタのほうには色々突っ込みどころ満載なのだが、それは置いておくとしてL.starなりの高速化ポイントを一度書いておかないと、と思ったので記す。ただ、L.starはもうPostgreSQL界隈から離れて久しいので、必ずしも最新の内容を網羅していないことに注意されたし。また、出来るだけPos

  • ベンチャー企業の経営危機データベース(METI/経済産業省)

    多くのベンチャー企業が起業後に、同じような失敗、トラブル、ヒヤリとした経験をしており、成長に伸び悩む企業が多いと言われています。そこで、ベンチャー企業の経営者が様々な場面で決断を下す際の「転ばぬ先の杖」として、将来起こりうるリスクを予見できるような失敗、トラブル、ヒヤリとした経験の事例を収集・データベース化しました。ベンチャー企業の成長に向けた経営判断の材料としてご利用いただければ幸甚に存じます。 データベースには、平成19年度にベンチャー企業にインタビュー調査を実施して収集した83の失敗、トラブル、ヒヤリとした経験に関する事例を掲載しています。事例は、ベンチャー企業の成長ステージや失敗、トラブル、ヒヤリとした経験の原因及び結果といった分類項目をもとに検索が可能となっています。

  • リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • ブラウザ上で使えるJavaScriptによるデータベース「Traffy DB」:phpspot開発日誌

    PHPでATOM、RSS1/2フォーマットのフィードが超簡単に吐き出せる「FeedWriter... 次の記事 ≫:優雅なWeb制作のためのJavaScript「yuga.js」 Taffy DB : A JavaScript database for your browser Taffy DB is a free and opensource JavaScript library that acts as thin data layer inside Web 2.0 and Ajax applications. ブラウザ上で使えるJavaScriptによるデータベース「Traffy DB」. Ajaxアプリケーションなどで、ブラウザ内で多くのデータを扱う場合に使えるライブラリのようです。 例えば、次のようにデータを検索することが出来るようです products.find({price:{

  • Home | Hypertable - Big Data. Big Performance

    Big Data. Big Performance. Hypertable delivers scalable database capacity at maximum performance to speed up your big data application and reduce your hardware footprint. 100% Hadoop Compatible Hypertable seamlessly overlays on top of Hadoop to provide supercharged scalable database infastructure for your big data application. Less Hardware, Lower Cost Hypertable delivers maximum efficiency and su

  • 特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro

    「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基

    特集:基礎から理解するデータベースのしくみ - 特集:基礎から理解するデータベースのしくみ:ITpro
  • 【ハウツー】PostgreSQLの高速化と高信頼化を実現する「pgpool-II」を使ってみる (1) pgpool-IIの概要 | エンタープライズ | マイコミジャーナル

    pgpool-IIの概要 「pgpool-II」とは、PostgreSQLの高速化と高信頼化を目的としたミドルウェアである。pgpool-IIは、下図のようにクライアントとPostgreSQLの間に入る形(プロキシ形式)で動作する。なお、データベースクライアントはPostgreSQLサーバへ接続するのではなく、pgpool-IIへ接続することになる。 pgpool-IIは現在、pgpool Development Groupにより開発が継続されている。ライセンスには修正BSDライセンスを採用しており、ソースコードが公開されているので自由に利用することができる。ソースコードはhttp://pgfoundry.org/projects/pgpoolからダウンロードすることができる。なお、2007年10月1日現在のpgpool-IIの最新バージョンは1.2.1である。 pgpool-IIはさまざ

  • 最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro

    ポイント ・高度なインデックスやジョインを利用し,最短経路でデータにアクセス ・メモリー不足を自律的に解消し,キャッシュのヒット率を高める ・インメモリーDBは全データをメモリーで処理し,高速化を図る 目的地に早く到着したいなら,最短の経路を最速で行けばよい。これはデータベース(DB)でも同様だ(図1)。インデックスなどを使ってデータへの最短経路を見つけ,メモリー・アクセスを増やして,最速でたどり着く。DBにはそんな技術が詰まっている。 図1●データベース高速化技術のポイント ビットマップ・インデックスなどを使い、データにたどり着く最短の道を選ぶ。また、できるだけメモリーにデータをキャッシュさせておくことで、アクセスのスピードを上げる、という二つのポイントがある [画像のクリックで拡大表示] 以下では,(1)データにたどり着く最短の道を選ぶ仕組みと,(2)アクセスのスピードを上げる仕組みの

    最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro
  • SQLで木と階層構造のデータを扱う――入れ子集合モデル

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1