• 締切済み

データベースの選定について

データベースの選定についてアドバイスお願いします。 現在は各個人用のPC数台と共用PC1台をLANで結んでいます。 共用PCにはアクセスで作成したシステムが入っており、このシステムを利用する者が必要なときに共用PCを使って作業しています。 アクセスの運用はデータ保存テーブル用MDBファイルとアプリケーション用MDBファイルを接続して利用しているという状況です。 最近になって各個人のPCからデータベースを利用する方が便利だろうということでシステムの改良を考えています。 共用PCをデータベースサーバーとして運用することで問題を解決できると思うのですが、具体的にどのような方法が最適なのかアドバイスをお願いしたいのです。 1)各個人用PCにアプリケーションMDBファイルを配布して、サーバーにはデータ保存テーブルMDBを置く。 2)SQLサーバーを導入する。 1)の方法が一番お手軽だと思っていますが、MDBは同時に複数が使用することができないということなので問題が生じる可能性があります。 しかし、そういうケースはそれほど多くないと思われますので実際の運用面では大きな問題は発生しないかもしないだろうと考えています。 ただ、あくまでもアクセスファイルは共有することを念頭に置いていないらしいので不安もあります。 2)の方法はSQLサーバー導入のハードルが高いですが、時間的余裕は多少ありますので余っているPCでテストしながらチャレンジする価値はあると考えています。 この場合、どのSQLサーバーを選定するかが問題となります。 データ件数がMDBの限界を超える心配は当面ありません。 現在のところ、一日に共有PCを使ってアクセスを利用する頻度は多くても10回までです。 SQLは無償で利用できるものを考えています。具体的にはMySQLかマイクロソフトのSQL Server Expressです。 アクセスは一般的な作業ならこなせますが、SQLサーバーは全く初心者です。もちろん勉強する意志はあります。 この状況を踏まえた上でデータベースを選定するなら、どの選択がよいでしょうか? ・導入の容易さ ・システムの安定性 の面からのご意見をお聞かせ下さい。 具体的な移行方法については自分で調べるつもりです。 宜しくお願いします。

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

私はSQL Serverユーザで、MySQLは仕事で使ったことがないということもありますが、SQL ServerはMicrosoftの製品ですので、Accessとの親和性は非常に高いです。その意味でSQL Serverの方をお勧めしておきます。 同様のアップグレードの例にも事欠かないはずです。 仕事では有償のEditionをつかっていますが、前にSQL Server 2005 Express Edition with Advanced Option(これも無料)を検証したときに、あまりの機能の充実さに驚いた記憶があります。 SQL Server Expressでもデータベースは4GBまでサポートします、容量的にも十分かと思います。 SQL Server Expressの場合、リモート接続の設定に苦しむ例が多いみたいですが、逆にいうとそれも多く例があるということなので、そこは調べてみてください。

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

1つの参考意見としてみてください。 数十人規模の会社ならば1)2)の折衷案になりますが、 「SQLサーバーを導入して、データ保存テーブルMDBの中身をすべて移し、各個人用PCにアプリケーションMDBファイルを配布してリンクテーブルをSQL Serverにはる」というアプローチが結構一般的に使われています。 アプリケーションMDBに書かれているVBAソースの変更はほとんどいりませんし、データはSQL Serverに保管されているので、安定性は高くなります。 SQL Server Expressでも十分対応できるかと思います。 試す時間的余裕があるということでしたので、勉強のつもりでSQL Serverを入れてみては。

fujika1980
質問者

補足

jamshid6さん、回答ありがとうございます。 提案頂いた方法を検討させて頂こうと思っています。 これまでデータやマスターテーブルを保存していたMDBをSQLサーバーに移行してアプリMDBからSQLに接続する、という手法ですね。 検索したところ、移行や接続の方法はいろいろ情報があるようなので後ほどじっくり調べてみるつもりです。 MySQLとSQL Server Expressについて追加でお伺いさせて下さい。 質問内容でも書いていますが、それほどデータベースへのアクセス頻度は高くありません。データ数についても、データテーブルとマスターテーブル共に複数に分割しているので正確な総レコード数を確認したわけではありませんが、何万件もあるわけではありません。 ですので、「そこそこ」の処理能力のSQLサーバーであれば十分対応できると考えています。 そういうケースですと、MySQLとSQL Server Expressのどちらがよいとお考えでしょうか? 導入・保守の容易さ、参考になる資料、etcの観点から、jamshid6さんならどのような選択をされるか、個人的なご意見で結構ですので、お聞かせください。 よろしくお願いします。

関連するQ&A

  • データベースサーバー構築

    質問場所がここで良いか少し不安ですが 主にWebで公開するデータベースのシステムを作ろうとしています 自分のスキルの範囲でやろうとしていますが少し分からないことがあるので 教えてください まず 自分のできること(やっていること)は ・Windows系サーバー(IIS)を使ってVBスクリプト(ASP)で ローカルにあるMDBファイルにアクセスし商品を紹介する動的ページの作成 です。 今後複数ユーザーでデータベースを使うことになるので システムを変えていく必要がでてきて MDBはダメだという事になり色々調べた結果、今後のことも考えWebサーバーとは別に データーベースサーバーを作ってやると言う結論になりました 分からないこと(あやふやな理解になっていること) 1.データベースサーバーとは何か?  これは OSは別として、SQL Server、オラクル、MYSQLといった  RDBMSをインストールしただけのデータベース置き場専用という感じのPCを指すと言うことで良いでしょうか?  例えば Win2000のIISでwebサーバーを作りその中のASPページから  別PCにあるデータベースにアクセスする構成がデータベースサーバーを別に設けると言うことで正しいのかどうかと言うことなのです。 2.データベースは何がよいか?(SQL Serverでよいか?)  本来であれば、webで商品在庫を公開することがメインで更新頻度が少ないデータベース  (300人ぐらいで共有し1万~3万レコードです)です、なおかつ複雑なSQLは発行しません。  ほぼASPからの接続で抽出(ID=** という単純な抽出条件)しか使わない、あとは並び替え位なので  MYSQLが向いているようでしたが、私はLinux系は全く分かりません。  なので メンテナンスの面や勉強する時間の節約からすれば  Windowsで動くSQL Serverが良いと思うのですが(MYSQLもWindowsで  動くけど得意とする高速性はLinux系でないと発揮しないみたいなのでやめようと思っています)  上記のような条件と使い方の場合、そんなに処理時間やマシンの負荷に両者間では大差があるのでしょうか?  MDBの時でもあまり不具合を感じなかったので、それよりは格段にSQL Serverは早いし負荷が少ないと聞いていますので  大丈夫かなと思っています。 3.SQL ServerをインストールするPCは何が最適か?  先も述べたようにデータベース専用として使う予定ですが  Win2000でよいのでしょうか?(XPより2000の方が安定がよいと思うので) それともWin2003Serverに  インストールできるならその方がよいでしょうか?  とにかく安定度が一番なのですが、そもそもWin2003Serverに  インストールできるのでしょうか?(もうすぐ2008?がでるからそれにしようかとも検討中です) 4.最終的に自分の思っていることと実体の構成(理解)は理解は以下のような感じで正しいのでしょうか?    複数でデータベースを共有するため、MDBでなくネットワークに強い (共有データベースで壊れにくい?壊れない?)データベースに変えるため、windowsで動くSQL Serverを使う  そのSQL ServerはwebサーバーがあるPCとは別のPCにインストールして使う  (データベースサーバーを別に用意する)ことでwebサーバーの負荷も減らし、データベースも快適に動くようにする 最終的にはWin2003Server×2台で1方はwebサーバー1方はSQL Server をインストールして使うことで上記を実現させる 5.SQL ServerのデータベースはMDBのような最適化というような作業が必要なのでしょうか?  そもそも 似ているようで違う MDBとSQL Serverでその特徴がきちんと理解できていないので  愚問なのかもしれませんが 気になるので教えてください 6.オラクルと違いSQL Serverはレコードの更新や追加の時  その行(レコード)だけロックすると言うことができない?  ようなので、Aさんが自分の商品を更新中にBさんも更新する  と言うようなことが起こった場合(MDBはこれになると壊れると書いているので MDBをやめました)  Aさんの更新が終わるまでBさんは更新できない(更新終了まで待つ)と言うことになるのでしょうか?  また、このとき商品一覧を要求された場合、更新中の情報はどの様になるのでしょうか?(更新終了まで見れない?) なんか 分かりにくい質問になってしまいましたが、お金をかけて 買ったはいいが、理解不足でやりたいことができなかったと言うことは 避けたいので ご教授下さい。 よろしくお願いします。

  • VB 2008 Express Edition で他のPCのデータベースと接続できますか?

    まだVB歴の浅い素人ですが宜しくお願いいたします。 現在、VB2008EE を使ってデータベース管理のプログラムを作っています。 会社で使っているデータベース(Access)のデータベースを自分のPCにコピーして、更に新しい(SQL Serverファイル)データベースの2種類を使いデバックテストをしています。 現状、問題なく動作するのですが、完成したらサーバー(PC)にあるデータベース(Access)と新たなSQL Serverファイルを同じフォルダーに置いて自分のPCから接続して利用したいと思っております。 VB2008StandaedEditionでは可能みたいなのですが?ExpressEditionでも可能でしょうか? PCはワイヤレス接続はされています。 フォルダーを共有指定することで出来ないでしょうか? 宜しくご指導お願いいたします。

  • Windows XP Pro のPCにて現在 access2000 +

    Windows XP Pro のPCにて現在 access2000 + VB6.0 にてスタンドアローンにてシステムを運用中です このシステムをクライアントPC2台にて運用したいのですが・・ 排他の問題等でSQL-SERVER を入れたほうがいいのかどうか検討しております DBを導入する場合やはりSQL SERVER でしょうか?またWIN-XP なのですがSQL-SERVER は導入可能なのでしょうか? 知恵を貸して下さい ACCESS2000 では無理なんでしょうか?DBロックでPGがエラー起こします

  • データベースにアクセスできる?

    ASPは自分のローカルPCデータベースではなく、サーバー上にあるデータベースへアクセスしますよね?(・・・たぶん。) 今回、私がやりたいことは、HTMLから自分のローカルPCアクセスデータベース(MDB)にアクセスしてデータを取得したいのです。 それって、可能なのでしょうか? 可能なのであればやり方を教えてくださいm(__)m

  • ASPでデータベース連携した時のアクセス制限は?

    お世話になります。以前はアクセスでデータベース接続していたのですが、件数の増加により、試験的にSQL Server 2005 Express に移行しました。マイクロソフトのサイトを参考にして、アクセスからアップサイジングして、無事に接続することが出来ました。ひとつ不明な点があるので教えてください。Webアプリケーションで、データベースに書き込みをしたり削除をしたりするので、mdbファイルの時は、置いてあるフォルダは匿名アクセス(IUSR_コンピュータ名)で認証し、フルコントロールOKに設定していました。(社内イントラネットのみで運用)SQL Server 2005 の場合は統Windows認証で接続しています。IISを経由してインターネットユーザーがパスワードなしでデータベースにアクセスできるようにするにはどのように設定したらよいのでしょうか?

  • データベースを使わず、テキストファイルで・・・

    SQLサーバーとかを使わずに、テキストファイルで 多人数がアクセスするプログラムを作成しました。 テキストファイルを開くときは、もちろん排他的 ロック、アンロックしていますが、心配なところです。 SQLサーバーなどを使わないで多人数(~10人程度)が 利用するプログラムはテキストファイルが壊れやすい でしょうか? 将来的には、やはりなんらかの安価なデータベースを使っ たWEBアプリに改変予定ですが、それにはどういったサーバ がおすすめでしょうか?また、作成のコツなどを教えて ください。昔、VBとSQLサーバーで社内システムを構築 した経験はありますが、離れているので技術力は 乏しいです。

    • ベストアンサー
    • Perl
  • VBでSQL-serverをプログラムする

    VBでmdbファイルを操作するプログラムを勉強していますが、データベースをサーバー管理するならば、AccessではなくSQL-serverなどを使った方が良いと聞きました。 質問なんですが、 SQL-serverには、Accessと同じようにユーザーフォームを使ってデータベースシステムを構築するような機能が付いているのでしょうか? そもそもOracle、dBase、SQL-serverといったデータベースソフトは、DBそのものを作成するソフトであって、DBシステムを構築するにはVBなどによるプログラム開発が必要なのでしょうか? 分かりにくい質問ですみません。

  • データベースの移行について

    はじめまして 私は小さな会社をしていて自社の業務管理を以下の様な形で行っています。 Server : windows2003server データベースエンジン: MSDE クライアント: windows XP 12台 データベース: Access2003 で運用しています。 このシステムをAccessを勉強しながら組み立てて何とか問題なく管理できているのですが、 クライアントを全てWindows7に入れ換えるのを機に、サーバーもWindows2008に入れ換えることにしました。 クライアントのWindows7には、Access2003を入れるつもりでいます。 ここでわからないことが (1) Windows2008ServerにはMSDEは対応していないとのことですが、スムーズに移行できる無料のデータベースエンジンは何でしょうか? (2) サーバーとクライアントの両方について、システムの移行をする手順を、初心者の私にご指導をお願い致します (3) Access2003で運用しているものを2013に移行した場合には互換性の問題が発生する可能性はあるのでようか? 業者さんに依頼する予算もなく、全てを自分で移行して現在と同じようにトラブルなく業務管理ができるシステムの運用を行いたいと思いますので、皆様のお力をお借りしたく、何とぞシステム移行ができるよう、ご指導のほど宜しくお願い致します。

  • データベースの選定について

    Apache+Tomcat+(Struts) を使って小さな顧客管理システムをつくりたいのですが、 ちゃちゃっとカンタンに作るにはデータベースは何を使えばいいでしょうか? 今まではオラクルしか使ったことがありません。 ですが、オラクルではなく、オープンソースのもので捜しています。 サーバーOSはwindows2000 or windowsXPを想定しています。 初期設定は最小限にしたいので、cygwinとか入れずに運用できるものがよいです。 初期設定とか運用が難しくなければ、ODBとかXMLDBとかもアリでいきたいです。 ご回答よろしくお願いします。

  • Accessデータベースを外部から閲覧する方法はありますか?

    パソコン超初心者です。 イントラネットで共有されているAccessデータベースを、外出先のPCや携帯電話から見れるよう(閲覧のみ、編集はできなくてよいです)にできるでしょうか? SQL Serverに移行するという方法があるようなのですが、本当にパソコン初心者なので、どのようにしたらいいかわかりません。 また、社内の多くの人もパソコンにあまり詳しくないので、データの閲覧方法が複雑なものは導入しても使ってもらえないと思われます。 また、外からデータを閲覧するのは最大でも5~10人程度で、会社の規模も10人程度の会社ですので、かなり大がかりなシステムの導入は非現実的であると考えています。 何かよいシステムや運用方法があれば教えて頂きたいです。 宜しくお願いいたします。