• ベストアンサー

普段、オラクルを常用しているものです。

普段、オラクルを常用しているものです。 mySQLを少し触ってみたところ、えらく簡単だし速いしで乗換えを検討しています。 ただ、オラクルの堅牢性がこのmySQLではどの程度なのか?という点を懸案してます。 InnoDBをいじってみた感触として「オラクルほど堅くはないんだろうが、MSのAccessよりはずいぶんまし」と感じてます。 実際に運用している方の肌感覚みたいなのを、教えていただければ幸甚です

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

質問者が選んだベストアンサー

  • ベストアンサー
  • hardgeek
  • ベストアンサー率50% (7/14)
回答No.4

MySQLの中の人です。InnoDBの堅さについて回答したいと思います。 InnoDBはディスク関連のオブジェクトとして、テーブルスペースとログファイルを作成します。この点は一般的なRDBMSと同じですね。トランザクションをコミットしたときにはログファイルへfsync()でされますので、コミット済みであればマシンが転けても再起動後にリカバリ処理によってデータが復活します。(ただし、一部の内蔵SATAディスクではキャッシュメモリが搭載されており、ライトバックモードで使っていると、OSが書き込んだはずのデータが電源が飛んだときなどに消えてしまう危険性があり、注意が必要です。ちゃんとRAID装置などを使っていれば問題ありませんが。) テーブルスペースへの更新には「ダブルライト」という技術を使って堅牢製を高めています。要するに、2度同じ情報を別の領域に書き込むことにより、テーブルスペースが壊れないようになっているのです。(一度目をダブルライトバッファへ、二度目を本番の領域へ書き込みます。リカバリ時にはダブルライトバッファの中身が壊れていればダブルライトバッファを破棄、本番の領域が壊れてればダブルライトバッファで上書き。) 従ってInnoDBでは、ディスク(またはファイルシステム)が壊れない限りはデータが消失しないような作りになっています。(データ破壊が起きるバグが存在する可能性はありますが、最近そのような事例は報告されていません。)つまり、DBMSとして非常に真っ当な作りになっているということです。MySQLに足りないのは堅牢製や性能ではなく、複雑な機能(パッケージや集計関数、監査など)でしょう。単に「リレーショナル」なデータベースとして使うだけであれば、他のRDBMSに引けをとることはありません。(Railsなどのフレームワークを利用する場合はなおさらです。) また、MySQLには標準でレプリケーション機能が備わっており、本番機がクラッシュして使用不能に陥ったとき、スレーブでサービスを再開するという使い方が可能です。バージョン5.1のレプリケーションは非同期ですが、最新の開発版であるバージョン5.5には準同期型(ログシッピングは同期するが、テーブルへの反映は非同期)が実装されており、実質的にレプリケーションをHA用途で使えるようになっています。 さらに安心が欲しければ、MySQLの商用サポートがあります。商用環境で利用される場合には、サポートを購入して頂ければしっかりサポート致しますのでご安心ください。

creamysoft
質問者

お礼

中の人にお答えいただき有難うございました。 >従ってInnoDBでは、ディスク(またはファイルシステム)が壊れない >限りはデータが消失しないような作りになっています InnoDBがそんなにしっかりした作りだとは思ってませんでした。 しばらくはオラクルと二重運用してみます。

その他の回答 (3)

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.3

 実は、わたしも、あなたと似たような状態です。  使ってみた感じでのわたしなりの感想は、オラクルの方が明らかに整って見えるのは、   ロール   full outer join   ロックの扱い   クラスタ化   パーティーション周り   interMEDIA等の周辺ライブラリー群   オブジェクトデータベース   データマイニング関係  あたりかなぁという感じです。  クラッシュ時のデータベースの保護という意味では、やはりオラクルの方が堅牢なようですね。InnoDBのリカバリー性は、どうやら、OSの挙動に依存している気配があります。(遅延書き込みを全面的に停止すれば、あるラインまでいけるかな。)     まぁ、私用で使う分には、MySQLで十分すぎるくらい。少々のデータ量なら持ちこたえそうですし、ユーザーが少なければ、ロールなんて無くても運用可能だし、同一データベースを何個ものプログラムで同時走査することもそう無いし。データマイニングが本当に必要なほどの解析業務もないし。ある程度のバックアップが確保できていれば、あぁ~あやっちゃったとあきらめがつくレベルには堅牢だと思います。周辺ライブラリーやオブジェクト周りは、それこそ、アプリ側で吸収できますしね。  業務で使う段で、且つ、データの損失がお金に換算される世界になると、ちょっとやっぱり手を出すのは控えるかしら。さもなくば、障害の際の損失に対する対策を確実に外部でサポートすることが求められると思います。ユーザーが多くなり権限が複雑になると、ロールがないのは堪えそうかな。  フルアウタージョインのサポートは、私としては少し痛かったです。まぁ、代換え手段も無くはないですが・・・いかんせん、これは面倒ですね。MySQLで、将来サポートされることを祈りたいです。  

  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.2

何に使うかですよね。 金融系のプロジェクトだったら(例え小さな案件でも)MySQLは使わないと思います。 (社内の情報系くらいならともかく) 逆に「例え飛んでもバックアップから半日くらい後には戻せます」程度の要件なら、MySQLでも十分です。 mixiのような巨大なデータを扱うプロジェクトにも使われていますよ。 http://techtarget.itmedia.co.jp/tt/news/0709/12/news01.html 但し、サン・マイクロシステムズがORACLEに買収された今、MySQLの持ち主はORACLEと言う事になります。 あまり気にする必要はないのかもしれませんが、今後、ずっと「オープンソース」足り得るのか、は微妙なところです。

creamysoft
質問者

お礼

みなさん、ご回答ありがとうございました。 確かに、○拾万円する商用DBと、GPLソフトを比較するのには無理がありますね。 もし、両者に差がないなら裁定原理が働いて、オラクルも相当お安くなるはず。 ま、そうならないようにしたということですか..

回答No.1

dbと言えばオラクルと言われ続けてきた商用ソフトと、無償バージョンで実績を積んできたMySQLを比較することが無理な気がします。 商用dbで比較してもオラクルが優れている点は「ロック」が確実に行えることだと思います。 MySQLと正しく書きましょうね http://www.mysql.gr.jp/

関連するQ&A

  • ORACLE と MySQLどちらで開発すべきか悩んでいます。

    DB連動型のサイト(NT+IIS+ASP+MS-SQLServer)を既に構築済みですが、 昨今の「Nimda」ウィルスに関連して、Microsoft製品をやめて Linuxにシステム移行しようかと検討しております。 ASPがLinux+Apacheで動作しないことは分かっておりますので、 PHPに移行しようかと覚悟を決めております。 (できれば、ASPの資産をそのまま活かしたいのですが・・・) (Linux+Apacheで、ASP動かす方法ご存知でしたら、合わせて教えてくださーい^-^;) で、データベースなんですが、現在はMS-SQLServerを使ってますが、 Linuxに移行となれば、ORACLEかMySQLしかないかと思っております。 (PostgreSQLは、selectなどの検索系が遅いと聞いておりますので、却下します。) そこで、LINUX+ORACLEか、LINUX+MySQLのどちらで開発すべきか迷っています。 【私が悩んでいる長所・短所】 ■MySQL  ○基本的にソフトは無料なので、低価格で開発できる。(これが、一番ありがたい!)  ×安定性の面で、不安?が・・・。  ×私は、MySQL初心者なので、既存MS-SQLServerデータの移行・DB構築・DBメンテに不安要素いっぱい! ■オラクル  ○私は、Oracleに精通しており、DB構築・データ移行・DBメンテが容易にできる。  ○安定している。  ×値段が高い。(これが、一番ネックなんです。          だって、100万以上するでしょーToT;予算的に10万くらいが限界・・・。) 費用的なことを考えると、MySQLにしようかという雰囲気です。 どうぞ、ご意見をお聞かせいただければ幸いです。

  • Oracle移行

    現在Oracle 11gR2を使用されているクライアント様がいたとして、これから移行するとなれば19cが堅いですよね? 12cに比べ枯れてはいませんが、ほぼほぼ同じものですし、もう2021年を迎えるタイミングで12cに移行というのはないように思えますが、現場に出ていらっしゃる方々の肌感覚的にどう思われますか? ちなみにOracleは落ち目とか、ポスグレ、MySQL、SQL Server、DB2とか他に選択肢があるとかいうのはなしで、あくまでOracleに限定した場合の想定で、次移行するなら…という状況で皆さんのご意見?をお聞きさせて頂きたく思います。 宜しくお願い致します。

  • MySQL/DBサーバって、MySQL/DBクライアントみたいなものりますか?

    Linux+Apache+MySQLでサイト構築を検討しています。 MySQL/DBって、ORACLE8で言うところの、 いわゆる「Net8クライアント」のようなものってあります? 実は、今まで、NT+MS-SQLServer7でサイト構築してたのですが、 Linuxで再構築することとなっちゃいました。 で、MS-SQLServer7だったら、クライアントPCから、 GUIを使って、データベースのデータを簡単に変更することができます。 しかし、LinuxではMS-SQLServerは使えないので、じゃぁ、ORACLEって手もありますね。 そこで、ORACLEだったら、Net8があるので、多分、 上記のような使い方もできると思うのですが、 ORACLEは、導入コストが高すぎるので、却下されてしまいました。 で、Linux+MySQLにしようかと・・・。 しかし、サーバ機にLinux+MySQL/DBを構築するのはいいのですが、 Windowsなどのクライアントから、ORACLEでいうNet8でODBCのような接続で、 Microsoft-Accessなどを使って、データベースのデータを編集させたいんです。 よろしくお願いします!

  • Oracle Database XEの知名度

    いつもおせわになります 信頼性が高く大手の企業でよく導入されるオラクルですが フリー版、商用利用可の「Oracle Database XE」が存在します しかし、WEB系のアプリケーションを見ると 殆どがMySQLかPostgeSQLを使っていますが なぜ、「Oracle Database XE」を使わないのでしょうか? 多くの言語、技術を極めたいというような、学者肌の方たちは別ですが 一般的な、アプリケーションを作るというのが目的の人は、 十分動くのにコストをかけて別の技術を覚えたりしないと思うので それが原因なのでしょうか? もしくは、「Oracle Database XE」には実戦で運用するのは不都合な点があるのでしょうか? DBに詳しい方、「Oracle Database XE」を使って実際にWEBアプリケーションを運用したことがあるかた、お教え頂けると幸いです。

  • どのDBMSを・・・

    こんにちわ現在、イントラ向けのDBシステム構築の検討中のものです。サーバは、一番使い慣れているWindows2Kサーバで考えております WEBブラウザで閲覧が可能である事を要求されているので、いろいろ選択肢がある中でVBSでASPを書くことになりました(作成者全員の使える共通言語だったもので) ここまではいいのですが、DBMSの選定で止まってしまいました 今まではOracleを使っていたのですが、今回はコストを抑えたいので、それは難しい、ということになったのです。 MS SQL Serverでもコストが高い、ということになり、そうすると、PostgreSQLかMySQLか…というところになっております。 ちなみにテスト版のサンプルプログラムは、MS-Accessを使って動かしているのですが、それではアクセスが集中した時に耐えられないであろう、ということで却下になっております。 日常の利用の中では、大したアクセス数は予想されないのですが、混雑時になると百台を超える端末からのアクセスが予想されます。 DBのレコード数は1テーブルあたり多いもので百万件程度のものとなる予定です 前書き長くなってしまいましたが、このような状態です Oracle,MS SQL Serverが駄目といわれた以上、PostgreSQLかMySQLだと思うのですが、皆様、どのような基準で、DBMSを決定しているのでしょうか? また、それぞれのメリット、デメリット等があれば教えてください(自分なりに調べてはいるのですが、実際運用されてる方のお声をお聞かせ願いたいと思っています) もしくは、その二者以外にも候補として考え得るDBMSは何かあるでしょうか? http://oshiete1.goo.ne.jp/kotaeru.php3?q=158746 この方の投稿は非常に参考になりました。 非常に漠然としていますし、その場に応じた環境があると思いますが、皆様の判断基準としている点をお聞かせ願えれば幸いです

  • データベースソフトとは・・・

    情報処理の授業でデータベースについてレポートを書くことになりました。 課題の内容は「データベースソフトにはどのようなものがあるか列挙せよ」という漠然としたものなので、何から書けばよいか困っています。 まったくの初心者なので、自分なりに調べてみたのですが、顧客管理用など種類もたくさんあり混乱しています。 Access Oracle ファイルメーカー OpenOffice.org MS SQL Server PostgreSQL MySQL DocuWorks EXCEL 以上が自分で調べたものなのですが、これがすべてデータベースソフトなのかも自信がありません。 Access、Oracleが有名らしいのですが、他にも有名なものって何なのでしょうか。 市販でも、フリーソフトでもかまいません。 どうぞ回答よろしくお願いいたします。

  • MSDEへの移行

    質問させていただきます。 現在、MS-Access2000で運用しているシステムを、複数台で運用することを検討しております。 そこで・・・MDBをMSDEへ移行した場合、クエリー、フォーム、レポートなど変更(修正)せずに使えるのでしょうか? あるいは大幅な変更(修正)が必要なのでしょうか?

  • DBについて教えてください。

    オラクルの本を読んでて疑問というかちゃんと触ったことがないのでよくわからないことがあるのですが、列の表示で、 SQL> SELECT 従業員名 FROM 従業員; 従業員 -------------- 小泉 浜田 野中 田中 塩村 5行が選択されました。 という例題がありますが、 実際、ORACLEとJAVAであるシステムを作るとき、 SQL文というのはたとえばDBAccessクラスなどを作ってそこにSQLを書き込んだりしますよね?(たぶん・・・ そうすると、実際上の例のような事を業務でするのでしょうか? 本にはORACLE上でデータを取り出したりという例ばかりですが、 どうも目的がよくわかりません・・・。 DBはMS-Accessしかやったことがないのでイメージが湧きません・・・。 ORACLEに限らずPostgreSQLやMySQLも・・・。 変な説明で申し訳ないですが、理解していただけますでしょうか? よろしくお願いします。

  • 【日焼け止めが落ちない!】

    質問させていただきます。 日に当たる状況が多く、夏場は特に日焼け止めを毎日の様に常用しております。 使用するものも、SPF50など強く長持ちするウォータープルーフタイプです。 顔も同じ物を使っています。 ですが、お風呂に入ってしっかり洗ってもなかなか落ちません…(;。;) お風呂から上がりよく見ると、肌のキメの間に白く残っています! 肌の感触もまだなんか油の膜におおわれた様な感覚も残っているため、お風呂に入ったのに気持ちが悪い状態です。 顔もよく落ちていないのか肌荒れもしてきました…。 日焼け止め用のクレンジングが売っていますが、それなりの値段がするので体に毎日使うことを考えると経済的にはキツいのです(T-T) キレイに良く落ちて簡単な方法などがありましたら教えていただけますでしょうか! よろしくお願いします!!

  • SQLserverのバージョンについて

    現在Access2003で作成したデータベースを業務で運用しています。 社内のネットワーク内で自分の所属する部署のPC5台で、テーブルのみのMDBファイルをファイルサーバーに置き、クリエやフォームを入れてあるMDBファイルにテーブルのリンクをして各クライアントPCで利用しています。 複数台での同時アクセス時にパフォーマンスが落ちますので、SQLseverExpressをどれか一台のクライントPCにインストールして、現在ファイルサーバーに置いているファイルをそこに移行しての運用を検討しています。 ウインドウズは7が3台XPが2台です。 ここで質問ですが、SQLseverExpressにもバージョンがいくつかありますが、現在の構成でお勧めのバージョンがあるでしょうか? 現在Access2003で運用しているので、単純にアップサイジングする場合はSQLseverExpressがいいのかなと考えた次第です。 諸般の事情により、無償のデータベースのみを視野に入れて検討していますので、もしOracleやMySQLといった他の無償データベースがいいのであれば、理由も添えて教えていただけるとうれしいです。 また、現在の状況や情報が不足しているようであればご指摘ください。 Access以外のデータベースソフトはまったく経験がありません。 アップサイジングを一から勉強していきたいと思っています。 よろしくお願いします。