データベースは送受信するSQLが膨れ上がるのでちょっと躊躇しますが、なるべくストアドで対応するということで、やはり「正しい名前」をつけますね。 下記コーディング規約に名前付けについての規約があって、それに従うようにしています。 http://www.objectclub.jp/community/codingstandard/ 下記記事も参考になります。 http://jibun.atmarkit.co.jp/lskill01/rensai/kokugo01/kokugo01.ht... ただ、英語の素...
かなりながーいエントリになる予定なので,結論だけ最初に書くとこんな感じ. 最速配信研究会 - 「コネクションプーリング都市伝説」はほんとに都市伝説?(その1) この話題については自分も あとで書く と言って書いてなかったので書いてみますよ。2006年の下期にもなってコネクションプーリングかよというツッコミもありそうですが、あとで書くといったら書くの。あと読むと...
原稿を書けと言われて、オープンソースマガジンを二号ほど続けて買ったのですが、オープンソースに明るくない僕にも意外と面白くて、夢中になって読みあさりました。 今日は先月号を重点的に読んだのですが、先月号のテーマは、ズバリ、負荷分散。 ライブドアとGREEの方がそれぞれの負荷分散メソッドをかなり詳細まで語っているのですが、結論から言うと、こういうこと...
私の仕事は、DBエンジニアです。望んでデータベースの世界へ来たわけではなく、辞令によって、入社1年目の私はOracleと向かいあうことになりました。当初、私はデータベースが面白くありませんでした。「ネットワークは花形、データベースは日陰」という言葉も囁かれていました。今でも囁かれているかもしれません。 ですが、しばらくデータベースを触っているうちに、こ...
木構造のデータ・サンプルとして、次のような階層の深さが3の組織図を例に取りましょう。一つのノードは、複数の親を持つことはない(=複数の上司を持たない)、かつ必ず一つの親を持つ(=命令系統から外れる社員がいない)と仮定します。この条件を破ると、木構造ではなくなってしまいます。 図1-1. 木構造の組織図 一般的な隣接リストモデルでこのデータを表現...
今回は、「データベースエンジニアになるための必須知識」の1つであるER図(entity-relationship diagram)を取り上げます。 システム開発におけるER図の位置付けについては、前回の記事「真のデータベースエンジニアを目指そう!」でご紹介したので、今回は、実際にER図を描く場面を想定し、RDBMSに実装するまでのプロセス(思考過程)を疑似体験してもらうことで、ER図を描くため...
こんにちはsatoです。Windows以外の環境で仕様書を書こうと思うと、なかなか良いアプリがなかったりまします。今回はブラウザから使用できる仕様書作成ツールをまとめてみました。 1) オンラインで配置図などを描く Gliffy 配置図などをオンラインで描くことができます。また 画像への出力なども対応しています。いわゆるVisioの代わりになるツールです。 2) pdfファイルをtextに変...
なんとなく正規化が分かっている程度なら並のDBエンジニア。真のプロを目指すなら、第3正規形より先についても正確な知識が必要だ
今回の題材は、近所の図書館にあった書籍の予約用紙(図1)です。子供たちと本を借りに行った際にカウンターに置いてあったので早速利用することにしました。では、データベース設計のはじまりです。 図1 予約(リクエスト)申込書 イベントを見出す まずは核となるテーブルを見出しましょう。そもそもこの紙は何のためのものでしょうか。そう、予約を受け付けるための...
Jaslabs: High performance phpでMySQLのクエリを最適化するための10のTipsが公開されています。explainを利用した一般的な方法から、SELECT・INSERTのクエリオプションを使用するような方法まで紹介されています。MySQLクエリの速度低下にお悩みの方は一度読んでみるとよいでしょう。
『 いろいろなジェネレータまとめ。CSS,htaccess,パスワード,画像などなど。クライアントアプリで同じ事できるわけだけど,Webのツールならではの手軽さもあって,モビリティに優れるところが魅力。 』
あるプログラミング言語が別のプログラミング言語よりも優れているとウェブ上で発言すれば、間違いなく論争が巻き起こる。「Javaの生みの親」として知られるJames Goslingは、このことを誰よりも知っているはずだ。 Goslingは最近書いたブログのなかで、Javaとスクリプト言語に関する論争のなかに足を踏み入れた。 PHPやPythonのようなスクリプト言語は、「動的な言語」としても知...
かつて、テクノロジに詳しい人だけがコンテンツを作成し、インターネットに公開する方法を知っていた時代があったが、使いやすいブログ、CMSシステムの登場が時代を変えた。今日では、誰もが情報を発信できる。そして今、「Iceberg」がこれと同じ大衆化をプログラミングにもたらしたいと考えている。それが、誰もがプログラマーになる「Web 3.0」構想だ。 2008年、まだプ...
フレンド・タイムライン処理の原理と実践 の続きです。 先のエントリでは、プルモデルの速度が当初予測していたよりも遅かった (というより SQL レイヤでのオーバーヘッドが大きそうだった) ので、MySQL Internals メーリングリストで質問したりしながら、C++ で直接 InnoDB にアクセスするようなコードを書いてみました。 タイムライン構築速度 タイムライン/秒 SQL56.7 ストアド...
サン・マイクロシステムズが買収後初めてMySQLの今後の方向性について発表しました。エンタープライズ向けのサービスの拡充など、注目すべき発表が行われているのを尻目に、マイクロソフトはSQL Serverのリリースに向けて着々と準備を進めています。 ■買収で注目度アップ!? イルカはどこまで飛躍するか サンがMySQLの買収を発表したのが今年1月です。その翌月末には買収を...
"MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計...
春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いだろう。それを機にPC環境もそろそろ大人への階段を上ってもいいかもしれない。ここでは、はてなという企業でプログラマーとして働くあの人の開発環境を紹介することで、プロが好む作業環境を考える。 2007年03月07日 08時00分 更新 この連載のバックナンバーは以下の通りです。併せてお楽しみください。 ...
『 Javaで開発されたRDBMS操作ユーティリティ。JDBCやODBCによりRDBMSに接続、単純なクエリを使ったテーブルの作成からデータベースのインポート/エクスポートといった操作を行うことができる。 』
昨今、Web サーバー上のコンテンツが不正に改ざんされ、改ざんされたコンテンツを閲覧した利用者がマルウェア感染等の二次的な被害を受ける事案が継続的に発生しています。この攻撃は、Web サーバーを狙ったものではなく、Web サーバー上で動作する、お客様が開発または導入した Web アプリケーションを狙って行われており、"SQL インジェクション攻撃"と呼ばれています。SQL ...
実は三週間ほど前からPHPの勉強をはじめました。以前からこういうWEBサービスあったら便利だろうな、あーいうのあったら面白いだろうなぁ、あるいは咄嗟に思いついたものを形に出来たらいいなぁ、など思うことは多々あり、何度か勉強してみようとしたのですが、そのたびに挫折してきました。しかし、インターネット歴10年を超えて、最近ブログに文章を書くだけでは物足り...