<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NoSQL &#8211; システム開発・AI導入なら株式会社taiziii（タイジー</title>
	<atom:link href="https://taiziii.com/column_cat/nosql-ja/feed/" rel="self" type="application/rss+xml" />
	<link>https://taiziii.com</link>
	<description>事業理解に強いITコンサルタントとフルスタックエンジニアが、Webサービス・アプリ・業務システムを戦略設計から実装・保守運用まで一気通貫で支援。AI活用や内製化支援で成果に直結する開発を実現します。</description>
	<lastBuildDate>Wed, 19 Feb 2025 16:21:24 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://taiziii.com/wp-content/uploads/2023/10/favicon.ico</url>
	<title>NoSQL &#8211; システム開発・AI導入なら株式会社taiziii（タイジー</title>
	<link>https://taiziii.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>NoSQL を使うなら？ Amazon DynamoDB vs Google Cloud Firestore</title>
		<link>https://taiziii.com/column/305/</link>
		
		<dc:creator><![CDATA[THiNGMAjiG_admin_user_kato]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 00:31:49 +0000</pubDate>
				<guid isPermaLink="false">https://taiziii.com/?post_type=column&#038;p=305</guid>

					<description><![CDATA[今回は、NoSQL　に関する内容だね！ この記事を読めば、適切な　NoSQL　がわかりますね 本記事で学べること ・NoSQLの概要 ・各種サービスの長所・短所やユースケース はじめに 近年において、NoSQL　の需要が [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="balloonWrap">
<div class="balloon2-left">
<p>今回は、NoSQL　に関する内容だね！</p>
</div>
<div class="balloon2-right">
<p>この記事を読めば、適切な　NoSQL　がわかりますね</p>
</div>
</div>
<div class="intro"></div>
<h2>本記事で学べること</h2>
<p>・NoSQLの概要<br />
・各種サービスの長所・短所やユースケース</p>
<h2>はじめに</h2>
<p>近年において、NoSQL　の需要が高まりつつあります。これは、NoSQL　がリレーショナルデータベースよりもビッグデータの処理に向いているためです。そこで今回は、NoSQL　の代表である、Amazon DynamoDB　とGoogle Cloud Firestore　について、</p>
<p style="font-weight: bold;">1. 可用性</p>
<p style="font-weight: bold;">2. 機能性</p>
<p style="font-weight: bold;">3. バックアップ</p>
<p style="font-weight: bold;">4. データ構造</p>
<p>の観点から比較したいと思います。</p>
<p>はじめに、NoSQL　について説明したいと思います。<br />
NoSQLとは、従来型のRDBMS<span id='easy-footnote-1-305' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/column/305/#easy-footnote-bottom-1-305' title='リレーショナルデータベースサービスの略で、表形式の複数データを関連付けて使えるようにしたデータベース。'><sup>1</sup></a></span>　とは異なる非関係データベースの総称です。NoSQL　は、大規模なデータや複雑なデータ構造を扱うために開発されたデータベースで、スケーラビリティや柔軟性に優れています。<br />
NoSQL　には、以下のような種類があります。</p>
<p style="font-weight: bold;">・キーバリューストア</p>
<p style="font-weight: bold;">・ドキュメントデータベース</p>
<p style="font-weight: bold;">・グラフデータベース</p>
<p style="font-weight: bold;">・列データベース</p>
<p>キーバリューストアは、キーと値のペアを格納するデータベースです。キーと値は任意の型を持ち、データの検索や追加が高速です。<br />
ドキュメントデータベースは、ドキュメントと呼ばれる単位でデータを格納するデータベースです。ドキュメントは　JSON　や　XML　などのテキスト形式で記述され、データの追加や変更が容易です。</p>
<p>グラフデータベースは、ノードとエッジと呼ばれる単位でデータを格納するデータベースです。ノードはデータの要素を表し、エッジはノード間の関係を表します。グラフデータベースは、ソーシャルネットワークや金融取引などのデータに適しています。</p>
<p>列データベースは、列と呼ばれる単位でデータを格納するデータベースです。列はタプルと呼ばれる行に格納され、データの検索や追加が高速です。</p>
<p>NoSQL　は、従来型の　RDBMS　では対応できないデータの保存や処理に適しています。大規模なデータや複雑なデータ構造を扱うアプリケーションでは、NoSQL　の使用が検討されます。</p>
<h2>Amazon DynamoDB　とは</h2>
<p>Amazon DynamoDB　は、AWS　が提供するフルマネージド　NoSQL　データベースサービスです。DynamoDB　は、従来型の　RDBMS　とは異なり、データ量だけでなく、スループットに基づき購入するデータベースです。<br />
DynamoDB　は、スケーラビリティ、耐久性、可用性に優れたデータベースです。DynamoDB　は、自動的にスケーリングし、データの損失を防ぎ、高可用性を実現します。<br />
DynamoDB　は、ウェブアプリケーション、モバイルアプリケーション、IoTアプリケーションなど、さまざまなアプリケーションに使用され、大規模なデータや複雑なデータ構造を扱うアプリケーションに適しています。</p>
<h2>Google Cloud Firestore　とは</h2>
<p>Google Cloud Firestore　は、Google Cloud Platform　が提供するフルマネージド NoSQL データベースサービスです。Firestore は、ドキュメントベースのデータベースで、JSON　ドキュメントを保存することができます。Firestore　は、スケーラブルで、耐久性が高く、使いやすいデータベースです。<br />
Firestore　も　DynamoDB　同様、ウェブアプリケーション、モバイルアプリケーション、IoT　アプリケーションなど、さまざまなアプリケーションに使用され、大規模なデータや複雑なデータ構造を扱うアプリケーションに適しています。<br />
さらに、Firestore　は、Google Cloud Platform　で提供される他のサービスと統合することができます。たとえば、Firestore　は、Cloud Functions、Cloud Storage、Cloud Pub/Sub　などのサービスと統合することができます。</p>
<h2>比較</h2>
<h3>可用性</h3>
<ul>
<li>DynamoDB　は、自動でデータを複製し、同じリージョン<span id='easy-footnote-2-305' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/column/305/#easy-footnote-bottom-2-305' title='AWSのサービス提供地域を物理ロケーションに分割した単位。'><sup>2</sup></a></span>内の複数のAZ<span id='easy-footnote-3-305' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/column/305/#easy-footnote-bottom-3-305' title='アベイラビリティゾーンの略で、あるリージョンに立地するデータセンター群を1つの論理的な管理単位にまとめたもの。'><sup>3</sup></a></span>に保存します。</li>
<li>Firestore　は、リージョンレプリケーションを用いることで、同じリージョン内の複数の　AZ　にデータを複製することができます。ロケーションをマルチリージョンに選択した場合は、データを複製して元々それがあったリージョンだけでなく、さらに少なくとも2つの異なるリージョンにも保存することができますが、マルチリージョンに対応したリージョンは、europe　と　united states　のみなので、日本国内での利用を考えると現実的ではありません。</li>
</ul>
<p style="font-weight: bold;">可用性は、どちらも優れていますが、自動で複製できる分だけ　DynamoDB　の方が使いやすいといえます。</p>
<p>&nbsp;</p>
<h3>機能性</h3>
<ul>
<li>DynamoDB　は、データセットの大きさに関わらず、1秒ミリ単位でリクエストに応じることができます。</li>
<li>Firestore　は、高い可用性と耐用性を実現するため、DynamoDB　ほど速い応答を返すことはできません。</li>
</ul>
<p style="font-weight: bold;">機能性に関しては、DynamoDB　がおすすめといえます。</p>
<p>&nbsp;</p>
<h3>バックアップ</h3>
<ul>
<li>DynamoDB　において、ユーザーは2つのバックアップ方法を使うことができます。1つ目は、AWS Backup　を使う方法です。Backup　を使うことでユーザーはすべてのテーブルをバックアップをすることができます。2つ目は、Point- in -Time リカバリを使う方法です。これを使うことで、現在のテーブルを過去30日以内の状態に戻すことができます。</li>
<li>Firestore　において、ユーザーは　Google DataStore　を用いてインポート/エクスポートのワークフローを作らなければいけません。このワークフローは非常に複雑で、作るのが難しいです。</li>
</ul>
<p style="font-weight: bold;">バックアップの観点からは、DynamoDB　がおすすめです。</p>
<p>&nbsp;</p>
<h3>データ構造</h3>
<ul>
<li>DynamoDBは、キーバリュー型と呼ばれる、キーとバリューをペアで格納するデータベースです。</li>
<li>FireStoreは、ドキュメント型と呼ばれる、JSON　などのドキュメントをそのまま格納するデータベースです。</li>
</ul>
<p style="font-weight: bold;">データベースにおいては、キーバリュー型が基本的であり、ドキュメント型は　JSON　などのドキュメントの扱いも学ばなくてはならないため、学習コストは、DynamoDB　の方が低いといえます。ただし、ドキュメント型のデータベースは、データを自由な形式で保存できるというメリットがあります。FireStore　であれば、複雑なデータ設計に対応可能となります。</p>
<h2>ユースケース</h2>
<p style="font-weight: bold;">DynamoDB</p>
<ul>
<li>ゲームステートとプレーヤーのデータストアやプレイヤーのセッション履歴のデータストア</li>
</ul>
<p style="font-weight: bold;">Firestre</p>
<ul>
<li>オフラインファーストアプリケーションやリアルタイムアプリケーション</li>
</ul>
<h2>まとめ</h2>
<p>本記事では、Amazon DynamoDB　と　Google Cloud Firestore　について4つの観点から比較しました。<br />
可用性の観点、機能性の観点、バックアップの観点からは、DynamoDB　がおすすめです。データ構造の観点では、学習コストの低さを選ぶなら　DynamoDB　がおすすめですが、データ設計が複雑な開発を行いたいときはFirestoreを使うと良いと思います。<br />
初めは　DynamoDB　を使ってみて、NoSQL　に慣れてきて複雑なデータ設計を組みたくなったら、ぜひ　Firestore　にも挑戦してみてください。</p>
<h2>語句の説明</h2>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
