
データベースの醍醐味は、パフォーマンスチューニングにあります。 チューニングによっては、同じ処理でも1時間掛かる場合もあれば、 1秒で終わるということもあり得る世界です。 僕はDBの魅力に取り付かれた者の一人です。 DBという技術の奥深さが気に入っています。 DBを極めると、どこの現場に行っても絶対に必要とされます。 また、どこの現場に行っても正解を導く方程式は一緒なので応用が利くのです。 しかし、その基本原理を体系的に学べる手段はあまりありません。 OracleMasterやMCDBAといった資格試験でも学べることは限られていて あとはWebで調べるなりマニュアルを読むなりするしかありませんでした。 とくに肝であるパフォーマンスチューニングについては、 経験則でチューニングしている部分も多いです。 Oracle、SQLServer、MySQLと色々なDBのチューニングをしてきましたが、
データベース技術はビジネス・コンピューティングの基盤技術でもあり、歴史が長い分急速な進化・変化は起こりにくい分野だ。その進化を駆動している要件は、「データ量の大規模化」「応答速度の短縮」「高信頼性の確保」の3本柱を中心に、データベースアプリケーションの開発容易性の追求などが加わる形で進んできた。現在もこうした流れの延長上にあるが、技術動向としてさらに「サーバ仮想化の急速な発展」と「クラウドの実用化」を付け加えることができるだろう。今回はこの2点について解説する。 仮想化環境への対応 仮想化については、これまで使われてきたデータベース側の高信頼性確保の技術と、仮想化インフラに実装されつつある高信頼性技術に重なりが見られるため、その使い分けが徐々に進展し始めているところだ。 例えば、高信頼性を実現し、大規模な障害発生に備えるためのディザスタリカバリ・システムでは、従来はデータベースの機能でデー
先日のエントリで少し話したのですが、僕が在学していたときの東大にはデータベースを学ぶためのコースというものがありませんでした(DB関係の授業は年に1つか2つある程度。現在はどうなんだろう?)。そんなときに役だったのは、やはり教科書。読みやすいものから順に紹介していきます。(とはいってもすべて英語の本です。あしからず) 一番のお薦めは、Raghu Ramakrishnan先生 (現在は、Yahoo! Research) の「Database Management Systems (3rd Edition)」。初学者から研究者まで幅広く使えます。データベース管理システム(DBMS)の基本概念から、問い合わせ最適化、トランザクション管理など、これらを実装・評価するために必要な、「DBの世界での常識」が、丁寧な語り口でふんだんに盛り込まれています。この1冊を読んでおけば、DBの世界で議論するための
プログラミングのソースコードに対してはCVSやSubversionが使われてバージョン管理が行われるようになっている。だがデータベースの構造管理は煩雑で、そのためにRailsのMigrationという仕組みは非常にウケが良かった。 管理画面。ユーザ管理などもここで行う。 ソースコードに手が加われば、データベースの構造だって変化する可能性はある。その刻々とした変化を追うにはバージョン管理システムが必要だ。 今回紹介するオープンソース・ソフトウェアはDeltasql、データベースの履歴管理ソフトウェアだ。 DeltasqlはPHPで作られたWebベースのソフトウェアで、MySQL/PostgreSQL/SQL Sever/Oracle/Sybaseに対応したデータベース構造の管理を行うことができる。実際のデータベースをそのまま管理するのではなく、スキーマ情報だけを管理するというイメージだ。その
「データベースはブラックボックス。どんなSQL文を投げたらどんな結果が返ってくるかさえ知っていればよい」---そう思っている人も多いかもしれません。 しかし,本物のソフトウエア・エンジニアを目指すのであれば,データベースが動く仕組みを学ぶことは避けて通れません。パフォーマンスなどに問題が生じたときどこから手を付けていいのか皆目見当がつかない,といった事態に陥りかねません。 市販のRDBMSの内部はかなり複雑ですが,基本的な部分を理解するのはそれほど難しくありません。この特集でデータベースの動く仕組みを理解してください。 イントロ ●ブラックボックスのままでいいの? 基礎から理解するデータベースのしくみ(1) Part1 ●SQL文はどのように実行されるのか 基礎から理解するデータベースのしくみ(2) 基礎から理解するデータベースのしくみ(3) 基礎から理解するデータベースのしくみ(4) 基
録音・録画補償金やDRMのあり方など、著作物の意義や対価システムが見直されようとしている。消費者にしてみれば、もちろん補償金もDRMもいやだということだけははっきりしているわけだが、権利者の団体はそれによって著作権者の利益が守られるのだと主張する。 だがちょっと待って欲しい。権利者といっても、いつも議論の舞台に登場するのはJASRACを始めとする権利団体だ。本当の意味での著作権者である音楽家達は、補償金やDRMなどのことをどう考えているのかという話は、ちっとも伝わってこないのである。 これはどう考えても、議論の席に座る人のバランスとしておかしいだろう。その権利者団体が、果たして正しくミュージシャンなど芸術家の総意を代表していると言えるのかがはっきりしないことには、権利者団体と話し合いをして意味があるのかも、実はわからないのではないか。 実際のプロの音楽家が今日の状況をどのように考えているの
Railsで開発を行う際にDBは必須だろう。簡易的なものであればSQLiteで良いが、これまでの経験では大抵MySQLが利用されている。 DB管理にはphpMyAdminや、GUIのDB管理ツールを利用してきたが、Rails上で一括管理できるこちらが便利そうだ。 今回紹介するオープンソース・ソフトウェアはRailsMyAdmin、Rails上のDB管理ソフトウェアだ。 RailsMyAdminではRailsでのDB設定を利用するので設定も手間もなく簡単に利用できる。インストールはプラグインとして簡単にでき、environment.rbに設定を書き加えるだけでいい。 テーブルの一覧やデータの一覧表示、追加、編集はもちろん可能だ。また、created_at/updated_atといったRails特有のフィールドは値を入れられないのも便利だ。テーブル構造の変更はもちろん不可で、migration
はてなブックマークのコメントより。 昨日お伝えしたGladius DBの対抗馬として紹介したい。こちらもまた、テキストファイルをDBとして扱うことができる。さらにGladius DBへの挑戦なのか、ベンチマークを公開している。 今回紹介するオープンソース・ソフトウェアはtxtSQL、テキストベースのデータベースソフトウェアだ。 txtSQLはGladius DBとは異なり、SQL文を解釈しない。独自の関数にアクション(SELECT/INSERT/UPDATE/DELETE等)、テーブル名、データ、WHERE句などを指定して渡す必要がある。 そのため、既存のアプリケーションを乗り換えるには修正が必要になってしまうのが難点だ。だが、新規開発であれば関係ないだろう。また、その結果として高速性が売りだ。Gladius DBの10倍近いパフォーマンスが出ている。 面白いのは、サンプルアプリケーション
かなりながーいエントリになる予定なので,結論だけ最初に書くとこんな感じ. この話題については自分も あとで書く と言って書いてなかったので書いてみますよ。2006年の下期にもなってコネクションプーリングかよというツッコミもありそうですが、あとで書くといったら書くの。あとで読むといったら読む。 普通「コネクションプーリング」と言ったら、主に二つの役割があると思います。話を簡単にするためにウェブアプリケーションに限定して言及します。 ウェブアプリケーションから DB への接続を開けっ放しにして、接続に必要とされるオーバーヘッドをカットして双方の負荷を下げる。 ウェブアプリケーションと DB への接続を「使いまわす」ことで、同時接続本数を節約する。 というもの。 mod_perl で DB と接続維持するとコネクション数増えて云々という話は主に前者のみについての話になります。Apache::DB
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く