データ (コンピュータ)
オブジェクト指向では、データとソフトウェアを理解するために2つの基本的な概念を使用する。
プログラムコードクラスの分類学的なランク構造(階層的なデータ構造の一例)。
実行時に作成される、クラスライブラリからインスタンス化されたオブジェクトのメモリ内データ構造に対するデータキー参照。
インスタンス化された後に初めて、指定されたクラスの実行オブジェクトが現れる。オブジェクトのキー参照がNullになると、そのオブジェクトが参照しているデータは(データキー参照がNullになるため)データでなくなり、したがってそのオブジェクトも存在しなくなる。そのオブジェクトのデータが保存されていたメモリ位置はガベージと呼ばれ、再利用可能な未使用メモリとして分類される。
データキーは、メモリ上の直接的なハードウェアアドレスを指すものである必要はない。間接的、抽象的、および論理的なキーのコードを値と関連付けて格納し、データ構造を形成することができる。データ構造には、その先頭から所定の偏差(またはリンクやパス)があり、そこにデータ値が格納される。したがって、そのデータキーは、構造体へのキーと、構造体の内部での偏差(またはリンクやパス)を加えて構成される。このような構造を繰り返して、同じ繰り返し構造内にデータ値とデータキーの組を格納すると、その繰り返し構造の各要素を列に、各繰り返し構造を行に見立てた、二次元の表のような結果を得ると考えることができる。このようなデータ編成では、データキーは通常、列の値の1つ(または複数の値の複合)になる。
最新のスケーラブルで高性能なデータ永続化技術は、高帯域幅ネットワークに接続された多数の量産コンピュータ間にまたがる超並列分散データ処理に依存している。その一例としてApache Hadoopがあげられる。このようなシステムでは、データは複数のコンピュータに分散されるため、システム内の特定のコンピュータを直接または間接的にデータのキーで表す必要がある。これにより、異なるコンピューターで同時に処理されている2つの同じデータセットを区別することができる。