Multimap とは

コンピュータサイエンスでは、マルチマップ(時にはマルチハッシュまたはマルチディック)は、複数の値が特定のキーに関連付けられて返されるマップまたは連想配列抽象データ型の一般化です。マップとマルチマップの両方がコンテナの特定のケースです(たとえば、C ++標準テンプレートライブラリコンテナを参照)。多くの場合、マルチマップはマップ値としてリストまたはセットを持つマップとして実装されます。

Content Addressable Parallel Processor とは

Content Addressable Parallel Processor(CAPP)は、Content-Addressing Memory(CAM)の原理を使用する一種の並列プロセッサです。 CAPPは一括計算用です。それらの計算アルゴリズムの構文構造は単純であるが、並行プロセスの数は非常に大きくてもよく、CAM内のロケーションの数によってのみ制限される。最もよく知られているCAPPは1972年に完成したSTARANです。いくつかの同様のシステムが後で他の国に建設された。
CAPPは、Von Neumannアーキテクチャや数値アドレスで個別にアドレス指定されたセルにデータを格納する古典的なコンピュータとはまったく異なります。 CAPPは、メモリセルの内容(記憶値)に基づいてメモリをアドレス指定する命令のストリームを実行する。並列プロセッサーとして、それはその内容を含むすべてのセルに一度に作用します。一致するすべてのセルの内容を同時に変更することができます。
典型的なCAPPは、固定語長のコンテンツアドレス可能なメモリの配列、シーケンシャル命令ストア、および周辺機器とのインタフェースに使用されるフォンノイマンアーキテクチャの汎用コンピュータで構成されてもよい。

Key-value database とは

キー値データベースまたはキー値ストアは、辞書またはハッシュとして今日よく知られているデータ構造である連想配列を格納、検索、および管理するために設計されたデータ格納パラダイムです。ディクショナリにはオブジェクトまたはレコードのコレクションが含まれ、各オブジェクトにはデータが格納されたさまざまなフィールドがあります。これらのレコードは、レコードを一意に識別するキーを使用して格納および取得され、データベース内のデータをすばやく見つけるために使用されます。
Key-Valueデータベースは、よりよく知られているリレーショナルデータベース(RDB)とはまったく異なる方法で動作します。 RDBは、データベース内のデータ構造を、明確に定義されたデータ型を持つフィールドを含む一連のテーブルとして事前定義します。データ型をデータベースプログラムに公開することにより、多数の最適化を適用できます。対照的に、キーバリューシステムでは、データを単一の不透明なコレクションとして扱います。このコレクションはすべてのレコードに異なるフィールドを持つ場合があります。これは、かなりの柔軟性を提供し、オブジェクト指向プログラミングのような現代の概念に一層密接に従います。ほとんどのRDBと同様に、オプションの値はプレースホルダでは表現されないため、キーバリューデータベースでは同じデータベースを格納するために使用するメモリが非常に少なくなるため、特定のワークロードで大きなパフォーマンスが得られることがあります。
パフォーマンス、標準化の欠如、およびその他の問題により、長年にわたってキー値システムがニッチな用途に限定されていましたが、2010年以降のクラウドコンピューティングへの急速な移行により、より幅広いNoSQLの動きの一環としてルネサンスがもたらされました。一部のグラフデータベースは内部的にキー値データベースでもあり、レコード間の関係(ポインタ)の概念をファーストクラスのデータ型として追加します。

Index mapping とは

コンピュータサイエンスのインデックスマッピング(またはダイレクトアドレッシング、または簡単なハッシュ関数)は、各位置が可能な値の世界内のキーに対応する配列の使用について説明しています。この手法は、可能なキーごとに1つの位置を持つ配列を割り当てることが手頃なので、キーの世界が合理的に小さい場合に最も効果的です。その有効性は、配列内の任意の位置を一定の時間内に調べることができるという事実から来ている。

Bidirectional map とは

コンピュータサイエンスでは、双方向マップまたはハッシュバッグは、 ( k e y , v a l u e ) {\displaystyle (key,value)} 対が1対1対応を形成する連想データ構造です。したがって、バイナリ関係は各方向で機能的です。 v a l u e {\displaystyle value} k e y {\displaystyle key} の鍵としても機能します。したがって、ペア ( a , b ) {\displaystyle (a,b)} は、 a {\displaystyle a} a {\displaystyle a} がキーとして使用され、 a {\displaystyle a} b {\displaystyle b} がキー。