skillup

技術ブログ

Database

DBの構造について メモリとHDD

投稿日:

データベースについてまたまた学習中。

覚えておきたいポイントなど。

  • データを収めておくべき媒体では「記憶コスト(単位金額当たりの容量)」と「アクセス速度」の2つが重要なパラメータ
  • メモリとHDDでは前者はアクセス速度が速く、後者は記憶コストが低い
  • SQLが遅いことの原因はディスクOが大きいことによるため、メモリに存在するデータだけで結果が返せると非常に速い。
  • このようにパフォーマンス向上を目的として、データを保持するメモリをバッファやキャッシュという
  • DBMSがデータを保持するために使うメモリは大きく「データキャッシュ」と「ログバッファ」「ワーキングメモリ」がある。
  • データキャッシュはディスクにあるデータの一部を保持するためのメモリ領域。主に検索系で使用される
  • ログバッジョは更新処理の実行に関連する。更新SQLはすぐに処理を実行するのではなく、一度このログバッファ上に情報をため、あとでまとめて処理を行う。
  • ともにパフォーマンス向上のためにこれらは行われる。データの整合性とパフォーマンスは一般的にトレードオフ。
  • DBMSは検索を目的として作られたシステムなため、一般的にデータキャッシュのほうにメモリがたくさん使われる。
  • ワーキングメモリはソートやハッシュなどで使われる。
  • データベースが実際にクエリを受け取り、検索するまでの流れは下記URLを参考に。
    http://skill-up-engineering.com/?p=1758
  • データ量の検索はフルスキャンとインデックススキャンがあり、前者はデータと検索速度が正比例にあるが、後者は対数関数的になる。

参考文献
SQL実践入門

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

persistence.xmlのプロパティについて

JavaEEではデータベースとの設定情報はpersistence.xmlに記述します。 (ユーザー名、パスワード、ポート、driver名、データベース名などの情報はglassfish-resource …

no image

SQL基礎 条件式はunionよりもcaseで

複雑な条件式があったときにcase式を使うことでパフォーマンスを向上させることができます。 ※一般にunionを使うよりも高速なことが多い。 例1 ある条件により別の列を使いたいとき、 [crayon …

no image

論理設計のグレーノウハウ サロゲートキー

前回まではアンチパターンやバッドノウハウについて学習してきましたが、今回はグレーノウハウについて特集します。 グレーノウハウとは読んで字のごとくホワイトともブラックとも言えないという手法ですね。 つま …

no image

MariaDBインストール

CentOS7からはyumでmysqlをインストールするとMariaDBがディフォルトになるようです。 せっかくなので、これを機にMariaDBを使ってみました。といってもMySQLとほとんど一緒でし …

no image

O/Rマッパー iciqlについて

以前、このブログでも紹介したO/Rマッパーのiciqlについて、使い方や問題点がある程度わかったので書いておきます。 Contents1 インストール2 自動生成3 注意点3.1 Date型のインポー …