ランダムアクセス

summary:

ランダムアクセス[Random Access]とは,記憶装置やデータ構造において,データの格納位置に依存せず,任意のアドレスに直接アクセスできる方式である.

ランダムアクセスの大きな特徴の一つは即時アクセスが可能である点であり,データの物理的な配置に関係なく,理論的には一定の時間でアクセスできることである.例えば,メモリアドレスを指定すれば即座にデータを読み書きできる.加えて,アクセス時間が比較的均一であるという特性も有する.記憶装置内のどの位置にあるデータにも同程度の時間でアクセス可能であり,メモリ[RAM]ではほぼ均一なアクセス時間が実現される.但し,HDDSSDでは物理的な制約や内部アーキテクチャの影響を受けるため,完全な均一性は保証されない.

ランダムアクセスを実現するハードウェアとしては,DRAMSRAMといった半導体メモリを用いたRAM[Random Access Memory]が代表的である.また,HDDSSDといったストレージデバイスランダムアクセスが可能だが,HDDシーク時間ロータリー遅延の影響を受けるため,アクセス時間にばらつきが生じる.SSDウェアレベリング内部キャッシュの状態によってアクセス時間が変動することがある.一方で,CPUキャッシュメモリランダムアクセスによって高速なデータ取得を実現している.

この方式はデータ構造にも適用されており,例えば配列[Array]ではインデックスを指定することで即座に特定の要素にアクセスできる.また,*ハッシュテーブル[Hash Table]においては,キーハッシュ関数で変換することで直接データにアクセス可能である.一方で,リンクリスト[Linked List]のようなデータ構造は先頭から順番にたどる必要があるため,ランダムアクセスには適していない.他にも,木構造[Tree]の場合は完全なランダムアクセスではなく,ルートから目的のノードまでたどる必要があるが,バランスの取れた木構造では対数時間でのアクセスが可能である.

参照

Mathematics is the language with which God has written the universe.





















ops:byte比 ルックアサイド型アクセラレータ インライン型アクセラレータ シーク シーケンシャルアクセス Hadoop