No.4ベストアンサー
- 回答日時:
MySQLの中の人です。
InnoDBの堅さについて回答したいと思います。InnoDBはディスク関連のオブジェクトとして、テーブルスペースとログファイルを作成します。この点は一般的なRDBMSと同じですね。トランザクションをコミットしたときにはログファイルへfsync()でされますので、コミット済みであればマシンが転けても再起動後にリカバリ処理によってデータが復活します。(ただし、一部の内蔵SATAディスクではキャッシュメモリが搭載されており、ライトバックモードで使っていると、OSが書き込んだはずのデータが電源が飛んだときなどに消えてしまう危険性があり、注意が必要です。ちゃんとRAID装置などを使っていれば問題ありませんが。)
テーブルスペースへの更新には「ダブルライト」という技術を使って堅牢製を高めています。要するに、2度同じ情報を別の領域に書き込むことにより、テーブルスペースが壊れないようになっているのです。(一度目をダブルライトバッファへ、二度目を本番の領域へ書き込みます。リカバリ時にはダブルライトバッファの中身が壊れていればダブルライトバッファを破棄、本番の領域が壊れてればダブルライトバッファで上書き。)
従ってInnoDBでは、ディスク(またはファイルシステム)が壊れない限りはデータが消失しないような作りになっています。(データ破壊が起きるバグが存在する可能性はありますが、最近そのような事例は報告されていません。)つまり、DBMSとして非常に真っ当な作りになっているということです。MySQLに足りないのは堅牢製や性能ではなく、複雑な機能(パッケージや集計関数、監査など)でしょう。単に「リレーショナル」なデータベースとして使うだけであれば、他のRDBMSに引けをとることはありません。(Railsなどのフレームワークを利用する場合はなおさらです。)
また、MySQLには標準でレプリケーション機能が備わっており、本番機がクラッシュして使用不能に陥ったとき、スレーブでサービスを再開するという使い方が可能です。バージョン5.1のレプリケーションは非同期ですが、最新の開発版であるバージョン5.5には準同期型(ログシッピングは同期するが、テーブルへの反映は非同期)が実装されており、実質的にレプリケーションをHA用途で使えるようになっています。
さらに安心が欲しければ、MySQLの商用サポートがあります。商用環境で利用される場合には、サポートを購入して頂ければしっかりサポート致しますのでご安心ください。
中の人にお答えいただき有難うございました。
>従ってInnoDBでは、ディスク(またはファイルシステム)が壊れない
>限りはデータが消失しないような作りになっています
InnoDBがそんなにしっかりした作りだとは思ってませんでした。
しばらくはオラクルと二重運用してみます。
No.3
- 回答日時:
実は、わたしも、あなたと似たような状態です。
使ってみた感じでのわたしなりの感想は、オラクルの方が明らかに整って見えるのは、
ロール
full outer join
ロックの扱い
クラスタ化
パーティーション周り
interMEDIA等の周辺ライブラリー群
オブジェクトデータベース
データマイニング関係
あたりかなぁという感じです。
クラッシュ時のデータベースの保護という意味では、やはりオラクルの方が堅牢なようですね。InnoDBのリカバリー性は、どうやら、OSの挙動に依存している気配があります。(遅延書き込みを全面的に停止すれば、あるラインまでいけるかな。)
まぁ、私用で使う分には、MySQLで十分すぎるくらい。少々のデータ量なら持ちこたえそうですし、ユーザーが少なければ、ロールなんて無くても運用可能だし、同一データベースを何個ものプログラムで同時走査することもそう無いし。データマイニングが本当に必要なほどの解析業務もないし。ある程度のバックアップが確保できていれば、あぁ~あやっちゃったとあきらめがつくレベルには堅牢だと思います。周辺ライブラリーやオブジェクト周りは、それこそ、アプリ側で吸収できますしね。
業務で使う段で、且つ、データの損失がお金に換算される世界になると、ちょっとやっぱり手を出すのは控えるかしら。さもなくば、障害の際の損失に対する対策を確実に外部でサポートすることが求められると思います。ユーザーが多くなり権限が複雑になると、ロールがないのは堪えそうかな。
フルアウタージョインのサポートは、私としては少し痛かったです。まぁ、代換え手段も無くはないですが・・・いかんせん、これは面倒ですね。MySQLで、将来サポートされることを祈りたいです。
No.2
- 回答日時:
何に使うかですよね。
金融系のプロジェクトだったら(例え小さな案件でも)MySQLは使わないと思います。
(社内の情報系くらいならともかく)
逆に「例え飛んでもバックアップから半日くらい後には戻せます」程度の要件なら、MySQLでも十分です。
mixiのような巨大なデータを扱うプロジェクトにも使われていますよ。
http://techtarget.itmedia.co.jp/tt/news/0709/12/ …
但し、サン・マイクロシステムズがORACLEに買収された今、MySQLの持ち主はORACLEと言う事になります。
あまり気にする必要はないのかもしれませんが、今後、ずっと「オープンソース」足り得るのか、は微妙なところです。
みなさん、ご回答ありがとうございました。
確かに、○拾万円する商用DBと、GPLソフトを比較するのには無理がありますね。
もし、両者に差がないなら裁定原理が働いて、オラクルも相当お安くなるはず。
ま、そうならないようにしたということですか..
No.1
- 回答日時:
dbと言えばオラクルと言われ続けてきた商用ソフトと、無償バージョンで実績を積んできたMySQLを比較することが無理な気がします。
商用dbで比較してもオラクルが優れている点は「ロック」が確実に行えることだと思います。
MySQLと正しく書きましょうね
http://www.mysql.gr.jp/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- Excel(エクセル) 皆さん日々の仕事でExcelを使用してると思いますが 5 2023/02/05 18:53
- その他(占い・超常現象) タロット占いで『成功の女神』や『苦悩』や『勇気』等があるカードは何のカードですか?オラクルとか? 1 2023/07/07 15:10
- 会社・職場 堅い話し方ってどう思いますか?? バイト先での連絡のLINEの文章が堅苦しいと指摘されます。私自身、 4 2022/04/06 12:21
- 格安スマホ・SIMフリースマホ おすすめのsimフリースマホを教えてください 3 2022/11/07 23:18
- 電車・路線・地下鉄 亀有駅から上野駅に行くのに不満なのは北千住駅が原因ですか? 3 2023/05/31 15:05
- レディース オフィスカジュアルについて 1 2022/06/30 14:30
- 写真 ご意見ください。 現在、新しいカメラの購入を考えていて、予算とスペックのバランスを考えて、α7III 2 2023/02/27 22:08
- 会社・職場 預からせてください、と言ったとき 4 2023/01/22 15:48
- カスタマイズ(車) いわゆる「テレビキャンセラー」について・・・・・ 7 2022/11/01 20:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
処理の途中で停止させ、再開さ...
-
【mysql : HTML】チェックボッ...
-
構文エラー : 演算子がありませ...
-
住所のDBテーブル、マスターの...
-
OracleからSQL Server 7.0への...
-
Accessでレコード削除ができな...
-
ACCESSで容量が50MBになった...
-
クロス集計されたデータを元に...
-
Accessのテーブルデータを一気...
-
Accessでデータシートに同じデ...
-
男性と2人で飲食店に行きテーブ...
-
テーブルにcsvファイルをインポ...
-
エクセルで都道府県、市区町村...
-
vers か a か(フランス語)
-
バイキングのトレーの形
-
このテーブルで
-
SQLです!!教えてください。あ...
-
お金持ちのテーブル
-
特定物と不代替物の違い
-
Notion@リレーション値の取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでデータシートに同じデ...
-
Accessのテーブルデータを一気...
-
テーブルで一番古いレコードだ...
-
ビューのソートについて
-
Oracleで上書きImportはできま...
-
結合テーブルでINSERTする方法...
-
accessでレコード更新直後の反...
-
このISAMでは、リンクテーブル・・
-
アクセス レコードセットを更...
-
重複クエリを使ったデータ削除
-
処理の途中で停止させ、再開さ...
-
マテリアライズドビューとスナ...
-
同一テーブルのデータを参照し...
-
ERROR1062:Duplicate entry.......
-
「クリップボードにコピーされ...
-
ORA-01401が表示され、データが...
-
ACCESSで容量が50MBになった...
-
Accessでの稼働日数計算の方法
-
構文エラー : 演算子がありませ...
-
MS Accessを共有した際にファイ...
おすすめ情報