skillup

技術ブログ

Database

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

投稿日:

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

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

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

参考文献
SQL実践入門

-Database
-

執筆者:


comment

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

関連記事

no image

SQLで数列を扱う

今回はSQLで数列を扱ってみましょう。 例えば下記のような0から9までの数字が書かれている数列があったとして、 これにより連番を作成してみましょう。 digit ——- 0 1 …

no image

Webの高速化に関して

Webの高速化に関してメモ。 高速化って言っても幅広いんですけどね。自分が行なっている対策に関して。 一応LAMP環境を前提にしてます。 Contents1 一番大事なのは測定2 DB対策3 フロント …

no image

Postgres リモートホストからの接続他

今まで使ってきたデータベースはMySQLがほとんどなのですが、最近少し、Postgresを触っています。 今回はパスワードの設定とリモートからの接続など。 Contents1 postgresへのログ …

no image

EXISTSと集合

前回に引き続きEXISTSの問題です。 下記のようなテーブル(projects)があり、 project_id | step_nbr | status ———&#8 …

no image

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

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

アーカイブ