Amazon RDSの解説(AWS認定クラウドプラクティショナーシラバス用語)
Amazon RDSとは Amazon RDS(Relational Database Service:リレーショナル・データベース・サービス)は、AWSクラウド上でリレーショナルデータベース(RDB)のセットアップ、運用、およびスケーリングを簡単に行うことができるフルマネージドサービスです。リレーショナルデータベースは、Excelの表のように「行」と「列」で整理されたデータを扱う、現代の業務シス...
Django、Python、AWS、Linux、セキュリティ、CVE、基本情報技術者、応用情報技術者、ITパスポートの用語を、図解と実務手順で解説します。個人開発kurutann.comの検証記録や障害対応事例も公開しています。
タグ「データベース」の記事を表示中× クリア
Amazon RDSとは Amazon RDS(Relational Database Service:リレーショナル・データベース・サービス)は、AWSクラウド上でリレーショナルデータベース(RDB)のセットアップ、運用、およびスケーリングを簡単に行うことができるフルマネージドサービスです。リレーショナルデータベースは、Excelの表のように「行」と「列」で整理されたデータを扱う、現代の業務シス...
Amazon DynamoDBとは Amazon DynamoDB(アマゾン ダイナモディービー)は、AWSが提供する、いかなる規模においても1桁ミリ秒単位の超高速で一貫した応答パフォーマンスを提供する、フルマネージド型のNoSQL(非リレーショナル)データベースサービスです。リレーショナルデータベース(RDSなど)のように、複雑なテーブル結合(JOIN)や厳密なデータスキーマ(表の形)を定義する...
第3正規形とは第3正規形とは、リレーショナルデータベース(RDB)の設計において、データの重複や不整合を防ぐために、テーブル(表)を分割して整理するステップ(正規化)の一つです。データベース設計では、ある値が決まると他の値が自動的に決まる「関数従属」という関係を整理します。第3正規形では、「主キー(その行を一意に特定するID)」以外の項目同士に依存関係(推移的関数従属)がある場合、それらを別のテー...
多対多の関連とは多対多の関連とは、データベース設計において、テーブルAの1つのデータに対してテーブルBの複数のデータが対応し、同時にテーブルBの1つのデータに対してもテーブルAの複数のデータが対応するような関係性のことです。リレーショナルデータベースでは、「多対多」の関係を直接テーブル同士で繋ぐことができません。もし直接繋ごうとすると、データが重複したり、検索が著しく困難になったりします。そのため...
直列化可能性とは直列化可能性(シリアライザビリティ)とは、データベースにおいて複数の処理(トランザクション)が同時に(並行して)実行された結果が、それらを1つずつ順番に(直列に)実行した場合と同じ結果になることを保証する性質です。データベースの処理速度を上げるために、システムは複数のユーザーからのリクエストを同時に並行処理します。しかし、同じデータに対して同時に書き込みや読み込みを行うと、データの...
2相コミットとは2相コミット(2フェーズコミット)とは、複数のサーバーに分散しているデータベース群において、データの更新処理(トランザクション)を行う際、すべてのデータベースで一斉に更新を確定(コミット)させるか、あるいは一斉に取り消す(ロールバック)かを厳密に揃えるためのプロトコル(ルール)です。システムがいくつかのサーバーに分かれている場合、一部のサーバーだけ更新に成功し、別のサーバーが通信エ...
デッドロック検出とはデッドロック検出とは、データベースなどで複数の処理がお互いに相手が使っているデータの解放を待ち合ってしまい、処理が完全に停止(フリーズ)してしまう「デッドロック」という状態を、システムが自動的に見つけ出す仕組みのことです。データを書き換える際、他の処理に邪魔されないようにデータに鍵をかける「ロック」を行います。2つの処理がそれぞれ異なるデータにロックをかけた後、お互いにもう一方...
レプリケーションとはレプリケーションとは、データベースやサーバーのデータを、ネットワークを経由して別のコンピュータにリアルタイムで複製(コピー)し、常に同じ状態のバックアップ(複製)を維持しておく技術のことです。この技術の主な目的は「信頼性の向上」と「負荷の分散」です。万が一、メインのデータベースサーバーが物理的な故障や災害で停止してしまっても、複製されたサーバーが即座に処理を引き継ぐ(フェイルオ...
シャーディングとはシャーディング(水平分割)とは、データベースの規模が大きくなりすぎた際に、1つの巨大なテーブルに保存されているデータを、行単位(横方向)で細かく分割し、複数の異なるデータベースサーバーに分散して保存する技術です。データ量が数億件に達すると、いくらサーバーの性能を上げても検索や書き込みに時間がかかるようになります。シャーディングでは、例えばユーザーIDの奇数・偶数や、住んでいる地域...
関係データベースとは 関係データベース(RDB)は、データを縦の「列(カラム)」と横の「行(レコード)」で構成された、二次元の「表(テーブル)」の形式で整理して管理するシステムです。複数の異なる表を、共通する特定の項目(キー)で関連付ける(リレーションを結ぶ)ことができるのが最大の特徴です。これにより、重複する不要なデータを排除し、データの不整合を防ぎながら、大量のデータをすっきりと整理して効率的...
SQLとは SQL(エスキューエル)とは、関係データベース(RDB)を操作するために設計された、世界共通の標準的なコンピュータ言語です。データベースの中に格納されている膨大なデータの中から、必要なデータを探して取り出したり、新しいデータを追加したり、既存のデータを書き換えたり、不要なデータを消去したりする指示をデータベース管理システム(DBMS)に対して出すために使われます。プログラミング言語のよ...
関係データベース(RDB)とは関係データベース(RDB:Relational Database)とは、データを複数の「表(テーブル)」の形式で管理し、その表同士を関連付ける(リレーション)ことで複雑なデータを表現する仕組みです。表は行(レコード)と列(フィールド)で構成されており、直感的に理解しやすいのが特徴です。現在、世の中のほとんどの業務システムやWebサービスで最も広く利用されているデータベ...
DBMS(データベース管理システム)とはDBMSとは「Database Management System」の略で、日本語では「データベース管理システム」と呼びます。大量のデータをコンピュータ上で安全、かつ効率的に共有・管理するための専用ソフトウェアです。ユーザーやアプリケーションからの要求に応じて、データの登録、更新、検索、削除などを行うとともに、複数の人が同時に同じデータを書き換えて壊してしま...
NoSQLとはNoSQL(Not Only SQL)とは、従来から主流だった関係データベース(RDB)以外のデータベース管理システムの総称です。RDBのような厳密な表形式(テーブル)やSQLという言語に縛られず、より柔軟な構造でデータを保存します。代表的な種類には、キーと値のペアで保存する「キーバリューストア」や、JSON形式の文書をそのまま保存する「ドキュメント指向」などがあります。RDBに比べ...
E-R図とはE-R図(Entity-Relationship Diagram)とは、データベースの設計において、扱うデータ全体の構造や関係性を視覚的に表現するための図です。データの実体である「エンティティ(Entity)」と、それらの間にある「リレーションシップ(Relationship:関連)」という2つの要素を箱と線で表します。システム開発の初期段階で、顧客やエンジニアが『どんなデータを保存す...
正規化とは正規化とは、関係データベース(RDB)を設計する際に、データの重複(むだ)を排除し、データの追加・更新・削除を行うときに不整合(矛盾)が発生しないようにテーブルを整理・分割する作業のことです。正規化には段階があり、テーブル内の1つのマス目に1つの値だけが入るようにする「第1正規形」、主キーの一部に従属するデータを別テーブルに分ける「第2正規形」、主キー以外の項目に従属するデータをさらに分...
主キー(プライマリキー)とは主キー(プライマリキー)とは、関係データベース(RDB)のテーブルにおいて、登録されているたくさんの行(レコード)の中から、特定の「1行を絶対に特定(識別)できる」ための特別な列(項目)のことです。主キーには重要なルールがあり、『同じテーブル内に同じ値が重複して存在してはならない(一意性)』『データが空(NULL)であってはならない』という特徴を持ちます。主キーを決める...
外部キーとは外部キーとは、関係データベース(RDB)において、あるテーブルの項目(列)が、別の関連するテーブルの「主キー」を参照している場合の項目のことです。これにより、テーブルとテーブルの間に正しい親子関係や繋がりを作ることができます。外部キーには「参照制約」というルールが適用され、親側のテーブルに存在しない値は、子側のテーブルの外部キー列に登録できないようにシステムで厳しく制限され、データの品...
インデックス(索引)とはインデックスとは、データベース内の特定のデータを高速に検索できるようにするための仕組みで、日本語では「索引」とも呼ばれます。データベースに登録されているデータが数十万件、数百万件と増えていくと、端から順番に探す(フルスキャン)のでは膨大な時間がかかります。インデックスを設定すると、データベース内に『どのデータがどこにあるか』を記録した「住所録」や「目次」のような索引データが...
SQLとはSQL(Structured Query Language)とは、関係データベース(RDB)にデータの検索や追加、更新、削除などを指示するために広く使われている標準的なデータベース操作用のプログラミング言語です。一般的なプログラム言語とは異なり、『データをどのように処理するか』ではなく、『どのようなデータが欲しいか』という条件(問い合わせ)を指示する特徴を持っています。ほとんどのWeb開...
SELECT文とはSELECT文とは、SQLの中でデータベースからデータを取得(検索・抽出)するために使われる最も基本的かつ重要な命令文です。テーブルから必要な列を選択する『SELECT』、対象のテーブルを指定する『FROM』を基本とし、条件を指定する『WHERE』、データをグループ化する『GROUP BY』、グループ化した後の絞り込みを行う『HAVING』、結果を並び替える『ORDER BY』な...
結合(JOIN)とは結合とは、関係データベースにおいて、2つ以上の異なるテーブルを共通の列(キー)をキーにして繋ぎ合わせ、1つの大きな表としてデータを取り出すSQLの操作です。結合には、双方のテーブルに共通して存在するデータのみを結びつける「内部結合(INNER JOIN)」と、片方のテーブルのデータをすべて残しながらもう一方のテーブルのデータを繋ぎ(存在しない部分は空欄になる)「外部結合(LEF...
副問合せ(サブクエリ)とは副問合せ(サブクエリ)とは、あるSQL文(メインの問い合わせ)の中に埋め込まれた、別のSELECT文(サブの問い合わせ)のことです。内側の副問合せが実行された結果が、外側のメインSQL文の検索条件などに渡されます。これにより、データがあらかじめ決まっていない場合や、動的に変化する数値を基準にして検索を行いたい場合に、1回の手続きで複雑な条件の検索を実現できるようになります...
ビューとはビューとは、データベース上に作成された「仮想的なテーブル」です。ビュー自体には実際のデータは保存されておらず、元となるテーブルから特定のデータを取得するSQLのSELECT文がビューの定義として保存されています。ユーザーから見ると通常のテーブルと全く同じように扱えます。複雑で長い結合処理などのSQL文を何度も書く手間を省くことができ、また不要な列(例えば個人情報など)を隠して一部のデータ...