第8章データ管理
8.4 Nonrelational Database Management Systems8.4 非関係データベース管理システム
Learning Objectives学習目標
By the end of this section, you will be able to:
この節を終えると、次のことができるようになる。
• Discuss the various types of legacy database management systems
• 従来型のデータベース管理システムの種類について論じる。
• Explain the functionality of non-first normal form (NFNF) database management systems
• 非第一正規形(NFNF)のデータベース管理システムの機能を説明する。
• Identify various characteristics of object databases and object persistence
• オブジェクトデータベースとオブジェクトの永続化の特徴を挙げる。
• Differentiate the various relational database management system extensions
• 関係データベース管理システムの拡張の種類を区別する。
• Describe XML databases
• XMLデータベースを説明する。
• Summarize unstructured data and the advent of not only SQL (NoSQL) databases
• 非構造化データと、SQLだけに限らないNoSQLデータベースの登場についてまとめる。
• Differentiate cloud-related data management services and other types of databases
• クラウド関連のデータ管理サービスと、そのほかの種類のデータベースを区別する。
A nonrelational database is a database that does not use a traditional method for storing data such as rows and columns. Instead, nonrelational databases use a different storage model with specific requirements based on the type of data being stored. Relational databases typically store data in tables, with columns representing the attributes of the data and rows representing individual records. This structure is optimized for fast retrieval and manipulation of data using SQL queries. In contrast, nonrelational databases are optimized for storing and querying large amounts of data and are typically stored in a specialized format that allows for efficient indexing and querying. This format may include the use of columnar storage and compression techniques.
英語のヒント
非関係データベースは、行と列などの従来の方法でデータを格納しないデータベースである。格納するデータの種類に応じた固有の要件を持つ、別の格納モデルを使う。関係データベースは通常、データの属性を列で、個々のレコードを行で表す表にデータを格納する。この構造は、SQLの問い合わせによる高速な取得と操作に適している。これに対し、非関係データベースは大量のデータの格納と問い合わせに適しており、通常、効率よく索引を付けて問い合わせられる専用形式で格納される。この形式では、列指向の格納や圧縮の手法を使う場合がある。
Legacy Databases従来型のデータベース
Flat file database and multifile relational database are the two main legacy DBMSs. A flat file database uses a simple structure to store data in a text file. Each line in the file is holding one record. A multifile relational database is more flexible than flat file structures as it provides more functionality for creating and updating data. It contains multiple tables of data with rows and columns that relate to each other.
英語のヒント
フラットファイルデータベースと複数ファイルの関係データベースは、従来型DBMSの主要な二種類である。フラットファイルデータベースは、単純な構造でテキストファイルにデータを格納し、各行が一つのレコードを保持する。複数ファイルの関係データベースは、データの作成や更新の機能が充実しているため、フラットファイル構造より柔軟である。相互に関連する行と列を持つ、複数のデータ表を含む。
Hierarchical Model階層モデル
A hierarchical model is a model in which data are stored in the form of records and organized into a tree structure. The structure is parent-child and each parent may connect to one or more child nodes as in Figure 8.15. As an example, IBM IMS is a hierarchical database management software system for OLTP.
英語のヒント
階層モデルは、データをレコードの形で格納し、木構造に組織するモデルである。親子構造を持ち、図8.15のように、各親は一つ以上の子ノードへ接続できる。IBM IMSはその一例で、OLTP用の階層型データベース管理ソフトウェアシステムである。

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 8.15 A hierarchical model shows a root parent connected to three child nodes. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図8.15 階層モデルにおいて、根となる親が三つの子ノードへ接続されている。(出典:著作権 Rice University、OpenStax、CC BY 4.0ライセンス)
A hierarchical model has many limitations such as the complexity of navigating the system, its requirement that data be repetitively stored due to a treelike structure with a high level of redundancy, and its need for sequential searching.
英語のヒント
階層モデルには多くの制約がある。たとえば、システム内をたどるのが複雑であること、高い冗長性を持つ木状の構造のためデータを繰り返し格納する必要があること、順次探索が必要なことなどである。
Non-First Normal Form DBMSs非第一正規形のDBMS
The database data model that does not meet any of the conditions of database normalization defined by the relational model is called a non-first normal form (NFNF). However, data in this form may require complex joins, which can make querying more complicated, although it does not lead to data duplication.
英語のヒント
関係モデルが定めるデータベース正規化の条件を、どれも満たさないデータモデルを、非第一正規形(NFNF)という。この形式のデータは重複を生じさせないものの、複雑な結合が必要になることがあり、その結果、問い合わせがいっそう複雑になり得る。
Object Databases and Object Persistenceオブジェクトデータベースとオブジェクトの永続化
An object-oriented database management system (OODBMS) offers unique object identifiers to access each object. The persistence is established with time and space, and the object exists even after its parent object has been deleted, which means it is persistent with time. An example of an OODBMS is db4o, which is an open-source, embeddable object database for Java and .NET environments. It allows developers to store and retrieve objects directly rather than having to map objects to a relational database schema.
英語のヒント
オブジェクト指向データベース管理システム(OODBMS)は、各オブジェクトへのアクセスに、一意のオブジェクト識別子を提供する。永続性は時間と空間について確立される。親オブジェクトが削除された後もオブジェクトは存在し、これは時間に関する永続性を持つことを意味する。OODBMSの一例はdb4oであり、Javaと.NET環境用の、組み込み可能なオープンソースのオブジェクトデータベースである。開発者は、オブジェクトを関係データベースのスキーマに対応付けることなく、直接格納し、取り出せる。
Principles of Object Persistenceオブジェクト永続化の原則
When an object is not deleted until a need emerges to remove it from memory, object persistence appears. In other words, the transient object is only needed during program execution and can be discarded when the program terminates. Persistence strategies include persistence by class, persistence by creation, persistence by marking, persistence by inheritance, and persistence by reachability.
英語のヒント
オブジェクトをメモリから除去する必要が生じるまで削除しないとき、オブジェクトの永続性が現れる。言い換えると、一時的なオブジェクトはプログラム実行中にだけ必要であり、プログラムが終了すれば破棄できる。永続化の戦略には、クラスによる永続化、生成による永続化、印付けによる永続化、継承による永続化、到達可能性による永続化がある。
In persistence orthogonality, the environment does not require any actions by a program to retrieve or save their state. In persistence independence, an object is independent of how a program manipulates it. There are many types of orthogonality. For example, all objects can be made persistent irrespective of their type or size, and they can achieve transitive persistence (refers to persistence by reachability). Persistent programming languages extend an OO language with a set of class libraries for object persistence. Serialization translates an object’s state into a format that can be stored (for example, in a file) and reconstructed later.
英語のヒント
永続化の直交性では、環境はプログラムに対し、状態の取得や保存のために特別な操作を求めない。永続化の独立性では、オブジェクトは、プログラムによる操作の仕方から独立している。直交性には多くの種類がある。たとえば、すべてのオブジェクトは、型や大きさに関係なく永続化でき、推移的な永続性も実現できる。後者は到達可能性による永続化を指す。永続化プログラミング言語は、オブジェクト永続化用のクラスライブラリ群によって、オブジェクト指向言語を拡張する。直列化は、オブジェクトの状態を、ファイルなどに格納でき、後で再構成できる形式へ変換する。