ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

汎用検索ツリー

索引 汎用検索ツリー

汎用検索ツリー (GiST: Generalized Search Tree) はディスク上に木構造の検索機能を実現する データ構造 と API である。 GiSTはB+木を一般化したもので、並列実行性能が高くリカバリが可能な高さがバランスされた検索木のフレームワークを提供する。 また、保存できるデータ型や検索クエリに制限が無い。 GiSTは良く利用されるインデックス(B+木, R木, hB木, RD木 など)の実装に利用できる。 また、新しいデータ型に対して特化したインデックスを開発することも容易である。 ただし、GiST を使っても直接的には高さバランスではないツリー構造 (八分木やトライ木) を実装することはできない。 また、GiST は可逆および非可逆の圧縮をサポートしているが、各ノードのデータ型は同一でなければならない。 リーフにはノードとは異なる型を用いることもできる。 データ型と木の配置だけではなく、クエリの検索条件(演算子)も拡張することができる。 最も広く利用されているGiSTは、PostgreSQL 関係データベースにおける実装である。 また、Informix Universal Server でも外部ライブラリ libgist によってGiSTが利用できる。 データベースの観点では、GiSTはソフトウェアの拡張性の一例である。 データベースに対して新しい木構造のインデックスを追加することが容易になる。 アプリケーションごとの様々なインデックスの設計に対応できるよう、コアシステムから数個の API が外部に公開されている。 GiST のフレームワークはディスク上のインデックス・ページのレイアウトを管理する。 検索、削除、ページ単位ロック、高い並列実行性能、クラッシュ・リカバリのためのログ先行書き込み (WAL) のアルゴリズムなどの機能もフレームワークにより提供される。 そのため、新しい木構造インデックスの製作者はデータベース・システムの内部構造に関する知識が無くても新機能の実装(例えば、データからどのように特徴量を抽出するか)に注力することができる。 GiSTは、当初は厳密な検索だけを目的として設計されたが、近傍検索もできるよう拡張された。 また、巨大なデータセットから様々な形式で統計情報を取得することもできる。 PostgreSQL の GIST の実装は、可変長キー、複合キー、並行性制御、リカバリをサポートしている。 これらの機能は GiST をベースとするインデックスにも継承される。 GiST を利用して開発されたいくつかの貢献モジュールが PostgreSQL に添付され、提供されている。 以下に例を挙げる:.

22 関係: 並行性制御地理空間情報バイオインフォマティクストライ木データベースデータ構造アプリケーションプログラミングインタフェースソフトウェア全文検索八分木B+木B木索引補助記憶装置関係データベースInformix Dynamic ServerPostGISPostgreSQLR木Special Interest Group on Management of Data木構造 (データ構造)拡張性

並行性制御

情報技術および計算機科学における並行性制御(へいこうせいせいぎょ、Concurrency Control)または同時実行制御(どうじじっこうせいぎょ)とは、特にプログラミングとOSとマルチプロセッシングとデータベースにおいて、並行処理の結果が可能な限り素早くかつ正しく得られることを保証することである。 コンピュータシステムは、ソフトウェアもハードウェアも、モジュールまたはコンポーネントで構成される。各コンポーネントは何らかの一貫性規則に従って正しく動作するよう設計されている。コンポーネント間でメッセージをやり取りするか(記憶装置内で)データを共有して並行動作する際、あるコンポーネント間の一貫性が他のコンポーネントによって妨害されることがある。並行性制御の一般的な領域は、同時並行的に相互作用しながら動作するコンポーネント間の一貫性を保つための規則、技法、設計方法論、理論を提供し、結果としてシステム全体の一貫性と正確性を提供する。並行性制御をシステムに導入することは、一般に若干の性能低下を生じる操作上の制約を適用することを意味する。操作一貫性と正確性は、妥当な以上の性能低下を伴わずに可能な限り効率的に達成されるべきである。.

新しい!!: 汎用検索ツリーと並行性制御 · 続きを見る »

地理空間情報

地理空間情報(ちりくうかんじょうほう、geospatial information)とは、地理・空間に関係づけられた情報を指す。「地理情報」、「空間情報」もほぼ同義である。 日本では平成19年8月29日に施行された、地理空間情報活用推進基本法(平成19年法律第63号)第2条第1項に定義されている用語で、次の情報を指す。.

新しい!!: 汎用検索ツリーと地理空間情報 · 続きを見る »

バイオインフォマティクス

バイオインフォマティクス(英語:bioinformatics)または生命情報科学(せいめいじょうほうかがく)は、生命科学と情報科学の融合分野のひとつで、DNAやRNA、タンパク質の構造などの生命が持っている「情報」といえるものを情報科学や統計学などのアルゴリズムを用いて分析することで生命について解き明かしていく学問である。機械学習による遺伝子領域予測や、タンパク質構造予測、次世代シーケンサーを利用したゲノム解析など、大きな計算能力を要求される課題が多く存在するため、スーパーコンピュータの重要な応用領域の一つとして認識されている。 主な研究対象分野に、遺伝子予測、遺伝子機能予測、遺伝子分類、配列アラインメント、ゲノムアセンブリ、タンパク質構造アラインメント、タンパク質構造予測、遺伝子発現解析、タンパク質間相互作用の予測、進化のモデリングなどがある。 近年多くの生物を対象に実施されているゲノムプロジェクトによって大量の情報が得られる一方、それらの情報から生物学的な意味を抽出することが困難であることが広く認識されるようになり、バイオインフォマティクスの重要性が注目されている。 この一方遺伝子情報は核酸の配列というデジタル情報に近い性格を持っているために、コンピュータとの親和性が高いことが本分野の発展の理由になっている。 さらにマイクロアレイなどの網羅的な解析技術の発展に伴って、遺伝子発現のプロファイリング、クラスタリング、アノテーション(注釈)、大量のデータを視覚的に表現する手法などが重要になってきている。こういった個別の遺伝子、タンパク質の解析等から更に一歩進み、生命を遺伝子やタンパク質のネットワークとして捉え、その総体をシステムとして理解しようとするシステム生物学という分野もある。.

新しい!!: 汎用検索ツリーとバイオインフォマティクス · 続きを見る »

トライ木

トライ木(trie)やプレフィックス木(prefix tree)とは、順序付き木の一種。あるノードの配下の全ノードは、自身に対応する文字列に共通するプレフィックス(接頭部)があり、ルート(根)には空の文字列が対応している。値は一般に全ノードに対応して存在するわけではなく、末端ノードや一部の中間ノードだけがキーに対応した値を格納している。2分探索木と異なり、各ノードに個々のキーが格納されるのではなく、木構造上のノードの位置とキーが対応している。 キーが文字列である連想配列の実装構造としても使われる。右図の例では、ノードを表す丸の中にキーが書かれ、連想される値がその下に書かれている。値が書かれていないノードはキー文字列の途中までにしか対応していない。各英単語には整数の値が対応している。 トライ木は一種の決定性有限オートマトンと見ることもできるが、エッジ(枝)に対応する記号(文字)はその順序が暗黙のうちに決定される(辞書順など)。 キーは必ずしもノードに格納される必要はない。右図はトライ木の概念を示したもので実装は一般に異なる。 トライ木のキーは必ずしも文字列である必要はない。トライ木のアルゴリズムを文字列以外の任意のデータ構造に適用することは容易である。 trie という名称は "retrieval"(探索、検索)が語源であるため、"tree" と同じ発音を用いる(リトゥリーヴァル)。しかし、ツリー構造との混同を避けるために「トライ」という読み方を奨励する人もいる。日本語では、「トライ木」という呼び方がほぼ定着している。.

新しい!!: 汎用検索ツリーとトライ木 · 続きを見る »

データベース

データベース(database, DB)とは、検索や蓄積が容易にできるよう整理された情報の集まり。 通常はコンピュータによって実現されたものを指すが、紙の住所録などをデータベースと呼ぶ場合もある。コンピュータを使用したデータベース・システムでは、データベース管理用のソフトウェアであるデータベース管理システムを使用する場合も多い。.

新しい!!: 汎用検索ツリーとデータベース · 続きを見る »

データ構造

データ構造(データこうぞう、data structure)は、計算機科学において、データの集まりをコンピュータの中で効果的に扱うため、一定の形式に系統立てて格納するときの形式のことである。 ソフトウェア開発において、データ構造についてどのような設計を行うかは、プログラム(アルゴリズム)の効率に大きく影響する。そのため、さまざまなデータ構造が考え出されている。 多くのプログラムの設計において、データ構造の選択は主要な問題である。これは大規模システムの構築において、実装の困難さや質、最終的なパフォーマンスはベストのデータ構造を選択したかどうかに大きく依存してきたという経験の結果である。多くの場合、データ構造が決まれば、利用するアルゴリズムは比較的自明に決まる。しかし場合によっては、順番が逆になる。つまり、与えられた仕事をこなす最適なアルゴリズムを使うために、そのアルゴリズムが前提としている特定のデータ構造が選択される。いずれにしても適切なデータ構造の選択は極めて重要である。 この洞察は、多くの定式化された設計手法やプログラミング言語において、データ構造がアルゴリズムよりもキーとなる構成要素となっていることに現れている。大半の言語は異なるアプリケーションにおいてデータ構造を安全に再利用できるよう、実装の詳細をインターフェイスの背後に隠蔽するような、モジュール化のしくみを備えている。C++やJavaといったオブジェクト指向プログラミング言語はクラスをこの目的に用いている。 データ構造は専門的なプログラミングにとって非常に重要なので、C++におけるSTLや、Java API、および.NET Frameworkのようなプログラミング言語の標準ライブラリや環境において多くのデータ構造がサポートされている。 データ構造が実装を表すのかインターフェースを表すのかについてはいくらか議論がある。どのように見えるかは相対的な問題なのかもしれない。データ構造は2つの関数の間にあるインターフェイスとして見ることもできるし、データ型に基づいて構成されたストレージにアクセスする方法を実装したものとして見ることもできる。.

新しい!!: 汎用検索ツリーとデータ構造 · 続きを見る »

アプリケーションプログラミングインタフェース

アプリケーションプログラミングインタフェース(、)とは、広義の意味ではソフトウェアコンポーネントが互いにやりとりするのに使用するインタフェースの仕様である。 APIには、サブルーチン、データ構造、オブジェクトクラス、変数などの仕様が含まれる。APIには様々な形態があり、POSIXのような国際規格、マイクロソフトのWindows APIのようなベンダーによる文書、プログラミング言語のライブラリ(例えば、C++のStandard Template Libraryやなど)がある。 商業的に使われる狭義の意味ではOSやミドルウェアやWebサービス等サービスを利用するアプリケーション(Application)を作成する(Programming)ためのインターフェース(Interface)である。こちらの意味ではサービスから提供されないStandard Template Libraryなど言語の標準ライブラリーは含まない。 APIはApplication Binary Interface (ABI) とは異なる。APIはソースコードベースだが、ABIはバイナリインタフェースである。例えば、POSIXはAPIだが、Linux Standard Base (LSB) はABIである(LSBはいろいろな規定の集合なので、正確には「LSBには、ABIにまで踏み込んでいる部分もある」)。.

新しい!!: 汎用検索ツリーとアプリケーションプログラミングインタフェース · 続きを見る »

ソフトウェア

フトウェア(software)は、コンピューター分野でハードウェア(物理的な機械)と対比される用語で、何らかの処理を行うコンピュータ・プログラムや、更には関連する文書などを指す。ソフトウェアは、一般的にはワープロソフトなど特定の作業や業務を目的としたアプリケーションソフトウェア(応用ソフトウェア、アプリ)と、ハードウェアの管理や基本的な処理をアプリケーションソフトウェアやユーザーに提供するオペレーティングシステム (OS) などのシステムソフトウェアに分類される。.

新しい!!: 汎用検索ツリーとソフトウェア · 続きを見る »

全文検索

全文検索(ぜんぶんけんさく、Full text search)とは、コンピュータにおいて、複数の文書(ファイル)から特定の文字列を検索すること。「ファイル名検索」や「単一ファイル内の文字列検索」と異なり、「複数文書にまたがって、文書に含まれる全文を対象とした検索」という意味で使用される。.

新しい!!: 汎用検索ツリーと全文検索 · 続きを見る »

八分木

左: 立方体の再帰的な8分割、右: それに対応した八分木 八分木(英: Octree)とは、木構造の一種で、各ノードに最大8個の子ノードがある。3次元空間を8つのオクタント(八分空間)に再帰的に分割する場合によく使われる。四分木を3次元に拡張したものと見ることができる。英語の名称は oct + tree に由来するが "octtree" とは書かず "octree" と書く。.

新しい!!: 汎用検索ツリーと八分木 · 続きを見る »

B+木

簡単なB+木の例。1から7のキーとデータ値 d1-d7 がリンクされている。赤で示された連結リストによって順序通りの素早い走査が可能 B+木(B+ tree)は、キーを指定することで挿入・検索・削除が効率的に行える木構造の一種である。動的な階層型インデックスであり、各インデックスセグメント(「ブロック」などと呼ばれる。木構造におけるノードに相当)にはキー数の上限と下限がある。B+木はB木とは異なり、全てのレコードは木の最下層(葉ノード)に格納され、内部ノードにはキーのみが格納される。 B+木は、特にブロック型記憶装置での効率的データ検索に効果を発揮する。ブロックサイズ b の記憶装置があるとき、b の倍数個のキーを格納するB+木は2分探索木に比較して非常に効率が良い(2分探索木はブロック型でない記憶装置に適している)。 ReiserFS(UNIX、Linux)、XFS(IRIX、Linux)、JFS2(AIX、OS/2、Linux)、HammerFS(DragonFly BSD)、NTFSといったファイルシステムはいずれもB+木に類する構造をブロックのインデックス付けに使っている。関係データベースでも表のインデックスにこの種の木構造を使っていることが多い。.

新しい!!: 汎用検索ツリーとB+木 · 続きを見る »

B木

B木(びーき)は、コンピュータサイエンスにおけるデータ構造、特に木構造の一つ。ブロック単位のランダムアクセスが可能な補助記憶装置(ハードディスクドライブなど)上に木構造を実装するのに適した構造として知られる。 実システムでも多用されており、データベース管理システムの多くはB木による索引を実装している(B木の改良型または亜種であるB+木やB*木を使うことが多い)。.

新しい!!: 汎用検索ツリーとB木 · 続きを見る »

索引

索引(さくいん)とは、百科事典・学術書などの書籍や雑誌・新聞などの記事、統計、コンピュータのデータにおいて、特定の項目を素早く参照できるよう、見出し語を特定の配列に並べ、その所在をまとめたもの。(加えて凡例や相互参照、限定詞のあることもある。)コンピュータで用いられる際にはインデックス (index (pl. indice))と呼ばれることもある。 インターネット上のWorld Wide Webの索引集のことを、ウェブディレクトリという。.

新しい!!: 汎用検索ツリーと索引 · 続きを見る »

補助記憶装置

パーソナルコンピュータのハードディスク 補助記憶装置(ほじょきおくそうち)は記憶装置の分類で、「主記憶装置」がコンピュータのメインのバスに直接接続され、CPUが即座にアクセスでき、演算の対象にもできる場合もあるのに対し、外部バスに接続され、CPUからは直接アクセスできないものを指す。レイテンシやスループットは遅いが比較すると大容量である。二次記憶装置などとも。.

新しい!!: 汎用検索ツリーと補助記憶装置 · 続きを見る »

関係データベース

関係データベース(かんけいデータベース、リレーショナルデータベース、英: relational database)は関係モデル(リレーショナルデータモデル、後述)にもとづいて設計、開発されるデータベースである。関係データベースを管理するデータベース管理システム (DBMS) を関係データベース管理システム (RDBMS) と呼ぶ。 Oracle Database、Microsoft SQL Server、MySQL、PostgreSQL、DB2、FileMaker、H2 Database などがRDBMSである関係データベースに含まれないデータベースは、NoSQL などを参照。 。.

新しい!!: 汎用検索ツリーと関係データベース · 続きを見る »

Informix Dynamic Server

Informix Dynamic Server (IDS) は、IBMのオブジェクト関係データベース管理システム (ORDBMS)。 当初はInformix Softwareの製品であったが、2001年のIBMによる同社の買収に伴い、IBMソフトウェア部門の「インフォメーション・マネジメント」ブランドの1製品となった。IBMはIDSを戦略データサーバと位置づけ、DB2との技術共通化を表明している。.

新しい!!: 汎用検索ツリーとInformix Dynamic Server · 続きを見る »

PostGIS

PostGIS (ぽすとじす) は PostgreSQL データベースで地理空間情報を扱うための拡張である。GNU General Public License のオープンソースソフトウェアとして配布されている。.

新しい!!: 汎用検索ツリーとPostGIS · 続きを見る »

PostgreSQL

PostgreSQL(ぽすとぐれすきゅーえる: )はオープンソースのオブジェクト関係データベース管理システム (ORDBMS) である。その名称は Ingres の後継を意味する「Post-Ingres」に由来している。「Postgres」や「ポスグレ」と呼ばれることも多い。.

新しい!!: 汎用検索ツリーとPostgreSQL · 続きを見る »

R木

2次元矩形のR木の例 R木(R-tree)は、B木に似た木構造のデータ構造であり、多次元情報(例えば、二次元座標データなど)のインデックス付け、すなわち空間インデックスに使われる。それは例えば、「現在位置から2km以内の全ての美術館を探す」といった用途に使われる。.

新しい!!: 汎用検索ツリーとR木 · 続きを見る »

Special Interest Group on Management of Data

Special Interest Group on Management of Data (SIGMOD) は、Association for Computing Machinery (ACM) の大規模データ管理の問題およびデータベースを扱う分科会 (Special Interest Group, SIG) である。 日本では、ACM SIGMOD 日本支部 (SIGMOD-J) が、日本データベース学会と一体になって運営されている。 SIGMODカンファレンスを1975年から毎年開催している。 このカンファレンスは、大規模データ管理の問題およびデータベースにおいて、最も重要な会合の一つと位置づけられている。 これまではこのカンファレンスは北アメリカで開催されてきたが、近年では欧州 (2004年) 、アジア (2007年) でも開催されている。 SIGACT (Special Interest Group on Algorithms and Computation Theory, アルゴリズムと計算理論を扱うSIG) およびSIGART (Special Interest Group on Artificial Intelligence, 人工知能を扱うSIG) と協力して、ACM Symposium on Principles of Database Systems (PODS) という、データベースシステムの理論を扱うカンファレンスを主催し1982年から開催している。 PODSは、1991年からは、SIGMODカンファレンスと共同開催されている。 SIGMODは毎年、データ管理の領域に対して貢献した人々にいくつかの賞を授与して表彰している。 これらの賞のうち、最も重要で権威があると位置づけられているのは、SIGMOD Edgar F. Codd Innovations Award (SIGMODエドガー・F・コッド革新賞) である。 この賞は、関係モデルをはじめとする関係データベースの理論に多大な貢献をしたコンピュータ科学者であるエドガー・F・コッドから名前をとっている。 この賞は、「データベースシステムおよびデータベースについて、その開発・理解・利用において永続的に価値があり革新的でありかつ非常に重要な貢献」を表彰する。.

新しい!!: 汎用検索ツリーとSpecial Interest Group on Management of Data · 続きを見る »

木構造 (データ構造)

親子構造 木構造(きこうぞう)とは、グラフ理論の木の構造をしたデータ構造のこと。.

新しい!!: 汎用検索ツリーと木構造 (データ構造) · 続きを見る »

拡張性

拡張性(かくちょうせい)とは、機械やソフトウェアなどが本来もつ機能に加えて、付加的な機能を追加したり、それらの性能をあとから向上させる事が可能であるような設計上の特徴。.

新しい!!: 汎用検索ツリーと拡張性 · 続きを見る »

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »