第8章データ管理
THINK IT THROUGH考えてみよう
C++ and DatabasesC++とデータベース
You are asked to develop a program in C++ that needs to store and retrieve data for later use.
後で使うためにデータを格納し、取り出す必要のあるプログラムを、C++で開発するよう頼まれたとしよう。
Which type of nonrelational database management system would you recommend for this application?
この用途には、どの種類の非関係データベース管理システムを勧めるだろうか。
Query Languages and APIs for NoSQL DatabasesNoSQLデータベースの問い合わせ言語とAPI
Processing an XML within a database application requires parsing the document and then processing the code using an API such as Document Object Model (DOM API). DOM API is a tree-based API (i.e., the memory representation is a tree). Figure 8.18 shows an example of XML code and the corresponding DOM tree.
英語のヒント
データベースアプリケーション内でXMLを処理するには、まず文書を解析し、その後、文書オブジェクトモデル(DOM API)などのAPIを使ってコードを処理する必要がある。DOM APIは木構造に基づくAPIであり、メモリ内の表現が木となる。図8.18に、XMLコードと対応するDOM木の例を示す。

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 8.18 This figure visualizes the tree-based DOM API: (a) shows the Input XML code, (b) highlights in-memory tree representation, and (c) demonstrates the corresponding DOM tree. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図8.18 木構造に基づくDOM APIを可視化した図。(a)は入力XMLコード、(b)はメモリ内の木表現、(c)は対応するDOM木を示している。(出典:著作権 Rice University、OpenStax、CC BY 4.0ライセンス)
NoSQL databases use filters to apply the simple query; that is, they use variables in the query that are populated on the server. Additionally, most NoSQL databases support complex queries using aggregation with MapReduce. MapReduce is an open-source software framework used to apply complex queries. It implements a map function, which is the conversion of a dataset into a tuple, and reduces function, which reduces the map into a smaller set.
英語のヒント
NoSQLデータベースは、フィルターを使って単純な問い合わせを適用する。つまり、問い合わせの中に、サーバー上で値を設定する変数を使う。さらに、多くのNoSQLデータベースは、MapReduceによる集約を用いた複雑な問い合わせを支える。MapReduceは、複雑な問い合わせを適用するためのオープンソースのソフトウェアフレームワークである。データセットをタプルへ変換するmap関数と、mapをより小さい集合へ縮めるreduce関数を実装する。
Cloud and Other Data Management Servicesクラウドとそのほかのデータ管理サービス
Data as a Service (DaaS) is a data management technique that uses the cloud to store, process, and manage data. DaaS uses web services to handle data located on the Internet. Many vendors provide DaaS such as Azure, AWS, GCP, and IBM Cloud. Amazon Web Service (AWS) offers many solutions for DaaS, such as Aurora, RDS, and Redshift for relational database and DynamoDB for the key-value database.
英語のヒント
Data as a Service(DaaS)は、クラウドを使ってデータを格納・処理・管理するデータ管理の手法である。ウェブサービスを使い、インターネット上のデータを扱う。Azure、AWS、GCP、IBM Cloudなど、多くの事業者がDaaSを提供する。Amazon Web Service(AWS)は、関係データベース向けのAurora、RDS、Redshiftや、キーバリューデータベース向けのDynamoDBなど、DaaS用の多くの解決策を提供している。
Cloud Data as a Service (DaaS)クラウドのData as a Service(DaaS)
DaaS is a data management strategy that includes many technologies such as information life cycle solutions, data modeling, replication, and content management. DaaS is on-demand and subscription-based, which means the customer only pays for the services they need. The functionalities of DaaS are data quality, storing, managing, securing, and analyzing data. One of the key advantages of cloud-based database systems is their ability to be "elastic" and provide compute and storage resources on-demand. This means that as the size of a dataset grows or decreases as more or fewer users access the database, the system can quickly scale up or down its resources to handle the demand.
英語のヒント
DaaSは、情報ライフサイクルに関する解決策、データモデリング、複製、コンテンツ管理など、多くの技術を含むデータ管理戦略である。オンデマンドの契約制サービスであり、顧客は必要とするサービスについてだけ料金を払う。DaaSの機能には、データ品質の確保、格納、管理、保護、分析がある。クラウド上のデータベースシステムの主要な利点の一つは、伸縮性を持ち、必要に応じて計算資源と記憶資源を提供できることである。データセットが大きくなったり小さくなったりし、またデータベースにアクセスする利用者が増えたり減ったりするのに応じて、システムは需要に合わせ、資源を素早く増減できる。
Blockchain DBMSsブロックチェーンDBMS
The technology that records transitions securely is called blockchain. It has the world’s attention because of its use of cryptocurrencies such as Bitcoin. In health care, blockchain technology can be used to create a secure and transparent system for managing health-care data. This can help to improve patient privacy, reduce fraud, and improve the efficiency of health-care systems. A blockchain DBMS is a database that stores data as a block data structure, and each block is connected to other blocks by providing cryptographic security and immutability.
英語のヒント
取引を安全に記録する技術を、ブロックチェーンという。Bitcoinなどの暗号通貨で使われることから、世界の注目を集めている。医療では、医療データを管理する安全で透明なシステムを作るために使える。患者のプライバシーを高め、不正を減らし、医療システムの効率を改善するのに役立つ。ブロックチェーンDBMSは、ブロックというデータ構造でデータを格納するデータベースであり、暗号技術による安全性と変更できない性質を備える形で、各ブロックがほかのブロックへつながっている。
LINK TO LEARNING学習リンク
One of the most popular NoSQL databases is the DB-Engines Ranking (https://openstax.org/r/76DBEngines) which ranks database management systems according to their popularity. The ranking is updated monthly. You can read about the method of calculating the scores.
英語のヒント
最も人気のあるNoSQLデータベースの一つとして挙げられるDB-Engines Ranking(https://openstax.org/r/76DBEngines)は、データベース管理システムを人気順に順位付けしている。順位は毎月更新される。得点の計算方法についても読むことができる。