• 締切済み

[DB]データベースを利用する上での利点を教えて

お世話になります。 DB初心者です。 現在とある中規模の掲示板システムを設計しています。 データベースを利用する事での利点をお聞きしたいです。 お恥ずかしながら、当方あまりデータベースを利用した事がなく これまで掲示板等のログは全てテキストファイル形式で利用してきました。 従って、データベースの技術的な知見も乏しい事から、今回データベースを 利用するにあたっては、そのメリットを最大限に活かせる事が 出来ないのではないかと不安に考えています。 (逆にシステム高負荷になったり…) そこで、データベースを利用する事で、何がどうメリットがあるのか もしくはデメリット等、教えて頂けませんでしょうか? よろしくお願いします。

  • MySQL
  • 回答数4
  • ありがとう数13

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5081/13277)
回答No.4

中規模の掲示板システムとなれば、Webサーバの冗長化やスケールアウトによる負荷対策と言ったことも考慮しなければいけないのではないでしょうか。 そうなると ・データの一元管理 ・書き込みの競合 と言ったことへの対策としてもDBを利用するメリットがあると思います。

wansui
質問者

お礼

回答有難うございます。 大変参考になりました。

回答No.3

Q、データベースを利用する利点。 A、連結したデータを容易に検索できること。 連結:MySQLのデータは、相互に連結した構造できる。 検索:MySQLのデータは、SQL言語で容易に抽出できる。 利点は、この2点に集約することができます。 PS、一年近い悪戦苦闘は必須。 プログラム言語Java+MySQLで「MySQL コマンドラインツール」を自作した経験があります。目的は、MySQLとアクセスするノウハウの確立と必要なライブラリを開発するためです。リレーショナルデータベース言語自体は、UNIXでもWindowsでも経験していました。しかし、MySQLは初めてでした。とにもかくにも困ったのが、MySQLとアクセスするノウハウとライブラリに関する参考文献とが無いことでした。例えば、DBSelect()、DBDelete()、DBInsert()、DBUpdate()などのSQL文を実行し結果を戻す関数などはフロントエンドとなるシステムの開発には必要不可欠でしょう。なぜなら、AccessなどはMicrosoftが提供していますが、MySQLは完全なバックエンドなので提供されていません。さて、いざ、それらの開発に着手するとMySQLのバージョンによる文字化けを防ぐ方法の探求などなどで四苦八苦。結局は、「コマンドラインツール」を書き上げてテストに成功するには1ヶ月半も要しました。 >DB初心者です。 だとすれば、まず、テーブル設計とSQL言語との取得に3ヶ月は必要かも知れません。なぜなら、システム開発の比重の9割は関連データベースのテーブル設計にあるからです。その他のライブラリやフロントエンドの各作業の重きは1割程度だからです。まず、Access等を利用されてテーブル設計を十二分に検討されることをお勧めしておきます。なお、クエリでは「SQLビュー」を利用されると良いと思います。 「よし、行ける!」という確信を得られたら、いよいよMySQL自体の利用に挑戦。これには、試行錯誤に1、2ヶ月。そして、その後に、システム設計と開発。 まあ、実際にMySQLを利用したシステムの開発に着手されるのは最短でも半年後とお思いますよ。 私は、プログラムや開発に関しては完全なる素人。でも、そんな素人でも、開発フローさえ間違わなければ、ある程度はできると思っています。頑張られてください。

wansui
質問者

お礼

回答有難うございます。 大変参考になりました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

メリット ・データの競合が起こりにくい ・データの抽出、集計が高速 ・SQL文がある程度標準化されているのでメンテナンスがしやすい ・相関関係のあるデータを関連付けて処理できる デメリット ・軽微なデータでも一定のリソースが必要なためオーバーヘッドが大きい ・SQL文を理解するのがめんどくさい ・正規化を(以下同) ・プログラムとの連携を(以下同)

wansui
質問者

お礼

回答有難うございます。 大変参考になりました。

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.1

・アクセス権についての管理を行うことができる 特にアクセス過多の場合、ファイルだと破損する可能性があったとしてもDBだとエンジンが制御します。 書き込みできるユーザー、そうでないユーザー等の管理がしやすいです。 バックアップ等もまとめて行うことができます。 ・内容を秘匿化できる ログファイルに生データが書かれている場合、それをそのまま読まれてしまいます。 それで良い場合もよくない場合もあるでしょう。

wansui
質問者

お礼

回答有難うございます。 大変参考になりました。

関連するQ&A

  • 利用者数10万のデータベース設計について

    WEB上で利用者数10万のマイページ機能をもつようなビジネスサイトを構築しようと考えています。 ユーザーのID,PASS管理と ユーザーごとのマイページの中にスケジュール管理機能、顧客管理機能 を設けます。 このような大規模なデータベースの設計例を教えていただけないでしょうか? データベースにはMySQLを使用しようと考えています。 ユーザーのID管理は一つのテーブルじゃ無理ですよね? その場合どのように分ければいいのしょうか? ユーザーごとのマイページはユーザーごとにスケジュールテーブルなどを 作るべきなのでしょうか? MySQLの物理的最大DB,テーブル数の制限などあるのでしょうか? 私自身はデータベースプログラムが出来ないため設計の部分でお教えいただけたらと思います。

  • Perlでのデータベース利用

    とても一般的な質問になりますが、 そこそこ規模の大きな(目標会員数一万人)会員サイトをPerlで構築しようとしています。 問題はデータベースへのアクセス負荷なんですが、 ひとつのテーブルのレコード数が100万行ぐらいになると思います。 一般的なホスティングサーバを利用してデータベースはMySQLです。 「大規模なデータベースシステムはJAVAサーブレットが向いている」と言う話をよく聞きますが、上述のような規模のサイトは(Perl or PHP)+MySQLでは難しいのでしょうか? 出来たらPerlで通してみたいと考えております。 ご意見、ご指導よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • DB構築

    今DBの構築を考えています。規模は社内だけなので比較的小さいものだと 思います。 1.データベースソフトの使い方 2.データベースの設計 3.データベースへのアクセス方法 初心者なので上の項目がわかればなんとかなるんじゃないかと思います。 詳しく乗っているHPでもいいのでよろしくお願いします。

  • DBへの保存について

    メールフォームの作成の求人を出したところ、 「DBへの保存は不要と考えてよろしいですか」というメールを受け取りました。 検索してDBがデータベースの事だというのは分かったのですが、 メールフォームに必要なのか不要なのか分かりません… DBに保存しなければ、あとでメールを読む事が出来なかったり、 文字化けするといった事になるのでしょうか? メリットとデメリットを初心者にも分かる範囲で ご教示いただけると大変助かります。

  • データベース利用について

    ご質問をさせて下さい。 商用にてデータベースを利用予定なのですが、 ネット上で大量の顧客情報を管理し、尚且つその情報を必要としている企業が そのデータベースにアクセスできるようなシステムを作りたいと思っています。 しかし元々専門知識が全くないので、 どの程度の規模のデータベースを用意すればいいのかが分かりません。 また、サーバーとデータベースの関係も良く分かりません。 例えばオラクルはデータベースソフトというのは分かるのですが、 そのソフトを使って大量のデータを管理するとしても、 その大量のデータ自体はサーバーにあることになりますよね? ではそのサーバーは自前で用意するしかないのでしょうか? もしくはレンタルサーバーで大丈夫なのでしょうか? またホームページのレンタルサーバー(もちろん法人用)を提供している ところなどでは、そういうのは難しいのでしょうか? 要はレンタルサーバーなどがあるというのは分かるのですが、 どの程度の規模のものまで可能なのかとか、 大手はどこなのかとかが分からなくてイメージが掴めません。 尚、規模としては最初は小規模なものですが、 将来的には上限のない、なるべく多くの顧客情報管理を目指す予定です。 と、基本的なご質問で大変申し訳ないのですが、 ヒントになるようなことだけでも構いませんので、 アドバイスを頂けますでしょうか。

  • CGI(掲示板やカウンターなど)とデータベースの利用の意義

    CGIを作るのに、(掲示板やカウンターなど)、でファイルの代わりにデータベースを使うのは、意味ありますでしょうか。 想定環境は、linux と PHP と MYSQL です。 掲示板やカウンターにわざわざデータベース使う意義ってあるんでしょうか。 データベースを利用した場合、負荷軽減など、向上するんでしょうか。 海外のスクリプトにPHPとMYSQL を使ったものがよくありますけど、 やっぱり、負荷軽減とかに効果的なんでしょうか。 特に効果もないならファイルで十分と考えてるんですけど、そのあたりが、よく分かりません。

  • データベースの選び方

    社内システムを構築しようとしています。 本格的な設計は初めてで、他に頼れる人もいないという心細い状況です。 ・月に二万件程度ずつレコードが追加される ・主に範囲を指定して検索したり、修正したりする ・LANで複数の人がアクセスする というような仕様で、データベースをアクセスにするかSQLサーバにするか、 迷っています。 開発環境はWin98SE+Office97、SQLサーバの場合はVB5.0です。 それぞれのメリット・デメリットを教えてください。 また、データベースを選ぶ際のポイント、 参考になるサイトなどありましたら、ぜひ教えてください。 よろしくお願いします。

  • 増設しやすいDBサーバの設計について

    ・将来、負荷に合わせ、DBサーバを増設する。 ・当初は、一台のDBサーバでサービスを開始する。 という前提で考えた場合に、 増設がしやすいDBサーバの設計ポイントは どんな点があるでしょうか? (例えば、InnoDBのデータベースディレクトリはこうしておくと良い、等) 参考になるURL等でも構いませんのでよろしくお願い致します。 頂いた情報を元に、勉強していこうと思います。

    • ベストアンサー
    • MySQL
  • SSDの利点を生かすには

    SSDの利点を生かすには http://techtarget.itmedia.co.jp/tt/news/0809/11/news02.html SSDのメリットを最大限に引き出すには、 「システム(エンタープライズストレージシステムとPC)の設計変更が必要だという。」 エンタープライズストレージシステムとは どんなものか? CPUとGバイト単位のキャッシュ積んだRAIDカードとか? SSD 5~10台以上 積めるとか? 一般PCのマザボに直接 繋いでRAID組んだところで 活かせるようには思えないんだけど。 単体で高速でもOSでRAIDって微妙だと思う。 一般PCに SSD1台 だけある場合 活かせる使い道ってあるのでしょうか?

  • データベースの削除が出来ません

    phpMyAdmin からデータベースを作成したのですが、 その時に名前を誤って"system?db"としてしまいました。 telnetで接続し、 drop database system?db としたのですが、 You have an error in your SQL syntax near '?db' at line 1 とうエラーになります。 ?が名前に入っているのが原因だと思うのですが、 どうすれば削除出来るのでしょうか? 過去ログやgoogleで検索してみたのですが、 見つけることが出来ませんでした。 よろしくお願いします。

    • ベストアンサー
    • MySQL