令和 4 年度 第 1 次試験問題 経営情報システム 第十四問 解答と解説

解答

 

5.

 

解説

 

データベース関連のところです。

aからeまで問題を通じて説明していきましょう。

 

a リポジトリとは、データベース全体の構造や仕様を定義したものであり、外部・概念・内部の三層構造で捉える。

 リポジトリは、単純には格納庫という概念と思ってよいかと思います。また、ソースコードのバージョン管理でリポジトリと言う言葉はよく聞くと思いますが、ソースコードを格納し、さらにそれらのバージョン管理を行うための格納庫となります。もう少し広義の意味で、情報システムとしてリポジトリというと、ソフトウェアやデータなどあらゆる情報(設計・開発・保守)について、関連するメタ情報と紐づけて格納するものとなります。

aの説明は、データベースの3層スキーマについての説明です。よって、誤りとなります。

 

b NoSQL とは、DBMS が管理するデータ・利用者・プログラムに関する情報やこれらの間の関係を保存したデータベースである。

NoSQLは、Wikiの説明が分かりやすいですが、"Not only SQL"の略称であり、RDBMS以外のデータベース管理システムになります。RDBMSはテーブル間の関連性を定義して、複数のテーブルにまたいだ管理がをすることができ、汎用性・拡張性に優れたデータベース管理機構ですが、逆にNoSQLは使い方を限定し、扱うデータに最もマッチする形で制約することで、性能を出すことができるというものです。

bの説明は「データディクショナリ」に関する説明になります。 

 

NoSQL 

NoSQL(一般に "Not only SQL" と解釈される)とは、関係データベース管理システム (RDBMS) 以外のデータベース管理システムを指すおおまかな分類語である。関係データベースを杓子定規に適用してきた長い歴史を打破し、それ以外の構造のデータベースの利用・発展を促進させようとする運動の標語としての意味合いを持つ。関係モデルではないデータストアの特徴として、固定されたスキーマに縛られないこと、関係モデルの結合操作を利用しないこと、水平スケーラビリティが確保しやすい事が多いこと、高度なトランザクション処理を利用できないものが多いことなどが挙げられる。学術的な世界では、この種のデータベースのことを構造型ストレージ (structured storage) と呼ぶことが多い

NoSQL系データベース管理システムは、データの格納および取得が高度に最適化されているものが多い。その最適化のために機能性を最小限にしているものもある。その最たる例が、「値」およびそれを取得するための「キー」だけを格納できるKey-Value型データベースである。NoSQL系データベースは、関係データベースのような汎用性は欠くものの、その制約された条件下ではRDBMSより高いパフォーマンスを持つ。そのためビッグデータ系ソリューションでしばしば活用される。

NoSQL系データベース管理システムが有用な場面は、関係モデルを必要としないデータを扱う時や、大量のデータを扱う時である。用途は多様であり、数百万のkey-valueペアを格納したり、数10個程度の連想配列を格納したり、数百万の構造的データを格納したりと、様々に使われる。この構造は、大規模なデータを統計的に解析したり、増えつづける情報をリアルタイムに解析するのにも便利である。

産業界での有名な実装として、GoogleBigTableアマゾンAmazon DynamoDBなどがある。オープンソースの実装も数多く存在し、例えばMongoDBRedisApache HBaseHypertableApache Cassandraなどがある。

 

「直接原価計算」『フリー百科事典 ウィキペディア日本語版』。2022年10月20日 (木) 04:31 UTC

 

 

c ロールフォワードとは、データベースシステムなどに障害が発生した時に、更新前のトランザクションログを使ってトランザクション実行前の状態に復元する処理である。

ロールフォワードは、データベースシステムに障害が発生したときの、データベースの復元する処理です。コミットが完了しているデータをログから復元することです。フォワードするなので、データを流し込む方のイメージを持つと良いでしょう。

その逆に、ロールバックという概念があります。これは、システム障害が発生したときに、ログを使って、トランザクション実行前の状態に復元する処理を言います。バックなので、データを引き戻すイメージを持つと良いでしょう。

問題文は、データを戻す方の説明ですので、ロールバックですね。誤りです。

 

ロールフォワード 

 

d カラムナー(列指向)データベースは、列方向のデータの高速な取得に向けて最適化されているので、大量の行に対する少数の列方向の集計を効率化できる。

列思考データベースは、列データをひとまとまりにして取り出すことを効率的にできるように設計されたデータベースです。逆に行指向データベースというものもある。

dの説明文で、書いている通りですね。これは正しいです。

 

列指向データベース管理システム 

列指向データベース管理システムは、データベース管理システム (DBMS) の内部構造において、列のデータをひとまとまりにして取り出すときに効率的であるように設計されたものである。これはデータウェアハウスや図書館のカタログのように、大量の類似のデータ項目に対し集計が行われるものに対して有用である。このアプローチはvalue-basedなストレージ構造を使用する行指向データベースや相関データベースと対比される。

列指向データベース管理システムは、一般的に「カラムナデータベース」 (Columnar Database) とも呼ばれる。

 

『フリー百科事典 ウィキペディア日本語版』。2021年7月30日 (金) 14:44 UTCURL: 

 

e インメモリデータベースは、データを全てメインメモリ上に格納する方式で構築されたデータベースであり、ディスクにアクセスする必要がないので、応答時間を最小限にすることが可能になる。

 
インメモリデータベースは、データベースのストレージの管理が、メインメモリ上で行い、高速で処理をすることを可能下データベース管理システムです。
これはeの説明の通りです。 
 
インメモリデータベース 

インメモリデータベースIMDBあるいはメインメモリデータベースMMDB)はデータストレージを主にメインメモリ上で行うデータベース管理システムである。ディスクストレージ機構によるデータベースシステムと対比される。メインメモリデータベースは内部最適化アルゴリズムが簡素であり、相対的に少ないCPU命令を実行するので、ディスク最適化されたデータベースと比較して高速である。メモリ上でデータアクセスを行うことで、ディスクと比較し、より高速かつ安定したパフォーマンスを提供できる。通信ネットワーク機器など、応答時間が肝要であるアプリケーションにおいて、インメモリデータベースは多用されている。

『フリー百科事典 ウィキペディア日本語版』。2020年8月15日 (土) 21:51 UTC

 

よって、dとeが正しいです。

以上より、5が正解となります。