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

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

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

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

SQL

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

Q&A

解決済

2回答

2213閲覧

Updateを持たないDBは有りますか?

kohashi

総合スコア158

NoSQL

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

SQL

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

0グッド

0クリップ

投稿2016/10/07 05:39

うろおぼえの質問で申し訳ないのですが、なにか、とあるDBMSの内部構造で

いわゆるUpdate句が無い。Updateに見えるようなものは内部的にはInsertで、Select時に履歴最新のものを取ってくるようになってる」ような実装のものはありますか?

確か比較的最近登場したもので、そもそもRDBだったかNoSQLだったかも覚えてないのですが、気になっています。

ご存知でしたらどうか教えてください

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

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

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

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

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

guest

回答2

0

ベストアンサー

PostgreSqlですみませんが。

PostgreSQLのアーキテクチャは、追記型アーキテクチャを採用しています。ある行にUPDATEすると、既存の行に変更情報を書き加え、更新内容の行を新たに追記して書き込みます。
なのでUPDATEもINSERT同様に追記されます。データの参照整合性は、これ(新,旧)を使って実現しています。VACUUMすると必要なくなった行は削除されます。

ご質問のUPDATE句が無いには該当しませんね、失礼しました。

投稿2016/10/07 08:48

編集2016/10/07 08:54
A.Ichi

総合スコア4070

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

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

KiyoshiMotoki

2016/10/07 09:05

横から失礼します。 > ご質問のUPDATE句が無いには該当しませんね 私は、ご質問に対する回答として相応しいと思いますよ。 私には、このご質問の主意は 「UPDATE コマンドを実行しても、内部的には INSERTが実行されているDBはあるか」 だと読めますので。
A.Ichi

2016/10/07 09:09

私も最初総読めましたので書きましたが、後でUPDATE句を使わないデータベースが存在するかも知れないと思い誤解されるといけないので。
KiyoshiMotoki

2016/10/07 09:15

返信ありがとうございます。 > 後でUPDATE句を使わないデータベースが存在するかも知れないと思い なるほど、了解しました。
kohashi

2016/10/13 02:08

ありがとうございます。 PostgreSQLの内部構造の話だったんですね! A.Ichiさんの回答が求めていたうろおぼえの記憶と合致、検索で色々出てきました。ありがとうございますm(_ _)m 「追記型アーキテクチャ」という単語のおかげで、色々調べることができました。 実際に私がうろおぼえの原因になったのは、AuroraDBの話で、ログストラクチャードストレージの話から始まり、恐らくPostgresに話が行き・・・というようなものでした。 本当にありがとうございます。 > KiyoshiMotokiさん、A.Ichiさん 「Update句が無い」という私の書き方が良くなかったですね…。「Update句はあるが、実行しても内部的にはUpdateではなくInsertのような機構が走る」と書くべきでした。
guest

0

こんなとこを参考に。

投稿2016/10/07 06:02

Orlofsky

総合スコア16415

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

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

kohashi

2016/10/07 07:12

NoSQLではデータの更新をせず、単に新しいレコードを作ることで代用する運用、ですよね。 DynamoDB等ではWrite費用より保存費用のほうが安いからそういう選択肢をとりえますよね。 うろおぼえの記憶だと、内部構造がそうなってて暗黙的にそのような(上記のような)構造になってるか、あるいは明示的に指定するだけでできるような気がしていたけど、この話の勘違いだったのかなぁ…
Orlofsky

2016/10/07 09:11

うろ覚えでも、記憶をたどって覚えているキーワードでぐぐればそれなりの情報は拾えます。 NoSQLとは?RDBMSと比較しながら分かりやすく解説 https://academy.gmocloud.com/qa/20160509/2284 それぞれの得意な部分でRDBMSとnoSQLを使い分けましょう、ってことです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問