• ベストアンサー

RDBは何故分散困難なのか

リレーショナルデータベースは分散化が困難と言われ、最近の大規模データストアではKeyValueStoreが優勢だと聞きます。 特にテーブル結合や更新処理が難点だとも聞くのですが、その原理を解説しているサイトは見当たりません。 この点につきまして、ご説明をいただくか、もしくは参考になるWebサイト等をご教示下されば幸いです。 よろしくお願い致します。

  • i_110
  • お礼率60% (28/46)

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

  • ベストアンサー
回答No.1

以前たまたま読んだことがあった記事のURLを、参考URLにはりました。

参考URL:
http://www.atmarkit.co.jp/fjava/rensai4/bigtable01/01.html
i_110
質問者

お礼

ありがとうございました。 以前に見たことのあるページだったのですが、ここにあるCAP定理というキーワードから文献を辿ることで希望の情報のありつくことができました。 感謝しております。

関連するQ&A

  • cakePHPでRDBMSを扱うには

    最近cakePHPとデータベースの勉強を始めました。 そこでリレーショナルデータベースを用いてテーブルを結合していく作業をcakePHPではどのように書けばよいのかわからないので具体的な例をあげていただけないでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • オブジェクトデータベースを導入する場合どんなものが良いでしょうか

    現状のWebサイトを刷新させようとしていますが、現在利用しているデータベースはMySQLでできているそうです。 しかしこの手のリレーショナルデータベースは修正に弱いので問題だということで、 それに代わり、オブジェクト指向型のデータベースへ切り替えられないかという声が上がっております。 そこで質問ですが、オブジェクト指向のデータベースを導入するにあたり、どんなものを採用するのが良いのでしょうか? オブジェクト指向データベースならば「AAA」というものを採用するのがベストだ、とか、 これまでのリレーショナルデータベース(MySQL)のテーブルの生データが使えなくなっては困るので、「BBB」というOR Mappingを利用すると最適だ、とか そういったことを知りたいと思っております。 宜しくお願い致します。

  • 他のDBのテーブルと内部結合が可能でしょうか

    他のDBのテーブルと内部結合が可能でしょうか sql sever 2005 を使用します。このたび、データベースAのテーブルaを定期的に検索するsqlを作成することになりました。このsql文は、ストアードプロシージャとして登録予定です。 その際、テーブルbを内部結合で参照します。例として、テーブルaは社員番号があり、テーブルbは社員番号、社員名があります。(テーブルbは社員マスター) テーブルaを参照し、その社員名を内部結合(INNER JOIN)で取り出します。 ここで、テーブルa,bが共に、同じデータベース内にある場合は、問題ないのですが、 テーブルbは、別のマシンのsql sever 上にあります。(したがって、データベース名も異なります) このような状態で、内部結合による参照は可能でしょうか? また、内部結合ができないまでも、ストアードプロシージャで、データベースAのテーブルaを参照しながら、別のマシンのデータベースBのテーブルbを参照することは、原理的に可能でしょうか。 なお、データベースは共にsql server 2005を使用します。

  •  テーブルA(主キー有り)とテーブルB(主キー有り)をLEFT OUT

     テーブルA(主キー有り)とテーブルB(主キー有り)をLEFT OUTER JOINで外部結合したテーブルが 読み取り専用になっていて、データの更新ができないのですが、更新出来る方法が解らずに、困っていま す。この結合したテーブルのデータを更新できるようにするにはどのようにすればよいのでしょうか、お助け 願います。 SQL SERVER 2008 EXEPRESS EDITION をインストールしたPCからSQL 2000 serverのデータベースに アクセスしています。

  • JSPの使用

    現在困っているのです・・ HTML内にJSPを書いてDB2のテーブルが更新されたらその都度WEB上の画面に反映されるようにしたいのですが、 今はHTMLの画面があり、データベースも作っていますがJSPを書いて画面のテーブルの項目欄にデータベースのテーブルの値を入れるのがわかりません。 WSADを使用していますが、DB2を扱ったサイト等もなかなか探せなかったので質問させていただきました。

    • ベストアンサー
    • Java
  • Perlで動くCMSを探しています。

    XOOPSのようなCMSでサイトを作りたいのですが、契約しているプロバイダがPHPをインストールしていないので、Perlで動くCMSを探しているんですが、なかなか見つかりません。 ご存知の方がいたら、教えていただけないでしょうか? データベースを使用しないものだと、なお助かります。(あまり大規模なものではなく、ちょっとした更新に使います。でもテーブルの自動生成はほしいです) ちなみにPerl5です。

    • ベストアンサー
    • CGI
  • SQLiteファイルへの同時アクセス過多によるロックについて

    PHP5.0+SQLite2.8でユーザー投稿型のサイトを個人運営しています。 1日数万ページビューほどの規模で、 データベースのテーブルのレコード数は数万件、 1レコードあたりのカラム数は数十件ほどあり、 そのテーブルに1日数百件の投稿があります。 それらのデータは随時更新・削除・検索されます。 データベースファイルへのINSERT、UPDATE、DELETE、SELECTなどが重なると 「database is locked」とのエラーメッセージが表示され、 それからもずっとユーザーによるデータベースへのアクセスが続くため、 データベースへのアクセスがしづらい、 もしくはまったくできない状態が延々と続いてしまいます。 SQLiteではトランザクション中にファイル全体がロックされるため こうした現象が発生するようですが、 この状態を元に戻す方法はないのでしょうか? ファイルをいったん削除してアップロードしなおすと直るのですが、 ファイルのアップロードには時間がかかるため、 他にいい応急措置の方法がないものかと悩んでいます。 それから、そもそもこの規模のサイトでデータベースを運用するには SQLiteでは限界があるのでしょうか? 仮に他のデータベースに乗り換えるとしたら、 こうした頻繁に書き込み・更新・削除などが行われるサイトでは どのデータベースを利用すべきでしょうか? それともこの程度の規模であれば、 スクリプトを改善することでSQLiteでも対応可能なレベルでしょうか? なにぶんデータベースに触れて間もないもので知識不足ですが、 どなたか詳しい方にご教授いただければ幸いです。

  • 過去データに対するデータベースのクエリの実行の仕方

    こんにちは。アべです。 データの処理でリレーショナルデータベースを使用しようとしております。 そこで、台帳(例えば顧客台帳)をマスタ登録して使用するのですが、 下記のことがクエリでは出来ずに困っています。 やり方のヒントでもよろしいので教えていただけないでしょうか? ・過去に戻って、トランザクション処理を再実行する際に過去の その時点の台帳情報を引っ張りたい。 (テーブルに時間指定でクエリを投げる方法がわからない。) ・その台帳の情報を確認したい。 (単純に台帳の過去を知りたい。 トリガで更新処理のログを残す手間なやり方しか思い浮かばない。) 本をみてもリレーショナルデータベースに時間軸の概念がないような 気がしております。 (一応調べて見て、スナップショットデータベースがあり、これだと ある特定の時点しか取れず、しかも事前に用意しておかなければならず、 いまいち今回のパターンだと使えないと考えています。) 環境 SQL Server 2008 Service Pack 1 宜しくお願い致します。

  • Accessで「クエリーが複雑すぎます」というエラーで……

    詳細を書くのが困難なのですが、20個程度のテーブルを1対1のリレーションシップで結合しています。 各テーブルにおいてクエリーで計算(足し算)をしているのですが、そのたし算部分の結果を再度、選択クエリにて表示しようとすると、タイトルのように「クエリーが複雑すぎます」と表示され、うまくできません。 おそらく、データベースの設計を根本から見直すのが賢明だと思いますが…… なお、使っているバージョンは2002です。

  • データベース(xxx.mdf)の更新処理ができない

    Microsoft visual Web Developerを使ってWebサイトを作っています。 IISからサイトにアクセスし、データベース(xxx.mdf)の更新処理を行なうと、以下のエラーになります。 ******************************************************* データベース "C:\xxx\APP_DATA\aaa.MDF" を更新できませんでした。データベースが読み取り専用です。 ******************************************************* Microsoft visual Web Developerを使い始めたばかりなので、よく分からないのですが、データベースのアクセスを設定できるのでしょうか? それとも、IISの設定がおかしいのでしょうか? デバッグモードでは問題なくデータベースを更新できます。