1. ホーム
  2. のらマネージャーのブログ
  3. WebDBを作ろう

WebDBを作ろう

第3回 データベースってなんだ?

2001年3月15日 12:00

無責任な技術与太話が続きますが、気長にお付き合い下さい。
今回から、ようやくWeb-DBのDB(データベース)についてのお話です。一番重要だけれども、一番なじみの無い物であると思いますので、数回かけて、じっくりとWeb-DBのためのDBについての解説をしていきたいと思います。
毎度毎度ですが、Web-DBに必要な5つの仕組みをもう一度書きますと、

 1・当然、情報を発信するためのWebサーバー。
 2・お客の情報を蓄積していくデータベース。
 3・Webサーバー上の履歴をデータベースに渡すプログラム。
 4・データベースから情報を引き出して分析するプログラム。
 5・分析結果に応じて必要なHTML(ホームページ)を
   吐き出すプログラム。

となります。で、今回から2のデータベースに徹底的に特化して解説していきます。一見、Web-DBとは関係無さそうで、抽象的な話が数回続くかもしれませんが、 ちょっと我慢の子で、お付き合い下さい。ちなみに、皆さんデータベースってなんだか分かりますか?ファイルメーカー?オラクル?日経記事データベース?色々な立場で色々な見解があるものなので正解はないのですが、基本的には、以下の二つを備えている物です。

 ・データを格納する形式
 ・データを操作するインターフェース

実はこの二つで十分です。あれ?って思った人もいるのではないでしょうか? 一般にデータベースというと、データの塊だったり、数字の羅列みたいな物を想像する方もいらっしゃるでしょう。でも、それは、データであって、データ ベースではないんです。(もっとも、データの入ってないデータベースはなんの役にも立ちませんが)
ちなみにこの二つを備えている物はたくさんあります。たとえば、エクセルなどの表計算ソフト。これも、行と列の2次元の「データを格納する形式」(カンマ 区切りのCSVだったり)と、色々「操作するインターフェース」(いわゆるエクセルのソフトですね)が、備わっています。そういう意味では、立派なデータ ベースです。また、日常生活もデータベースに満ちています。図書館にある書籍の貸出カード(いまどきあるのか知りませんが)。あれも、データを格納す る形式と、手作業ですが、検索したり情報を書き足したりするインターフェースを備えています。極論すれば、駄菓子屋さんの陳列棚(別にコンビニでもス ーパーでも良いけど)も、ある種データベースと言えます。商品をデータに見たてれば、陳列をするルール(格納形式)と陳列棚から製品を探すルール (操作のインターフェース)が存在していますから。そういう意味では、私達は意識することなくデータベースを活用してきているわけです。

とはいえ、これらのデータベースはWeb-DBに使えるデータベースではありません。 では実際どういうDBがWeb-DBに使えるのでしょうか?当然ですが、「Webサーバー と連動」できるデータベースであることが必要です。あと、はじめに書いたWeb-DBの条件の4を見ると分かるように「データベースから情報を引き出して分析」 出来ることが必要です。そうすると、Web-DBのDBには、以下の4条件が必要不可欠です

 ・データを格納する形式
 ・データを操作するインターフェース
 ・Webサーバーと連動機能
 ・データベースから情報を引き出して分析可能

こうした特性を持った一群のデータベースソフトとしてRDBMS(リレーショナル データベースマネージメントシステム)が知られています。次回以降、このRDBMSについて、あれこれと解説していきたいと思います。----- EXTENDED BODY:

第2回 Webサーバーとその周辺

2001年2月15日 12:00

しばらくは地味な話をやって行きます。本当は、「Web-DBではこんなこともできる!あんなこともできる!どうだ!すごいだろう!!」みたいな内容のほうが、Web-DBをやる気になるのかもしれませんが、とりあえず、このシリーズは作るための技術話に特化します。
これも理系大学出身でコンピューターでの構造解析の鬼だった人間が書いているということで勘弁してください。
与太話はこの辺で、今日の本題に。

前回、Web-DBに必要な5つの仕組みを紹介しました。もう一度書きますと、

 1・当然、情報を発信するためのWebサーバー。
 2・お客の情報を蓄積していくデータベース。
 3・Webサーバー上の履歴をデータベースに渡すプログラム。
 4・データベースから情報を引き出して分析するプログラム。
 5・分析結果に応じて必要なHTML(ホームページ)を
   吐き出すプログラム。

このうち、1、3、5は非常に密接に関わってきます。いわゆるWebサーバー回りの技術ということになります。この三つをWebサーバーを中心に大雑把に解説していきます。まず、そもそも、Webサーバーとはなんぞや?という話からですが、いわゆるホームページを配信するサーバーです。そのソフトを一般にはhttpdなんていう風に呼んだりすることもあります。基本的には、インターネットを経由してブラウザーが「HTMLを頂戴!」って言ったらHTMLをそのブラウザーに送ってあげる仕組みのことです。そういう意味では、普通のWebサーバーは、出来合いの食品が並ぶ、スーパーみたいなもので、あるものしかもらうことが出来ません。ここまでの機能を実現してくれるのが、いわゆる厳密なWebサーバーです。

「でも、これじゃぁ、データベースを反映させて、お客ごとに合ったページを出すってのは出来ないじゃない?」と思ったあなた。正解です。これだけじゃぁ出来ないのです。じゃぁ、何が出来ないといけないかというと、食べ物の比喩が続きますが、メニューの注文を受け取り、注文を受けるたびに食事を作る機能が必要なります。

料理の世界で言えば、厨房と注文を受け取るウェイターですね。カウンターだけのバーとかだと、この厨房と注文を受ける人は一人で良いわけですが。

この注文取りと厨房にあたる機能がWebサーバーに追加されていなければなりません。これの最も代表的なものがCGIといわれるものです。厳密には、このCGI自身は、注文取りと料理して出来たものをお客の渡すのが仕事なので、ウエイターでしかないのですが、CGIの裏側でC言語だのPerlだので組んだプログラムを実行することが出来ます。すなわち、厨房の機能にあたる部分なわけです。要するに、Web-DBをやるにはこういうサーバー側で処理を行う厨房が必要だということです。

では実際にこうしたことをやるものにはどういうものがあるのか紹介しましょう。Webサーバーとして代表的なソフトを三つ紹介しますApache,iPlanet Web Server,IIS(PWS)本当はこれ以外にもたくさんありますが、商売の世界ではこの3種類でほぼ全てです。

どれもCGIは使えるのですが、CGIは作るのが難しいとか、スピードが遅いとかいろいろ欠陥も指摘されています。(とはいえ、現状でのシェアはNo1です)で、 CGI以外のCGIのような、注文受けと厨房に当たる機能にそれぞれ特徴があります。

まず、ApacheではPHPといわれるものが今ブームです。特にWeb-DBを構築しやすいので人気です。ちなみに、このApacheとかPHPはただで入手可能です。このWebもPHPで動いてます。

iPlanet Web Server(旧名NetscapeEnterpriseServer)では、NSAPIが特徴的でしょうか。NSAPIはC言語を使うので、開発は敷居が高いですが、ものすごく高速です。

最後のIISですが、これは、WindowsNT上でしか動かないなかなか 癖のあるWebサーバーです。最も特徴があるのは、ASP(ActiveServerPages)という非常に 紛らわしい名前のサーバーサイドスクリプトです。それでも非常に強力なメリットが あり、VB-Script,JavaScript,Perlなどほとんどの言語で好きなように開発が出来るというのが作り手側としては最大のメリットです。

あと、ここ1、2年ではやって来てるのが、サーバーサイドで動くJavaであるJavaServletやJSPと言われる建前上プラットフォームに依存しないものです。こうした共通的な開発手法もこれからは視野に入れていくべきでしょう。

どれで作るにしても本質的にはまったく同じです。後は自分にとって市場使い安いものを選択すればいいでしょう。ちなみに私は、「MS製品は嫌いだ!」と豪語しながら IIS+ASPという組み合わせを愛用しています。こういう、特徴のあるWebサーバーがあるという程度の理解でいいでしょう。ちなみにWebサーバーの話題は、データベースと連携するところが出てくるまでしばらくお休みになります。 さて、次回はようやくデータベースについてのお話です。データベースについての簡単な概説をお話したいと思います。ここからが、Web-DBのDBたる内容になってくるはずです。----- EXTENDED BODY:

第1回 Web-DBとは何ぞや?

2001年1月15日 12:00

「Web-DBを作ろう」では、@ビズ東海のメールマガジンに書いているものをベースに最終的にはWebDBを具体的に作ってしまうものをやりたいと思います。 さて、住んでいる所の関係上、三河でいろんな企業さんのインターネットビジネス(e-ビジネス?)のお手伝いを色々させていただいてます。その中で、一番多いお客の種類が「インターネットビジネス」=「ホームページで通販」という単純な図式で、物事を捉えられている方です。

こういう方達にとっては、「インターネットビジネスに参入する」=「ホームページを作る」ということになるわけです。で、私のところに仕事が来るときには、「ホームページ作ってよ」という、非常に単純な仕事になってしまうわけです。で、どうも世間的にでまわっている書籍のせいかどうかは知りませんが、次に来る質問は「おたくは1ページいくらで作るの?」というページ単価の話なんですね。彼らの頭の中には、「ホームページ」=「単純なページの集合体」という風に出来上がっているんですね。よって、「ページを作る手間」=「ホームページを作る手間」になっているようです。

で、世間では、1ページ10万のような超高価なものから、500円(本当に存在していて笑ってしまった)とか言う激安なものまでごろごろしているわけです。あとは見栄えのよさと、値段の兼ね合いで、業者とページの内容が 決まるわけです。

「そうにきまってるじゃん!屁理屈こねてぼったくる気だろ!」と思った人、その人はこれからのインターネットビジネスの敗者になることはほぼ決定的です。
で、実際に儲けるホームページを作ろうとすると、こういう考え方は適応できなくなっています。実際に儲けるホームページを作ろうとすると、そのページ上でお客が何をやっているのかということを自動的に収集し、それを分析して、個々の客を区別し、その好みに合ったホームページを「自動的に作る」のが必要不可欠だからです。いわゆる、お客主導型の仕掛けが必要になってくるのです。

この仕組みを、実現するのに必要なものを考えましょう。

 1・当然、情報を発信するためのWebサーバー。
 2・お客の情報を蓄積していくデータベース。
 3・Webサーバー上の履歴をデータベースに渡すプログラム。
 4・データベースから情報を引き出して分析するプログラム。
 5・分析結果に応じて必要なHTML(ホームページ)を
   吐き出すプログラム。

この、5つが必要になります。この5つをセットにして、一般にはWeb-DB(ウェブデータベース)システムといいます。
ちなみに、Web-DBというのを導入すると、この「1ページいくら?」という考え方が既に成立しなくなります。極論すれば一個システムを入れれば、何万ページだろうが勝手に生成して発行してくれるのです。(実際は最低限のテンプレートデザインとページ構造のデザインは必要になります。ここに、デザイナーさんの腕が問われる場面が登場するわけです。)こうなると、ページの見た目がうんぬんではないので、デザイナーの出番以上に、マーケティングセンスのあるシステム屋さんの出番が多くなるというわけです。また、ページの更新もデータベースにデータを押し込むだけですんじゃいますから、簡単なツールを用意すれば、ページを更新するたびにHTMLをいちいち作る必要もなくなるわけです。----- EXTENDED BODY:

アイリンクへのお問い合わせ

お問い合わせメールフォームはこちら

2016年12月移転 北海道旭川市神楽1条7丁目4−8 お問合わせはメール・SNSアカウントで mail
  • twitter
  • facebook
  • google
  • noimage
  • noimage
  • noimage