<?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>AWS &#8211; Taiziii Co., Ltd.</title>
	<atom:link href="https://taiziii.com/en/column_cat/aws-en/feed/" rel="self" type="application/rss+xml" />
	<link>https://taiziii.com</link>
	<description>事業理解に強いITコンサルタントとフルスタックエンジニアが、Webサービス・アプリ・業務システムを戦略設計から実装・保守運用まで一気通貫で支援。AI活用や内製化支援で成果に直結する開発を実現します。</description>
	<lastBuildDate>Wed, 19 Feb 2025 16:14:45 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://taiziii.com/wp-content/uploads/2023/10/favicon.ico</url>
	<title>AWS &#8211; Taiziii Co., Ltd.</title>
	<link>https://taiziii.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>If You’re Using NoSQL: Amazon DynamoDB vs. Google Cloud Firestore</title>
		<link>https://taiziii.com/en/column/1127/</link>
		
		<dc:creator><![CDATA[THiNGMAjiG_admin_user_master]]></dc:creator>
		<pubDate>Wed, 19 Feb 2025 16:14:45 +0000</pubDate>
				<guid isPermaLink="false">https://taiziii.com/?post_type=column&#038;p=1127</guid>

					<description><![CDATA[This time, we&#8217;re discussing NoSQL! By reading this article, you&#8217;ll understand the most suitable NoSQL for your needs! What You&#8217;ll Learn in This Article ・Overview of NoSQL ・Strengths, weaknesses, and use cases of various services Introduction In recent years, the demand for NoSQL has been increasing. This is because NoSQL is better suited for processing [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="balloonWrap">
<div class="balloon2-left">
    This time, we&#8217;re discussing NoSQL!
  </div>
<div class="balloon2-right">
    By reading this article, you&#8217;ll understand the most suitable NoSQL for your needs!
  </div>
</div>
<div class="intro"></div>
<h2>What You&#8217;ll Learn in This Article</h2>
<p>・Overview of NoSQL<br />
・Strengths, weaknesses, and use cases of various services  </p>
<h2>Introduction</h2>
<p>In recent years, the demand for NoSQL has been increasing. This is because NoSQL is better suited for processing big data compared to relational databases. In this article, we will compare two representative NoSQL databases, **Amazon DynamoDB** and **Google Cloud Firestore**, based on the following criteria:  </p>
<p style="font-weight: bold;">1. Availability</p>
<p style="font-weight: bold;">2. Functionality</p>
<p style="font-weight: bold;">3. Backup</p>
<p style="font-weight: bold;">4. Data Structure</p>
<p>Let’s begin with an explanation of NoSQL itself.<br />
NoSQL is a term that refers to non-relational databases, which differ from traditional RDBMS <span id='easy-footnote-1-1127' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/en/column/1127/#easy-footnote-bottom-1-1127' title='Short for Relational Database Management System, which links multiple tables in tabular format to allow data relationships.'><sup>1</sup></a></span>. NoSQL databases are designed to handle large-scale and complex data structures, offering excellent scalability and flexibility.<br />
The main types of NoSQL databases include:  </p>
<p style="font-weight: bold;">・Key-Value Stores</p>
<p style="font-weight: bold;">・Document Databases</p>
<p style="font-weight: bold;">・Graph Databases</p>
<p style="font-weight: bold;">・Column Databases</p>
<p>Key-value stores are databases that store data as key-value pairs. Both the key and value can be of any type, allowing for fast data retrieval and addition.<br />
Document databases store data as documents. These documents are formatted as JSON, XML, or similar text formats, making data addition and modification easy.  </p>
<p>Graph databases store data as nodes and edges. Nodes represent data elements, while edges represent relationships between nodes. These databases are suitable for data in social networks, financial transactions, and more.  </p>
<p>Column databases store data in columns, which are contained within rows called tuples. These databases are optimized for fast data retrieval and addition.  </p>
<p>NoSQL databases are ideal for storing and processing data that traditional RDBMS cannot handle. They are commonly considered for applications dealing with large-scale or complex data structures.  </p>
<h2>What is Amazon DynamoDB?</h2>
<p>Amazon DynamoDB is a fully managed NoSQL database service provided by AWS. Unlike traditional RDBMS, DynamoDB pricing is based on throughput rather than data size.<br />
DynamoDB excels in scalability, durability, and availability. It automatically scales, prevents data loss, and ensures high availability.<br />
DynamoDB is used in various applications, including web applications, mobile apps, and IoT applications, making it suitable for handling large-scale data and complex data structures.</p>
<h2>What is Google Cloud Firestore?</h2>
<p>Google Cloud Firestore is a fully managed NoSQL database service offered by Google Cloud Platform. Firestore is a document-based database that stores JSON documents. It is scalable, durable, and user-friendly.<br />
Like DynamoDB, Firestore is used in a wide range of applications, including web, mobile, and IoT. Furthermore, Firestore integrates seamlessly with other Google Cloud services, such as Cloud Functions, Cloud Storage, and Cloud Pub/Sub.</p>
<h2>Comparison</h2>
<h3>Availability</h3>
<ul>
<li>DynamoDB automatically replicates data across multiple AZs (Availability Zones) within the same region <span id='easy-footnote-2-1127' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/en/column/1127/#easy-footnote-bottom-2-1127' title='A physical location divided into logical zones for AWS services.'><sup>2</sup></a></span>.</li>
<li>Firestore also uses region replication to replicate data across multiple AZs in the same region. For multi-region configurations, data is replicated to at least two different regions. However, multi-region support is limited to regions in Europe and the United States, making it less practical for use in Japan.</li>
</ul>
<p style="font-weight: bold;">While both offer excellent availability, DynamoDB’s automatic replication is more user-friendly.</p>
<h3>Functionality</h3>
<ul>
<li>DynamoDB responds to requests in milliseconds, regardless of dataset size.</li>
<li>Firestore prioritizes high availability and durability, so it does not provide response times as fast as DynamoDB.</li>
</ul>
<p style="font-weight: bold;">In terms of functionality, DynamoDB is the recommended choice.</p>
<h3>Backup</h3>
<ul>
<li>DynamoDB offers two backup methods. The first uses AWS Backup to back up all tables. The second employs Point-in-Time Recovery, allowing users to restore tables to any state within the past 30 days.</li>
<li>Firestore requires users to create an import/export workflow using Google DataStore. This workflow is complex and challenging to set up.</li>
</ul>
<p style="font-weight: bold;">For backup options, DynamoDB is more favorable.</p>
<h3>Data Structure</h3>
<ul>
<li>DynamoDB uses a key-value data model, storing data as key-value pairs.</li>
<li>Firestore is a document database that stores data as JSON documents.</li>
</ul>
<p style="font-weight: bold;">
The key-value model of DynamoDB is more basic, making it easier to learn. However, document databases like Firestore offer flexibility in storing complex data structures, making them suitable for advanced designs.
</p>
<h2>Use Cases</h2>
<p style="font-weight: bold;">DynamoDB</p>
<ul>
<li>Game state and player session data storage</li>
</ul>
<p style="font-weight: bold;">Firestore</p>
<ul>
<li>Offline-first applications and real-time applications</li>
</ul>
<h2>Conclusion</h2>
<p>This article compared Amazon DynamoDB and Google Cloud Firestore from four perspectives.<br />
In terms of availability, functionality, and backup options, DynamoDB is the preferred choice. However, if you prioritize complex data design, Firestore’s document-based model is advantageous.<br />
Consider starting with DynamoDB to familiarize yourself with NoSQL. Once comfortable, try Firestore for projects requiring complex data designs.</p>
<h2>Glossary</h2>
<p><span id='easy-footnote-4-1127' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/en/column/1127/#easy-footnote-bottom-4-1127' title='Text enclosed in &lt;span id=&#039;easy-footnote-3-1127&#039; class=&#039;easy-footnote-margin-adjust&#039;&gt;&lt;/span&gt;&lt;span class=&#039;easy-footnote&#039;&gt;&lt;a href=&#039;https://taiziii.com/en/column/1127/#easy-footnote-bottom-3-1127&#039; title=&#039;&#039;&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;'><sup>4</sup></a></span> indicates independent content and should remain unchanged.[/efn_note]</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>If Implementing Batch Processing on AWS: AWS Lambda vs Amazon ECS vs AWS&#8230;</title>
		<link>https://taiziii.com/en/column/1126/</link>
		
		<dc:creator><![CDATA[THiNGMAjiG_admin_user_master]]></dc:creator>
		<pubDate>Wed, 19 Feb 2025 16:13:56 +0000</pubDate>
				<guid isPermaLink="false">https://taiziii.com/?post_type=column&#038;p=1126</guid>

					<description><![CDATA[This article is about the implementation of batch processing using AWS! By reading this article, you should no longer have to worry about which services to use for implementing batch processing! What You Can Learn from This Article &#8211; Overview of Lambda, ECS, and Batch &#8211; Serverless concepts &#8211; Container concepts &#8211; Pros and cons [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="balloonWrap">
<div class="balloon2-left">This article is about the implementation of batch processing using AWS!</div>
<div class="balloon2-right">By reading this article, you should no longer have to worry about which services to use for implementing batch processing!</div>
</div>
<h2>What You Can Learn from This Article</h2>
<p>&#8211; Overview of Lambda, ECS, and Batch &#8211; Serverless concepts &#8211; Container concepts &#8211; Pros and cons of each service and their use cases</p>
<h2>Introduction</h2>
<p>AWS offers a wide variety of computing services, which can be great for application development but may be confusing for beginners. This article will explain three AWS services: AWS Lambda, AWS ECS, and AWS Batch, from the perspectives of:</p>
<p style="font-weight: bold;">1. Cost performance</p>
<p style="font-weight: bold;">2. Flexibility</p>
<p style="font-weight: bold;">3. Functionality</p>
<p>We will dive into the details of these services. To fully understand the content of this article, some knowledge of serverless and container services is required. So, let&#8217;s first explain what serverless and container services are.</p>
<h2>What is a Serverless Service?</h2>
<p>A serverless service is a cloud computing service where the service provider manages the server hardware and infrastructure. Users only use the resources such as server instances and storage capacity as needed, and are charged based on usage. Serverless services have several advantages:</p>
<p style="font-weight: bold;">・No need for infrastructure management, which helps reduce costs.</p>
<p style="font-weight: bold;">・Development can focus on core tasks, increasing productivity.</p>
<p style="font-weight: bold;">・Excellent scalability, capable of handling sudden increases in traffic.</p>
<p>Serverless services are used in various fields such as web application development, mobile app development, data analysis, and IoT. Some representative serverless services include:</p>
<p style="font-weight: bold;">・AWS Lambda (introduced in this article)</p>
<p style="font-weight: bold;">・Microsoft Azure Functions</p>
<p style="font-weight: bold;">・Google Cloud Functions</p>
<p style="font-weight: bold;">・IBM Cloud Functions</p>
<p>Serverless services are a growing trend in cloud computing and are expected to become even more widespread.</p>
<p><span style="font-size: 8pt;">(For more about serverless services, check here↓)</span></p>
<p><span style="color: #3366ff;"><a style="color: #3366ff;" href="http://thingmajig.jp.testhosting.work/column/307/" target="_blank" rel="noopener">Which serverless service should you use? AWS Lambda vs Azure Functions vs Cloud Functions</a></span></p>
<p><a href="http://thingmajig.jp.testhosting.work/column/297/" target="_blank" rel="noopener"><span style="color: #3366ff;">Which serverless service should you use on AWS?</span><span style="color: #3366ff;"> AWS Lambda vs AWS Fargate</span></a></p>
<h2>What is Container Service?</h2>
<p>A container service refers to a cloud service that utilizes container technology to deploy, run, and manage applications. Containers are lightweight virtual units that package applications along with their dependencies and runtime environments. By using container services, applications can be deployed more efficiently, scalability is improved, and management becomes easier. Specific benefits include:</p>
<p style="font-weight: bold;">・Containers help reduce issues caused by environment discrepancies since the application&#8217;s environment is encapsulated within the container.</p>
<p style="font-weight: bold;">・Containers are lightweight, start quickly, and allow for efficient resource utilization.</p>
<p style="font-weight: bold;">・Scalability is enhanced, enabling flexible response to load fluctuations.</p>
<p style="font-weight: bold;">・Containers are ideal for implementing microservices architecture and building loosely coupled applications.</p>
<p>However, when adopting container services, attention should be paid to security, network settings, monitoring, and management. Proper design and best practices are crucial.<br />
Some representative container services include Docker and Kubernetes.</p>
<h3>Docker</h3>
<p>Docker is a pioneer of container technology, allowing applications and their dependencies to be packaged into containers, fully isolating the runtime environment. Many cloud providers (AWS, Azure, Google Cloud, etc.) offer managed services for hosting Docker containers, which makes it easy to deploy, scale, and monitor containers.</p>
<h3>Kubernetes</h3>
<p>Kubernetes is a container orchestration system that allows for the deployment, scaling, automatic recovery, and version management of multiple containers. Kubernetes is an open-source project widely used by various cloud providers and in on-premises environments. It is highly flexible and scalable, making it suitable for deploying various types of applications.</p>
<h2>What is AWS Lambda?</h2>
<p>AWS Lambda is a serverless computing service provided by AWS. It allows you to execute code without worrying about servers or clusters. AWS Lambda provides an environment to run code when events occur. Events can include HTTP requests, message queues, database changes, and more. AWS Lambda can be used for web applications, backend services, data analytics, and other purposes.<br />
Benefits of AWS Lambda include:</p>
<p style="font-weight: bold;">・No need to manage servers or clusters</p>
<p style="font-weight: bold;">・Scalable and automatically runs code each time an event occurs</p>
<p>With AWS Lambda, there&#8217;s no need to manage servers or clusters, making it easier to handle server load.</p>
<h2>What is Amazon ECS?</h2>
<p>Amazon ECS is a fully managed service for running and managing Docker containers, often used in conjunction with Amazon EC2 <span id='easy-footnote-1-1126' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/en/column/1126/#easy-footnote-bottom-1-1126' title='a service for building virtual servers'><sup>1</sup></a></span>. ECS allows you to create, deploy, scale, and manage containers. It can be used for various purposes such as web applications, backend services, and data analytics.<br />
Benefits of ECS include:</p>
<p style="font-weight: bold;">・Easy container creation, deployment, scaling, and management</p>
<p style="font-weight: bold;">・Scalable, allowing automatic adjustment of container numbers based on load</p>
<p>With ECS, container creation, deployment, scaling, and management are simplified, allowing for efficient container operation.</p>
<h2>What is AWS Batch?</h2>
<p>AWS Batch is a service for running scalable and simple batch processing jobs. AWS Batch allows you to create, schedule, and execute batch processing jobs. It supports automatic scaling of compute instances, adjusting the number of instances according to the batch processing job&#8217;s load.<br />
Benefits of AWS Batch include:</p>
<p style="font-weight: bold;">・Scalable and simple execution of batch processing jobs</p>
<p style="font-weight: bold;">・Supports automatic scaling of compute instances, adjusting based on job load</p>
<p>With AWS Batch, you can run scalable and simple batch processing jobs, efficiently managing your tasks.</p>
<h2>Comparison</h2>
<h3>Availability</h3>
<ul>
<li>With Lambda, if memory runs out, you can increase the memory amount from the console, and it can handle sudden spikes in requests without issues.</li>
<li>With ECS, if memory runs out, you cannot increase memory from the console. You need to launch a new instance and set up an environment to run your program again.</li>
<li>Batch is the same as ECS in this regard.</li>
</ul>
<p style="font-weight: bold;">In terms of availability, Lambda is better.</p>
<h3>Flexibility</h3>
<ul>
<li>Lambda has a limit of 15 minutes for execution time, and the supported development languages are limited to nodeJS, Python, Go, Java, Ruby, .Net, and C#. However, most necessary languages are available for development.</li>
<li>ECS and Batch allow you to freely select server specifications based on your needs.</li>
</ul>
<p style="font-weight: bold;">In terms of flexibility, ECS and Batch are superior.</p>
<h3>Functionality</h3>
<ul>
<li>Lambda forces a stop after 15 minutes of processing.</li>
<li>ECS allows processing for more than 15 minutes.</li>
<li>Batch allows processing for more than 15 minutes and is suitable for larger-scale processing than Amazon ECS.</li>
</ul>
<p style="font-weight: bold;">In terms of functionality, ECS and Batch are recommended.</p>
<h3>Cost</h3>
<ul>
<li>Lambda charges based on usage time and has a free tier of 1 million requests per month.</li>
<li>ECS charges based on the time EC2 instances are running.</li>
<li>Batch charges for the compute resources used.</li>
</ul>
<p>These services have different pricing structures, so it’s difficult to compare them directly. Here’s an example of costs with specific conditions:</p>
<p style="font-weight: bold;">・Process running with 128MB memory</p>
<p style="font-weight: bold;">・Each API call takes 3 seconds</p>
<p style="font-weight: bold;">・1 request per second</p>
<h4>Lambda Cost Calculation</h4>
<p>・Requests 86,400 (requests/day) * 30 (days) = 2,592,000 requests 2,592,000 &#8211; 1,000,000 (free tier) = 1,592,000 requests 1,592,000 / 1,000,000 * 0.20 USD = 0.3184 USD ・Execution time 0.128 (GB/request) * 3 (seconds) = 0.384 (GB-seconds/request) 0.384 * 86,400 (requests/day) * 30 (days) = 995,328 GB-seconds 995,328 &#8211; 400,000 (free tier) = 595,328 GB-seconds 595,328 * 0.0000166667 USD = 9.9222 USD<br />
Total: 0.3184 + 9.9222 = 10.2406 USD</p>
<h4>EC2 Cost Calculation</h4>
<p>For a t3.nano instance (2 vCPUs, 0.5GiB memory): 0.0068 USD/hour * 24 (hours) * 30 (days) = 4.896 USD</p>
<p>&nbsp;</p>
<h4>AWS Batch</h4>
<p>For a t3.nano instance with 2 vCPUs and 0.5 GiB of memory:<br />
Calculation:<br />
0.0068 USD/hour * 24 hours * 30 days = 4.896 USD</p>
<h2>Use Cases</h2>
<p>AWS Lambda is typically used for small-scale processing, often combined with other services. Specifically, it is frequently used with:</p>
<ul>
<li>API Gateway to create API systems that simplify the management and execution of APIs.</li>
<li>Amazon EventBridge for cron systems, enabling automated tasks like nightly database maintenance or hourly sales data aggregation.</li>
<li>SQS for asynchronous processing, such as credit card payment processing in e-commerce sites.</li>
</ul>
<p>Amazon ECS is used for large-scale processing that takes a long time. It is particularly suited for Microservices<span id='easy-footnote-2-1126' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/en/column/1126/#easy-footnote-bottom-2-1126' title='It is a method of dividing a complex application into multiple simpler services, which can be developed independently, while a batch job is a collection of tasks that are predefined and processed together as a batch.'><sup>2</sup></a></span>,Batch jobs, where tasks are pre-defined and executed in bulk.</li>
</ul>
<p>Batch is used for batch processing that requires a large number of parallel executions beyond the service quotas of ECS. <span id='easy-footnote-3-1126' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://taiziii.com/en/column/1126/#easy-footnote-bottom-3-1126' title='Service quotas are the limits set for each AWS service.'><sup>3</sup></a></span>It is typically used in fields such as life sciences, computational chemistry, clinical modeling, and financial services for processing transaction data or analyzing sensitive information. AWS Batch is considered over-spec for general corporate use and is mainly employed by large enterprises and research institutions.</p>
<table style="border-collapse: collapse; width: 100%;">
<tbody>
<tr>
<td style="width: 50%;">
<p style="font-weight: bold;">Service</p>
</td>
<td style="width: 50%;">
<p style="font-weight: bold;">Data Processing Scale</p>
</td>
</tr>
<tr>
<td style="width: 50%;">Lambda</td>
<td style="width: 50%;">Small-scale</td>
</tr>
<tr>
<td style="width: 50%;">ECS</td>
<td style="width: 50%;">Large-scale</td>
</tr>
<tr>
<td style="width: 50%;">Batch</td>
<td style="width: 50%;">Large-scale (beyond ECS)</td>
</tr>
</tbody>
</table>
<h2>Conclusion</h2>
<p>This article explained the AWS computing services: AWS Lambda, Amazon ECS, and AWS Batch. For beginners, Lambda is easier to use, and AWS Batch may be overkill for typical development tasks. If you&#8217;re new to AWS development, start with Lambda and once you&#8217;re comfortable, try using ECS as well.</p>
<h2>Explanation of Terms</h2>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
