<?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>Database - Techcity Company Limited</title>
	<atom:link href="https://techcity.cloud/category/blog/database/feed/" rel="self" type="application/rss+xml" />
	<link>https://techcity.cloud</link>
	<description>Best Cloud Computing Services!</description>
	<lastBuildDate>Sat, 02 Jul 2022 06:42:19 +0000</lastBuildDate>
	<language>vi</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://techcity.cloud/wp-content/uploads/2021/07/cropped-Techcity-Favicon-32x32.png</url>
	<title>Database - Techcity Company Limited</title>
	<link>https://techcity.cloud</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Designing Database Architecture – Incorporating Monitoring</title>
		<link>https://techcity.cloud/blog/database/designing-database-architecture-incorporating-monitoring/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 06:42:18 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7606</guid>

					<description><![CDATA[<p>Database monitoring comes in a variety of formats, ranging from high-level reporting of system health to assessing granular operations that could impact application performance. Monitoring Options<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-incorporating-monitoring/">Designing Database Architecture – Incorporating Monitoring</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Database monitoring comes in a variety of formats, ranging from high-level reporting of system health to assessing granular operations that could impact application performance.</p>



<p><strong>Monitoring Options</strong></p>



<ul class="wp-block-list"><li><strong>DBMS monitoring extensions: </strong>Extensions or add-ons within the database layer that provide insights on query efficiency, database connections, and more.</li><li><strong>Cloud provider monitoring tools: </strong>Most cloud providers include free monitoring for your database infrastructure to show metrics like CPU usage and network transfer. Some cloud providers also offer database monitoring as part of their managed database service</li><li><strong>External monitoring tools: </strong>Database-specific monitoring tools are designed to provide more insight beyond metrics like your underlying infrastructure’s CPU usage or network traffic. There is a wide variety of these tools available that fit different workloads. Here are a few examples of free open source database monitoring tools<ul><li><strong>Prometheus &amp; MySQL Exporter: </strong>Built on top of the popular open source infrastructure monitoring tool, Prometheus, MySQL Server Exporter allows you to create a series of collector flags.</li><li><strong>VictoriaMetrics: </strong>A time series database and monitoring solution to help process real-time metrics using the PromQL, MetricsQL, and Graphite query languages Best suited for small to medium size database environments Deploy via the Linode Marketplace</li><li><strong>Percona Monitoring &amp; Management: </strong>Optimize database performance and track behavior patterns for MySQL, PostgreSQL, and MongoDB Deploy via the Linode Marketplace.</li></ul></li></ul>



<p><strong><em>When should you separate your database monitoring layer?</em> </strong></p>



<p>If you just want to keep an eye on CPU usage, relying on more standard infrastructure monitoring solutions will suffice. If you want to be able to observe performance at the query or table level, or check database logs during very specific points in time, an external monitoring tool will give you additional insight that can benefit your application</p><p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-incorporating-monitoring/">Designing Database Architecture – Incorporating Monitoring</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Designing Database Architecture – Horizontal Scaling with MySQL NDB Cluster and Database Sharding</title>
		<link>https://techcity.cloud/blog/database/designing-database-architecture-horizontal-scaling-with-mysql-ndb-cluster-and-database-sharding/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 06:40:40 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7598</guid>

					<description><![CDATA[<p>While the replication solutions presented can address horizontal scaling for high volumes of traffic, they do not address the needs of applications that store very large<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-horizontal-scaling-with-mysql-ndb-cluster-and-database-sharding/">Designing Database Architecture – Horizontal Scaling with MySQL NDB Cluster and Database Sharding</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>While the replication solutions presented can address horizontal scaling for high volumes of traffic, they do not address the needs of applications that store very large amounts of data This is because the database replicas each maintain the full set of data for the application, and there are limits to the disk space that can be provisioned to a database server.</p>



<p>To address this issue, an architecture that implements <em>database sharding </em>can be used With sharding, a single, large table is split into multiple smaller tables The process of splitting a table is referred to as <em>partitioning</em>. When stored across multiple servers, these smaller tables are referred to as shards The databases in your cluster each store one of the <em>shards </em>Together, the databases in the cluster constitute your full data set For example, if a human resources application stored employee records for 1,000 companies, but found that the dataset size was too big for a single table, then the records could be split into two shards representing 500 companies each</p>



<p>MySQL NDB Cluster is a solution that provides automatic sharding for MySQL The diagram below shows<br>an example of how a MySQL NDB Cluster would fit into the example web application. This diagram omits the load balancer, cloud firewall, and web server cluster as those remain the same:</p>



<p class="has-text-align-center"><strong>Database Sharding for Large Data Sets</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" src="https://techcity.cloud/wp-content/uploads/2022/07/Database-Sharding-for-Large-Data-Sets-1024x925.jpg" alt="" class="wp-image-7604" width="768" height="694" srcset="https://techcity.cloud/wp-content/uploads/2022/07/Database-Sharding-for-Large-Data-Sets-1024x925.jpg 1024w, https://techcity.cloud/wp-content/uploads/2022/07/Database-Sharding-for-Large-Data-Sets-300x271.jpg 300w, https://techcity.cloud/wp-content/uploads/2022/07/Database-Sharding-for-Large-Data-Sets-768x694.jpg 768w" sizes="(max-width:767px) 480px, (max-width:768px) 100vw, 768px" /></figure>
</div>


<p>The MySQL NDB Cluster in this diagram provides three MySQL servers that accept read and write SQL commands from the web servers The number of these servers can be horizontally scaled to meet demand and provide failover These servers do not store data Instead, they update and retrieve records from a separate set of data nodes.</p>



<p>The data nodes store shards of the dataset and run the <strong>ndbd </strong>data node daemon process Each shard can have multiple replica nodes, and you can configure how many replicas per shard there should be. The total number of data nodes is equal to the number of shards multiplied by the number of replicas per shard In the diagram above, there are two shards, and two replicas per shard (a primary replica and a secondary replica), for a total of four data nodes Having multiple replicas per shard allows for recovery for failing nodes, and this recovery process is automatic (similar to MySQL Group Replication).</p>



<p>Using sharding can offer very high scaling of dataset size, but it can also make your application logic more complex. In particular, you need to carefully configure how your data is partitioned into multiple shards, because this decision impacts overall database performance Sharding requires a more in-depth understanding of your database and the underlying infrastructure.</p><p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-horizontal-scaling-with-mysql-ndb-cluster-and-database-sharding/">Designing Database Architecture – Horizontal Scaling with MySQL NDB Cluster and Database Sharding</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Designing Database Architecture – Horizontal Scaling with MySQL Replication</title>
		<link>https://techcity.cloud/blog/database/designing-database-architecture-horizontal-scaling-with-mysql-replication/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 06:32:54 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7590</guid>

					<description><![CDATA[<p>Horizontal scaling can address high-traffic growth and solve availability issues. It addresses these issues by adding additional servers to your infrastructure Together the servers form a<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-horizontal-scaling-with-mysql-replication/">Designing Database Architecture – Horizontal Scaling with MySQL Replication</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Horizontal scaling can address high-traffic growth and solve availability issues. It addresses these issues by adding additional servers to your infrastructure Together the servers form a <em>high availability (HA) cluster </em>Adding servers can lead to more complexity in the design of your infrastructure and require changes to your services’ configuration and/or application code. Even with these required changes, running your web application on an HA cluster with proper load balancing is the most reliable and efficient way to start building out your backend infrastructure.</p>



<p>In the previous section, a two-server solution was presented that separated the web server from the database server While it did not solve vertical scaling’s problems, the separation of web servers and database servers is an important step towards creating a horizontal scaling solution.</p>



<p>In a horizontal scaling solution, the single web server is replaced with a high availability cluster of web servers, and the single database server is replaced with another, separate high availability cluster of database servers By having two separate clusters in your architecture for these services, you can horizontally scale them independently of each other and choose server instances with different hardware that is better suited for each workload.</p>



<p>There are several different ways to architect your database cluster, each with varying degrees of complexity and different trade-offs. This section and the diagram below illustrate how to use <em>MySQL replicas </em>to facilitate high availability.</p>



<p class="has-text-align-center"><strong>Multi-Replication for Application High Availability</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" src="https://techcity.cloud/wp-content/uploads/2022/07/Multi-Replication-for-Application-High-Availability-782x1024.jpg" alt="" class="wp-image-7591" width="587" height="768" srcset="https://techcity.cloud/wp-content/uploads/2022/07/Multi-Replication-for-Application-High-Availability-782x1024.jpg 782w, https://techcity.cloud/wp-content/uploads/2022/07/Multi-Replication-for-Application-High-Availability-229x300.jpg 229w" sizes="(max-width:767px) 480px, 587px" /></figure>
</div>


<p>In the diagram above, a <em>load balancer </em>receives traffic from the Internet. A load balancer is a service that forwards and distributes traffic among another set of servers. Cloud providers generally offer load balancing as a service (Linode’s NodeBalancer solution is pictured). This service can also be implemented with open source software, including HAProxy, NGINX, and the Apache HTTP Server.</p>



<p>Before the forwarded traffic arrives at your web servers, it is intercepted by a cloud firewall. The cloud firewall lifts the firewalling burden from the operating system to the network level. Many cloud providers offer managed cloud firewalls, but this service can also be implemented with open source software on commodity hardware.</p>



<p>After being filtered, the traffic is distributed among a cluster of web servers. In many cases, these web servers can all be identical clones of each other. You can add or remove web servers in this cluster as needed to handle scaling traffic demand, which is an example of horizontal scalability. If a server fails, the load balancer will re-route traffic to other healthy servers, so the service remains available. Server creation can be automated with configuration management and Infrastructure as Code (IaC) tools like Ansible and Terraform.</p>



<p>The web servers in turn request data from a database cluster Unlike the web servers, the database server are not all identical in function In particular, only one database is set to receive write operations from the web application This server is designated as the primary database For example, if you operated a news website, the new articles that your writers published would be added to the database on this server.</p>



<p>The other databases in this cluster act as <em>replicas </em>of the primary database These servers receive all data added to the primary database through an asynchronous process Because this process is asynchronous, write operations on the primary database are still fast to execute These servers then receive all read operations from the web server cluster.</p>



<p>MySQL offers tools to help add new replicas to the cluster when needed, so your applications’ read operations can be horizontally scaled However, there is only one primary database in this architecture, so write operations cannot also be horizontally scaled. Still, this architecture can offer significant benefits to certain kinds of applications. In the news organization website example, the source of high-traffic demand is from readers of the website, not from writers adding articles. This traffic pattern aligns with the trade-offs in this setup.</p>



<p>There are a few other notable issues with this architecture First, when a new write operation is received by the primary database, it immediately persists the updated records The database does not wait for the replication process to complete, because that is asynchronous This means that in the event of a primary database failure, the replicas might not have the most recently updated records Also, when the primary database fails, it acts as a single point of failure for write operations Still, read operations will continue on the replicas in this scenario, so a website can continue to display existing content If the primary database fails, MySQL provides tools to manually promote one of the replicas to the position of the new primary database, after which write operations can resume.</p>



<p>Enhancements and alternative replication solutions exist to address these issues:</p>



<ul class="wp-block-list"><li>MySQL replication can be configured to be <em>semisynchronous </em>instead of asynchronous This means that the primary database will wait for at least one replica to process new write operations before they are persisted Because at least one replica will have the latest data, you can be sure that you will not lose data in the event of a primary database failure However, semisynchronous replication is slower than asynchronous replication.</li><li>MySQL Group Replication is a replication solution in which the database servers automatically coordinate with each other For example, in the event of a primary database outage, a replica server is automatically promoted to the new primary position. MySQL Group Replication can be configured with a single primary database, or it can be configured to have multiple primary databases that receive write operations. However, maintaining multiple primary databases involves other trade-offs.</li><li>InnoDB Cluster bundles a MySQL Group Replication cluster with MySQL Router, which facilitates routing traffic from the web servers to the database cluster, and MySQL Shell, which is an advanced administration client for the cluster</li><li>Galera is a multi-primary database solution where all databases in the cluster can receive write and read operations using completely synchronous replication between them It is also compatible with forks of MySQL like MariaDB and Percona.</li></ul><p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-horizontal-scaling-with-mysql-replication/">Designing Database Architecture – Horizontal Scaling with MySQL Replication</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Designing Database Architecture – Single Server Deployment and Vertical Scaling</title>
		<link>https://techcity.cloud/blog/database/designing-database-architecture-single-server-deployment-and-vertical-scaling/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 06:30:53 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7586</guid>

					<description><![CDATA[<p>Single Server Deployment and Vertical Scaling Provisioning a LAMP stack on a single node can be done in two steps Deploy a Linux server, then install<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-single-server-deployment-and-vertical-scaling/">Designing Database Architecture – Single Server Deployment and Vertical Scaling</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Single Server Deployment and Vertical Scaling</strong></p>



<p>Provisioning a LAMP stack on a single node can be done in two steps</p>



<ol class="wp-block-list"><li>Deploy a Linux server, then install the other three software packages via your distribution’s package manager. Once the stack is provisioned, your web application’s code should be installed and configured. This work can often be automated with open source tooling; for example, WP-CLI can be used to install WordPress on a server</li><li>You need to consider the network security and availability of your server. Many cloud providers offer network filtering to prevent or reduce the impact of denial-of-service and other kinds of network attacks. However, it’s still important to fine-tune your network security configuration with a firewall.</li></ol>



<p>In this section’s example architecture, the firewall is a process that runs on your server. The firewall intercepts network packets when they are first processed by the operating system and only allows traffic on certain network ports to proceed. For a web application, your firewall would allow HTTP (port 80) and HTTPS (port 443) traffic. Linux and other operating systems have built-in firewall options, like iptables, ufw, and FirewallD</p>



<p class="has-text-align-center"><strong>Single Node LAMP Stack with Cloud Firewall</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" src="https://techcity.cloud/wp-content/uploads/2022/07/Single-Node-LAMP-Stack-with-Cloud-Firewall-977x1024.jpg" alt="" class="wp-image-7587" width="733" height="768" srcset="https://techcity.cloud/wp-content/uploads/2022/07/Single-Node-LAMP-Stack-with-Cloud-Firewall-977x1024.jpg 977w, https://techcity.cloud/wp-content/uploads/2022/07/Single-Node-LAMP-Stack-with-Cloud-Firewall-286x300.jpg 286w" sizes="(max-width:767px) 480px, 733px" /></figure>
</div>


<p>The resulting setup has one server running the LAMP stack where network traffic is filtered by a firewall also</p>



<p>running on the server There are limitations for this setup:</p>



<ul class="wp-block-list"><li><strong>Growth and scaling: </strong>With one server, you’re confined to that server’s memory, compute, and disk space resources. If your website starts seeing more traffic, you might need to increase the memory, compute, and/or disk space of the server to handle the load This is referred to as <em>vertical scaling </em>This process can vary in difficulty, depending on your cloud provider’s tooling, or on hardware availability for on-premise deployments. Vertical scaling can only offer a limited solution for capacity, as there are upper limits on the resources for a single server.</li><li><strong>Availability: </strong>Operating a single server means that there is a single point of failure for your web application. If the server needs hardware maintenance, or if one of the software components in the stack halts unexpectedly, then your web application will not be available To some extent, the issue of traffic growth can be addressed by moving the database to its own server, as in the following diagram:</li></ul>



<p class="has-text-align-center"><strong>Vertical Scaling with Separate Web and Database Nodes</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://techcity.cloud/wp-content/uploads/2022/07/Vertical-Scaling-with-Separate-Web-and-Database-Nodes-800x1024.jpg" alt="" class="wp-image-7588" width="600" height="768" srcset="https://techcity.cloud/wp-content/uploads/2022/07/Vertical-Scaling-with-Separate-Web-and-Database-Nodes-800x1024.jpg 800w, https://techcity.cloud/wp-content/uploads/2022/07/Vertical-Scaling-with-Separate-Web-and-Database-Nodes-234x300.jpg 234w" sizes="(max-width:767px) 480px, 600px" /></figure>
</div>


<p>By doing this, the compute, memory, and disk space needs of your web server and database can be adjusted independently This is still an example of vertical scaling, and it does not resolve availability issues.</p><p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-single-server-deployment-and-vertical-scaling/">Designing Database Architecture – Single Server Deployment and Vertical Scaling</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Designing Database Architecture &#8211; Single Node Web Server Architecture</title>
		<link>https://techcity.cloud/blog/database/designing-database-architecture-single-node-web-server-architecture/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 06:26:16 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7583</guid>

					<description><![CDATA[<p>Reference Architecture Examples The typical real-world use case for a database is to store and handle structured information as partof an application’s software stack. The foundation<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-single-node-web-server-architecture/">Designing Database Architecture – Single Node Web Server Architecture</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Reference Architecture Examples</strong></p>



<p>The typical real-world use case for a database is to store and handle structured information as part<br>of an application’s software stack. The foundation of a simple web application is the operating system of your server, with a web server, database, and application code layer running on top of it The OS provides basic networking functionality that the web server relies on to serve content In the code layer, a programming language and application software framework are used to direct the client-side UI in your users’ browser. We can look at a server running a WordPress site to illustrate these concepts:</p>



<p class="has-text-align-center"><strong>Single Node Web Server Architecture</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://techcity.cloud/wp-content/uploads/2022/07/Single-Node-Web-Server-Architecture-948x1024.jpg" alt="" class="wp-image-7584" width="711" height="768" srcset="https://techcity.cloud/wp-content/uploads/2022/07/Single-Node-Web-Server-Architecture-948x1024.jpg 948w, https://techcity.cloud/wp-content/uploads/2022/07/Single-Node-Web-Server-Architecture-278x300.jpg 278w" sizes="(max-width:767px) 480px, 711px" /></figure>
</div>


<p>A WordPress site commonly leverages a software stack called <em>LAMP</em>, which is composed of the <strong>L</strong>inux operating system, <strong>A</strong>pache HTTP web server, <strong>M</strong>ySQL database, and <strong>P</strong>HP programming language LAMP is one of the most popular web application software stacks in use. There are also alternatives to the LAMP stack. For example, you can use Python and an associated web application framework (like Django) instead of PHP Or, you can use the NGINX web server instead of Apache; this is referred to as the <em>LEMP </em>stack (the “E” comes from the pronunciation of NGINX, which is “Engine X”) There are many other variations of this concept, but the following scenario focuses on a traditional LAMP stack.</p><p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture-single-node-web-server-architecture/">Designing Database Architecture – Single Node Web Server Architecture</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Designing Database Architecture</title>
		<link>https://techcity.cloud/blog/database/designing-database-architecture/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 06:13:47 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7570</guid>

					<description><![CDATA[<p>Designing Database Architecture Many websites and web applications can be operated with a single-server configuration, where your database exists on the same server as all of<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture/">Designing Database Architecture</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Designing Database Architecture</strong></p>



<p>Many websites and web applications can be operated with a single-server configuration, where your database exists on the same server as all of the application’s other software components. This can be appropriate when your server (possibly when paired with external storage, like block storage) has enough compute and storage resources to accommodate your application’s data and traffic. This approach is fine for smaller, general use websites that might host some forms and media files. For example, a WordPress blog can run well on a single-server setup.</p>



<p>As your application’s features and data requirements grow, your database infrastructure needs additional flexibility and scalability to meet the performance expectations of your users or customers. Necessary changes could include moving the database to its own compute instance(s), or designing an advanced architecture with replicas, read-only instances, sharding, and/or other components These changes can enhance both the performance and security of your database.</p>



<p>Application performance is a shared responsibility Even if you or your team doesn’t currently prioritize conversion rates, poor application performance will come back to haunt you in other ways, including: decreased user trust, violation of your application’s SLA (the guaranteed availability of your services), and an increase in support tickets.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Research into human response indicates applications have roughly 100 milliseconds (ms)—one third of the time it takes to blink— before users feel like they’re waiting for a response</p><cite><br><strong>Lee Atchison</strong><br>Caching at Scale with Redis</cite></blockquote>



<p></p>



<p>To help get you started, here are five examples of database-specific reference architecture that show how these setups differ, and their benefits. Please read more next post!</p><p>The post <a href="https://techcity.cloud/blog/database/designing-database-architecture/">Designing Database Architecture</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Overview of Popular DBMSeS – Cassandra</title>
		<link>https://techcity.cloud/blog/database/overview-of-popular-dbmses-cassandra/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 05:57:08 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7568</guid>

					<description><![CDATA[<p>Cassandra is an open source columnar database that supports very large amounts of structured data Cassandra does not declare a primary server; instead, data is distributed<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-cassandra/">Overview of Popular DBMSeS – Cassandra</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Cassandra </strong>is an open source columnar database that supports very large amounts of structured data Cassandra does not declare a primary server; instead, data is distributed in a cluster of nodes, each<br>of which can process client requests This provides an “always-on” architecture that is extremely<br>appealing for enterprise applications that cannot experience database downtime Cassandra was originally an open source project developed by Facebook in 2008 to optimize message inbox search It was later declared an Apache top-level project in 2010</p>



<p><strong>Strengths</strong></p>



<ul class="wp-block-list"><li><strong>“Ring” Architecture: </strong>Multiple nodes are organized logically in a “ring ” Each node can accept read and write requests so there is no single point of failure</li><li><strong>Ease of Use: </strong>Cassandra’s query language, CQL, has a syntax similar to traditional SQL and has a reduced learning curve for developers switching from a SQL database</li><li><strong>Write Speed: </strong>Cassandra is efficient for writing very large amounts of data. When performing a write operation, replicas of a new record are stored across multiple cluster nodes and these replicas are created in parallel Only a subset of those nodes need to complete a replica update for the write operation to be considered successful, which means that the write operation can finish sooner.</li></ul>



<p><strong>Weaknesses</strong></p>



<ul class="wp-block-list"><li><strong>Read Time: </strong>Records in a Cassandra database are assigned a primary key attribute The value of the primary key determines which cluster nodes a record is stored on When querying data by primary key, read performance is fast, because the node that stores the data can be found quickly However, querying data using attributes other than the primary key is slower</li><li>Not ACID-compliant out of the box. Instead, Cassandra offers several levels of trade-off between data consistency and availability for developers <strong>Use Cases: </strong>Personalization Engines, Content Management, Games, IOT Applications</li></ul><p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-cassandra/">Overview of Popular DBMSeS – Cassandra</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Overview of Popular DBMSeS &#8211; Redis</title>
		<link>https://techcity.cloud/blog/database/overview-of-popular-dbmses-redis/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 05:51:14 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7566</guid>

					<description><![CDATA[<p>Redis (short for “REmote DIctionary Server”) is an open source in-memory database that is useful for applications that require rapid data updates in real time Redis<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-redis/">Overview of Popular DBMSeS – Redis</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Redis </strong>(short for “REmote DIctionary Server”) is an open source in-memory database that is useful for applications that require rapid data updates in real time Redis stands out from relational databases<br>by using key-value pairs to store data, resulting in faster response times when fetching data Redis is ideal for projects with a clearly-defined data structure and when speed is more important than scalability.</p>



<p><strong>Strengths</strong></p>



<ul class="wp-block-list"><li><strong>Speed: </strong>Since Redis only stores data in memory, it’s a highly-performant database that rapidly returns results</li><li><strong>Benchmarking: </strong>The built-in benchmark tool, redis-benchmark, provides insights on the average number of requests your Redis server is able to handle per second</li><li><strong>Ease of Use: </strong>Supports a variety of extensions, including RediSearch, which provides full text search for a Redis database </li></ul>



<p><strong>Weaknesses</strong></p>



<ul class="wp-block-list"><li><strong>Memory Restrictions: </strong>Since Redis is an in-memory store, all data must fit within your available memory</li><li><strong>Rigidity: </strong>Redis doesn’t have a query language, and entering functions via the available commands can limit your ability to customize results</li><li>Not ACID compliant out of the box. Additional configuration is required </li></ul>



<p><strong>Use Cases: </strong>Caching, Real-Time Data Updates</p><p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-redis/">Overview of Popular DBMSeS – Redis</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Overview of Popular DBMSeS – MongoDB</title>
		<link>https://techcity.cloud/blog/database/overview-of-popular-dbmses-mongodb/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 05:50:22 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7564</guid>

					<description><![CDATA[<p>MongoDB is a document database that stores data as JSON documents to provide more flexibility for scaling and querying data based as an application evolves MongoDB<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-mongodb/">Overview of Popular DBMSeS – MongoDB</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>MongoDB </strong>is a document database that stores data as JSON documents to provide more flexibility for scaling and querying data based as an application evolves MongoDB is a solution for database requirements that stray away from relational data schemas This approach allows users to start creating documents without needing to first establish a document structure, which provides developers with more flexibility when updating their applications.</p>



<p><strong>Strengths</strong></p>



<ul class="wp-block-list"><li><strong>Scalability: </strong>It’s in the name: Mongo, short for “humongous,” is built to store large volumes of data</li><li><strong>Search Flexibility: </strong>Supports graph search, geo-search, map-reduce queries, and text search</li><li><strong>Flexible Data Options: </strong>More functionality for temporary tables to support complex processes or test new applications/features without needing to switch databases </li></ul>



<p><strong>Weaknesses</strong></p>



<ul class="wp-block-list"><li><strong>Concurrent Multi-Location Data Write Operation</strong>s: Updating a consistent field in several locations (e g a commonly used location) can cause lags in performance compared to a relational database</li><li><strong>Query Formatting: </strong>MongoDB can have a steeper learning curve for developers who are familiar with other databases because queries are written with a JSON syntax, instead of SQL </li></ul>



<p><strong>Use Cases: </strong>Personalization Engines, Content Management, Games, IOT Applications</p><p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-mongodb/">Overview of Popular DBMSeS – MongoDB</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Overview of Popular DBMSeS – PostgreSQL</title>
		<link>https://techcity.cloud/blog/database/overview-of-popular-dbmses-postgresql/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 05:48:17 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7560</guid>

					<description><![CDATA[<p>PostgreSQL, also known as Postgres, is considered to be the most advanced open source database and a more robust SQL database alternative to MySQL Postgres is<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-postgresql/">Overview of Popular DBMSeS – PostgreSQL</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>PostgreSQL, </strong>also known as Postgres, is considered to be the most advanced open source database and a more robust SQL database alternative to MySQL Postgres is also the stronger choice for workloads that are dependent on database write operations and the ability to add custom data types Postgres is open source and all features are available without a paid license for any size deployment, in contrast to MySQL</p>



<p><strong>Strengths</strong></p>



<ul class="wp-block-list"><li><strong>True Open Source: </strong>Postgres is maintained by a global community, and a single version of the software is available that contains all features and has no fees.</li><li><strong>Extensibility: </strong>Postgres supports a wider range of data types and indices than MySQL, and additional feature extensions are provided by the open source community</li><li><strong>Data Encryption Options: </strong>Multiple encrypted connection options </li></ul>



<p><strong>Weaknesses</strong></p>



<ul class="wp-block-list"><li><strong>Server Memory Demands: </strong>Postgres forks a new process for each new client connection Connections allocate a non-trivial amount of memory (about 10 MB)</li><li><strong>Increased Complexity over MySQL: </strong>Postgres adheres more strongly to SQL standards so it can be a difficult starter database for standard web applications. For example, querying in Postgres is case-sensitive </li></ul>



<p><strong>Use Cases: </strong>High-Scaling Applications, Multi-Database Workloads</p><p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-postgresql/">Overview of Popular DBMSeS – PostgreSQL</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Overview of Popular DBMSeS &#8211; MySQL</title>
		<link>https://techcity.cloud/blog/database/overview-of-popular-dbmses-mysql/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 05:46:22 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7558</guid>

					<description><![CDATA[<p>Here’s a quick overview of five top databases that serve a range of use cases. This list includes both SQL and NoSQL options. MySQL is one<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-mysql/">Overview of Popular DBMSeS – MySQL</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Here’s a quick overview of five top databases that serve a range of use cases. This list includes both SQL and NoSQL options.</p>



<p><strong>MySQL </strong>is one of the most widely used database engines MySQL is a component of the LAMP stack, which serves as the foundation for many content management systems, including WordPress MySQL is known for its high performance (especially for processing read operations), ease of use, and scalability Originally founded as an open source project, MySQL was acquired by Oracle in 2010 A free community edition of MySQL is still available, but some features and scalability require a paid enterprise license</p>



<p><strong>Strengths</strong></p>



<ul class="wp-block-list"><li><strong>Speed: </strong>Query limits and default read-only permissions make MySQL extremely performant, and there are more options available for memory-optimized tables</li><li><strong>Integrations: </strong>Due to its popularity, MySQL has a larger variety of third-party tools and integrations than other database types</li><li><strong>Reliability: </strong>MySQL is widely used and vendor-supported</li></ul>



<p><strong>Weaknesses</strong></p>



<ul class="wp-block-list"><li><strong>Write Performance: </strong>Without optimizations, performance will decrease for write-heavy applications</li><li><strong>Tiers: </strong>Features are split between the free Community edition and the paid Enterprise edition, which limits access to features and potential scalability </li></ul>



<p><strong>Use Cases: </strong>Websites (General), Ecommerce, Catalog/Directory</p><p>The post <a href="https://techcity.cloud/blog/database/overview-of-popular-dbmses-mysql/">Overview of Popular DBMSeS – MySQL</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Evaluating the Strengths and Limitations of Database Options</title>
		<link>https://techcity.cloud/blog/database/evaluating-the-strengths-and-limitations-of-database-options/</link>
		
		<dc:creator><![CDATA[Lucas]]></dc:creator>
		<pubDate>Sat, 02 Jul 2022 05:43:25 +0000</pubDate>
				<category><![CDATA[Database]]></category>
		<guid isPermaLink="false">https://techcity.cloud/?p=7555</guid>

					<description><![CDATA[<p>Evaluating the Strengths and Limitations of Database Operations Databases are anything but “one size fits all.” From privacy and compliance to supporting specific data types, databases<span class="excerpt-hellip"> […]</span></p>
<p>The post <a href="https://techcity.cloud/blog/database/evaluating-the-strengths-and-limitations-of-database-options/">Evaluating the Strengths and Limitations of Database Options</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Evaluating the Strengths and Limitations of Database Operations</strong></p>



<p>Databases are anything but “one size fits all.” From privacy and compliance to supporting specific data types, databases only get more advanced as an application scales Even if you aren’t a database administrator (DBA), you need to factor in database capabilities and limitations when adding new features or optimizing existing features to your applications.</p>



<p><strong>Current Database Landscape</strong></p>



<p>The process of scaling applications and improving services can introduce new data types The need for more flexible data types has launched many new databases in the market in the past decade. As a result, database skills have become increasingly more valued by developers.</p>



<p class="has-text-align-center"><strong>Most Wanted Database Skills Among Developers Worldwide as of 2021</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="749" src="https://techcity.cloud/wp-content/uploads/2022/07/Most-Wanted-Database-Skills-Among-Developers-Worldwide-as-of-2021-1024x749.png" alt="" class="wp-image-7556" srcset="https://techcity.cloud/wp-content/uploads/2022/07/Most-Wanted-Database-Skills-Among-Developers-Worldwide-as-of-2021-1024x749.png 1024w, https://techcity.cloud/wp-content/uploads/2022/07/Most-Wanted-Database-Skills-Among-Developers-Worldwide-as-of-2021-300x220.png 300w, https://techcity.cloud/wp-content/uploads/2022/07/Most-Wanted-Database-Skills-Among-Developers-Worldwide-as-of-2021-768x562.png 768w" sizes="(max-width:767px) 480px, (max-width:1024px) 100vw, 1024px" /></figure>



<p><em>According to the survey, just under 18% of respondents identified PostgreSQL as one of their most-wanted database skills. MongoDB ranked almost the same with software developers stating they are not developing with it, but want to. Source: <a href="https://www.statista.com/statistics/793854/worldwide-developer-survey-most-wanted-database/">Statista</a></em></p>



<p>Databases can be split into two types: relational and non-relational</p>



<ul class="wp-block-list"><li><strong>Relational Databases </strong>(also referred to as SQL Databases) Data is organized in tables, where the columns of a table correspond to the data’s attributes, including the type of an attribute For example, an employee table for an HR software suite could contain a column that stores an integer value representing an employee’s salary, and another column could store a text value representing their name The rows of the table represent instances of the data; for example, each row in an employee table would correspond to a different employee. Information between multiple tables is linked via keys. Relational databases use the Structured Query Language (SQL)</li><li><strong>Non-Relational Databases </strong>(also referred to as NoSQL (“Not Only SQL”) Databases) Non-relational databases have more flexible query methods. These query methods vary significantly by DBMS type. There are five types of non-relational databases:<ul><li><strong>Columnar Data Stores: </strong>Data is organized in a similar row-and-column table structure like<br>in a relational database. However, the data is stored by column, and data from specific columns can be fetched In comparison, data in a relational database is stored by row, which allows you to fetch specific rows from the table.</li><li><strong>Key-Value Stores: </strong>Data is stored as a collection of key-value pairs, where data can be retrieved by specifying a key that is associated with the data</li><li><strong>Document Stores: </strong>Data is stored in documents, like those on your computer’s filesystem.</li><li><strong>Document Data Stores: </strong>A document store where the files’ type is JSON, XML, or some other data-encoding format. The structure of the encoded data is flexible and can allow for complicated queries</li><li><strong>Graph Databases: </strong>Data is stored using a graph structure, where entities correspond to nodes in the graph and the edges between nodes represent relationships between entities. An example: of a graph structure would be the connections between users on a social network Graph databases offer efficient querying for highly-interconnected data.</li></ul></li></ul>



<p></p>



<p><strong>What is ACID Compliance?</strong></p>



<p>ACID compliance for databases is a set of principles that ensures data integrity while processing a transaction These principles ensure that the data will not end up in an inconsistent state or be altered as a result of being added to the database, even if the transaction fails ACID compliance is particularly important for applications that are essential to the financial industry, with millions of transactions processed every second.</p>



<p><strong>ACID Compliance:</strong></p>



<ul class="wp-block-list"><li><strong>Atomic: </strong>Transactions are made up of components, and all components in a transaction must succeed Otherwise, the transaction will fail and the database will remain unchanged A transaction must have defined success or fail actions, or unit of work.</li><li><strong>Consistent: </strong>Successful transactions follow the database’s pre-defined parameters and restrictions.</li><li><strong>Isolated: </strong>Concurrent transactions are isolated from one another The result of executing several concurrent transactions will be the same as if they were executed in a sequence</li><li><strong>Durable: </strong>Once a transaction is written to the database, it will persist, even in the event of a system failure for the server that the database is running on Out of the box, NoSQL databases are not ACID compliant, because they are designed to prioritize flexibility and scalability instead of pure consistency </li></ul>



<p></p>



<p></p>



<p><strong>What is the BASE Model?</strong> </p>



<p>With the increasing use of NoSQL databases, a different transaction model was created to better align with their functionality Sticking with the chemistry theme, we have the BASE Model </p>



<p><strong>BASE Model:</strong></p>



<ul class="wp-block-list"><li><strong>Basically Available: </strong>Data is replicated and dispersed across clusters so that failures of part of a cluster should still leave the data available in other locations.</li><li><strong>Soft State: </strong>Consistency is not immediately enforced across the database cluster after an item in the database is updated During this time, fetching an updated record from the database may result<br>in different values for different read operations.</li><li><strong>Eventually Consistent: </strong>Data will eventually reach consistency as updated records are replicated across the nodes in the database cluster.</li></ul>



<p>The clear difference between the ACID and BASE transaction models is seen in the practical use of SQL vs NoSQL databases. NoSQL databases adhering to the BASE model are built for the flexibility and scalability required by massive high-availability deployments SQL databases adhering to the ACID model value consistency and data integrity above all else.</p><p>The post <a href="https://techcity.cloud/blog/database/evaluating-the-strengths-and-limitations-of-database-options/">Evaluating the Strengths and Limitations of Database Options</a> first appeared on <a href="https://techcity.cloud">Techcity Company Limited</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
