質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
NoSQL

NoSQL(not only SQL)は、リレーショナルデータベース管理システムとは異なるデータベースシステムを指す言葉です。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

3回答

5256閲覧

なぜ RDBMS はスケールアウトが難しいのでしょうか?

afild

総合スコア14

NoSQL

NoSQL(not only SQL)は、リレーショナルデータベース管理システムとは異なるデータベースシステムを指す言葉です。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2020/04/20 00:57

RDBMS(リレーショナルデータベース)はスケールアウトが難しく、NoSQL はスケールアウトがしやすいとよく聞きます。

ただ、調べてみるとスケールアウトを難しくしているのは ACIDCAP 定理のような印象を受けます。また、NoSQL のスケールアウトを容易にしているのは BASE や DB 製品固有の機能 (e.g. MongoDB のシャーディング)のような印象も受けます。

思考実験的な質問で恐縮ですが、例えば、BASE 特性に沿った、シャーディング機能のある RDBMS (e.g. スキーマの事前定義、JOIN 機能、etc.)は定義上ありえないのでしょうか?なぜ RDBMS のスケールアウトは難しく、NoSQL のスケールアウトは容易なのか、細かい仕組みから解説している資料などご存知でしたら、教えていただけますと嬉しく思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

例えば、BASE 特性に沿った、シャーディング機能のある RDBMS (e.g. スキーマの事前定義、JOIN 機能、etc.)は定義上ありえないのでしょうか?

このようなものを作っても「あまり需要がない」ということかと思います。

  • RDBMS…厳格なスキーマと厳格なデータ一貫性
  • NoSQL…自由度のあるデータ構造と、ある程度のデータ一貫性

仮に「厳格なスキーマとある程度のデータ一貫性」のようなシステムを考えてみたとすると、「一貫性の破綻によって、スキーマも守れない」というような事態を招くことが考えられ、厳格なスキーマである意味がなくなりかねません。

投稿2020/04/20 01:20

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

afild

2020/04/20 01:39

早速のお答えありがとうございます!どのお答えもとても勉強になったのですが、ご質問に直接お答えいただいたこちらをベストアンサーとさせてください。でも、本当にどれもとてもありがたいお答えでした。
guest

0

古い資料ですね。
昨今では、それぞれの良いところを取り入れ、ハイブリッド化が進んでいます。
なので、スケールアウトを前提とした設計も可能ですよ。

最新の情報ではありませんが、傾向を表すものとして、以下を参考に。
RDBとNoSQLにみるDB近現代史 データベースに破壊的イノベーションは二度起きるか?

投稿2020/04/20 01:19

sazi

総合スコア25186

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

afild

2020/04/20 01:40

ご回答ありがとうございます!その辺り、それも可能なのではないかと思い始めていたものの、正確なところがわからず、ご質問させていただきました。ご丁寧にありがとうございます。
guest

0

投稿2020/04/20 01:13

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

afild

2020/04/20 01:43

ありがとうございます!こちらの質問は拝読したのですが、ちょうど私が気になっていた箇所が(多くの他の説明と同じように)所与のものとして扱われており、なぜ難しいのか、例えば、複数サーバーの同期などは NoSQL でも同様の問題に直面しそうだが、とのあたりがわからず、質問させていただきました >< >ですが、既存のRDBMSソフトウェアは、分散をあまりうまく処理できるようにはなっていません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問