🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
NoSQL

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

SQL

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

Q&A

解決済

2回答

1914閲覧

NoSQL(列指向DB)を使用するのかどうか

ya92

総合スコア9

NoSQL

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

SQL

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

0グッド

3クリップ

投稿2021/02/18 22:14

データベースに関して初心者ですが、勉強しているところです。

データベースを考える中で、従来のSQLとするのかNoSQL(列指向DB)とするべきなのか
その基準を教えてください。

  • 従来のSQL:データ更新や追加には強いが、集計や分析は遅い
  • NoSQL(列指向DB):集計や分析は速いが、データ更新や追加には向かない

という関係性なのかと考えています。
そうしたときに、一般的には、「どのくらいの容量、速さを求められるとNoSQLを選ぶべき」
といった基準指標はあるのでしょうか。

管理の容易さなどで選ばれる場合もあるようですが、具体的にこのくらいの容量・速さというものをお教えいただけると非常にわかりやすくて助かります。

初歩的な質問で申し訳ありませんが、よろしくお願いします。

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

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

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

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

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

hentaiman

2021/02/19 15:56

「従来のSQL」と「NoSQL(列指向DB)」の特徴はどこから得た情報ですか?
ya92

2021/02/22 07:48

すみません。 具体的にどこでというのはないのですが、SQLとNoSQLのメリット・デメリットをいろいろと調べていた中で出てきた情報をまとめていました。
hentaiman

2021/02/22 08:44

いえ、すみませんという事は特にないんですが、質問文章通りDBのシステムではなくてSQLでの比較をしたいのか、それとも実はDBの比較をしたいのかが謎だったので情報の出元を聞きたかったんですが、分からない事が分かりました。
guest

回答2

0

ベストアンサー

一般的には、「どのくらいの容量、速さを求められるとNoSQLを選ぶべき」といった基準指標はあるのでしょうか。

容量は利用者には関係ありません。利用者が求めるのは速さの方です。

NoSQLデータベースを使い始める前に

RDBMS登場当初、処理性能向上のために余分なディスク入出力をできるだけ減らすことは今よりもずっと大きな効果がありました。今ほどネットワークも発達しておらず「複数のサーバにデータを配置する」というアイデアは検討する価値もありませんでした(注1)。このような状況では「One fact in one place(1つの事実は、1つの場所に)」というRDBMSの考え方は理にかなったものでした。

しかし、データの保存場所が単一のサーバからネットワークに分散する複数のサーバへと移りつつある現在、今度はネットワークの速度が新たなボトルネックになったのです。この限界を打ち破るべく登場したのがNoSQLデータベースというわけです。

 NoSQLデータベースでは、分散環境で高い処理性能を発揮することを念頭に置いて設計してあるので、その多くはRDBMSのように多機能な(=複雑な)データ検索の機能を備えていません。

分散まで視野に入れているなら、NOSQLも検討する必要があるでしょうけど、初心者という事ならNOSQLは気にせずRDBMSから入られた方が良いでしょうね。

投稿2021/02/19 00:39

sazi

総合スコア25327

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

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

ya92

2021/02/19 02:17

ありがとうございます。 速さに加えて分散というところもポイントになるのですね。 どちらにせよ、通常はSQLで十分ということ理解しました。
sazi

2021/02/19 02:34

容量が大きくなり、分散せざるを得なくなった時の選択肢としてNOSQLがあると考えて下さい。 なので、最初から大容量を想定するのであれば、NOSQLも検討が必要ですけど、それには経験値が必要です。
guest

0

おそらくその悩みを持っている時点でSQLでまだ十分だと思います
データ量が億単位になったらNoSQLを検討してみて下さい

投稿2021/02/19 00:08

yambejp

総合スコア116690

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

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

ya92

2021/02/19 02:16

ありがとうございます。 億単位のデータを扱いたいなど明確な目的を持っていない限り、SQLで十分ということですね。
hentaiman

2021/02/19 16:01

> 億単位のデータを扱いたいなど明確な目的を 判断基準のひとつとしてその時点で検討してみてはどうかと書かれているだけで、億のデータを使う事を目的としてNoSQLを選んでみてはどうかという回答では無いと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問