プリンキピア

第8章データ管理

Data Model Categoriesデータモデルの分類
Data models can be conceptual (represented using EER or UML notations), logical, physical, or self-describing. The various logical data models can be categorized as follows:
英語のヒント
データモデルには、概念モデル(EERやUMLの表記で表す)、論理モデル、物理モデル、自己記述モデルがある。さまざまな論理データモデルは、次のように分類できる。
• A hierarchical DBMS is a data model in which the data are organized into a treelike model, DML is procedural and record-oriented, the query processor is logical, and internal data models are intertwined (e.g., IMS from IBM).
英語のヒント
• 階層型DBMSは、データを木のようなモデルに整理するデータモデルである。DMLは手続き型で、レコードを単位に扱う。問い合わせ処理器は論理的で、内部データモデルは絡み合っている。例として、IBMのIMSがある。
• A network DBMS is a data model in which the data are organized into a network model, DML is procedural and record-oriented, the query processor is logical, and internal data models are intertwined (e.g., CA-IDMS from Computer Associates).
• ネットワーク型DBMSは、データをネットワークモデルに整理するデータモデルである。DMLは手続き型で、レコードを単位に扱う。問い合わせ処理器は論理的で、内部データモデルは絡み合っている。例として、Computer AssociatesのCA-IDMSがある。
• A relational DBMS is a data model in which the data are organized into a relational data model, use SQL as a declarative and set-oriented database, the query processor has a strict separation between the logical and internal data model. Relational DBMSs are the most popular in the industry (e.g., MySQL open-source database from Oracle, Oracle DBMS, DB2 from IBM, and Microsoft SQL).
英語のヒント
• 関係DBMSは、データを関係データモデルに整理し、宣言的で集合を中心に扱うデータベースとしてSQLを使う、データモデルである。問い合わせ処理器では、論理データモデルと内部データモデルが厳密に分離されている。関係DBMSは、産業で最も普及している。例として、OracleのオープンソースデータベースMySQL、Oracle DBMS、IBMのDB2、Microsoft SQLがある。
• An object-oriented DBMS is a data model in which the data are organized into an OO data model, avoiding impedance mismatch when used with an OO host language. It is also called OODBMS or ODB (e.g., db4o open-source database from Versant, Caché from Intersystems, GemStone/S from GemTalk Systems, which are only successful in niche markets, due to their complexity).
英語のヒント
• オブジェクト指向DBMSは、データをオブジェクト指向(OO)データモデルに整理するデータモデルである。オブジェクト指向のホスト言語とともに使う際、表現方法の食い違いであるインピーダンスミスマッチを避けられる。OODBMSまたはODBとも呼ばれる。例には、Versantのオープンソースデータベースdb4o、IntersystemsのCaché、GemTalk SystemsのGemStone/Sがある。これらは複雑なため、限られた市場でのみ成功している。
• An XML DBMS is a data model in which the data are using the XML data model to store data. XML could be native XML DBMS (e.g., BaseX and eXist), which map the tree structure of an XML document to a physical storage structure, or XML-enabled DBMS (e.g., Oracle and IBM Db2) are existing DBMS that are extended with facilities to store XML data.
英語のヒント
• XML DBMSは、XMLデータモデルを使ってデータを保存するデータモデルである。XMLには、ネイティブXML DBMS(BaseXやeXistなど)があり、XML文書の木構造を、物理的な格納構造へ対応させる。また、XML対応DBMS(OracleやIBM Db2など)は、既存のDBMSにXMLデータを保存する機能を追加したものである。
• A not-only SQL DBMS, or NoSQL DBMS, comes in a variety of big unstructured data classified as a document, a graph, key-value stores, and column-oriented databases. NoSQL DBMS focuses on scalability and the ability to cope with irregular or highly volatile data structures (e.g., Apache Hadoop, MongoDB, Neo4j). The irregular data structures appear when the data don’t follow a specific order or nature. The volatile data are usualy stored in cache memory and is easy to lose.
英語のヒント
• not-only SQL DBMS、すなわちNoSQL DBMSには、大規模な非構造化データを扱う多様なものがあり、文書型、グラフ型、キー値ストア、列指向データベースに分類される。NoSQL DBMSは、拡張性と、不規則な、または変化の激しいデータ構造を扱う能力を重視する。Apache Hadoop、MongoDB、Neo4jなどがその例である。不規則なデータ構造は、データが特定の順序や性質に従わない場合に現れる。揮発性データは、通常キャッシュメモリに保存され、失われやすい。
Single vs. Multiuser DBMSs単一利用者と複数利用者のDBMS
With a single-user DBMS, only one user at a time can use the database. A multiuser DBMS allows many users to use the database concurrently. A multiuser DBMS is illustrated in Figure 8.8.
英語のヒント
単一利用者DBMSでは、一度に一人の利用者しかデータベースを使えない。複数利用者DBMSでは、多くの利用者が並行して使える。図8.8に、複数利用者DBMSを示す。
Figure 8.8

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典

Figure 8.8 Multiple users are accessing the same system at the same time in this multiuser DBMS. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図8.8 この複数利用者DBMSでは、複数の利用者が、同じ時点に同じシステムへアクセスしている。(出典:著作権 Rice University、OpenStax、CC BY 4.0ライセンス)
DBMS UsersDBMSの利用者
DBMS users may be divided into actors on the scene who use and control the database content; design, develop, and maintain database applications such as database administrators and database designers; and workers behind the scenes who design and develop the DBMS software and related tools as well as the computer systems operators, including system designers and developers.
英語のヒント
DBMSの利用者は、表に立つ人と、裏側で働く人に分けられる。前者は、データベースの内容を利用・制御し、データベースアプリケーションを設計・開発・保守する人であり、データベース管理者やデータベース設計者などが当たる。後者は、DBMSソフトウェアや関連する道具を設計・開発する人や、コンピューターシステムを運用する人であり、システム設計者や開発者などが含まれる。
DBMS ArchitecturesDBMSのアーキテクチャー
There are various types of database architectures as follows: centralized DBMS architecture, n-tier DBMS architecture, cloud DBMS architecture, federated DBMS, and in-memory DBMS. In centralized DBMS architecture, the data are maintained on a centralized server at a single location while client-server DBMS architecture has one or more client computers connected to a central server over a network. Active clients request services from passive servers. An n-tier DBMS architecture usually divides an application into three tiers/layers: the presentation tier, the logic tier, and the data tier (e.g., a client with GUI functionality, an application server with applications, a database server with a DBMS and a database, and a web server for web-based access). In cloud DBMS architecture, the DBMS and database are hosted by a third-party cloud provider (e.g., Apache Cassandra project and Google’s BigTable). A federated DBMS provides a uniform interface to multiple underlying data sources which hide the underlying storage details to facilitate data access. An in-memory DBMS stores all data in internal memory instead of slower external storage (e.g., disk; often used for real-time purposes such as HANA from SAP).
英語のヒント
データベースのアーキテクチャーには、集中型DBMS、n層DBMS、クラウドDBMS、連合型DBMS、インメモリDBMSなど、さまざまな種類がある。集中型DBMSでは、一か所にある集中サーバーでデータを維持する。一方、クライアントサーバー型DBMSでは、一台以上のクライアントコンピューターが、ネットワークを通じて中央のサーバーに接続する。能動的なクライアントが、受動的なサーバーへサービスを要求する。n層DBMSでは、通常、アプリケーションを表示層、論理層、データ層という三つの層に分ける。たとえば、GUI機能を持つクライアント、アプリケーションを置くアプリケーションサーバー、DBMSとデータベースを置くデータベースサーバー、Web経由のアクセスのためのWebサーバーがある。クラウドDBMSでは、第三者のクラウド提供者が、DBMSとデータベースを運用する。Apache CassandraプロジェクトやGoogleのBigTableなどが例である。連合型DBMSは、基礎となる複数のデータ源に、統一されたインターフェースを提供する。基礎となる格納の細部を隠し、データにアクセスしやすくする。インメモリDBMSは、低速な外部記憶装置ではなく、内部メモリにすべてのデータを保存する。外部記憶装置にはディスクなどがある。SAPのHANAのように、リアルタイムの用途によく使われる。