<?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 Theory &#8211; Database Research &amp; Development</title>
	<atom:link href="https://www.dbrnd.com/tag/database-theory/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbrnd.com</link>
	<description>BIGData &#124; NoSQL &#124; MSSQL &#124; MySQL &#124; PostgreSQL</description>
	<lastBuildDate>Mon, 24 Jun 2019 19:39:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.6</generator>
	<item>
		<title>Database Theory: What is CAP theorem &#8211; Consistency, Availability, Partition</title>
		<link>https://www.dbrnd.com/2019/07/database-theory-what-is-cap-theorem-consistency-availability-partition/</link>
					<comments>https://www.dbrnd.com/2019/07/database-theory-what-is-cap-theorem-consistency-availability-partition/#respond</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Mon, 08 Jul 2019 16:16:42 +0000</pubDate>
				<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[ACID Properties]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[Availability]]></category>
		<category><![CDATA[CAP theorem]]></category>
		<category><![CDATA[Consistency]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Partition]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[transaction]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3915</guid>

					<description><![CDATA[We all are aware about the ACID Properties of Database System (Atomicity, Consistency, Isolation, Durability). If you don&#8217;t know about the ACID, please visit below article. ACID Properties in Database System (Atomicity, Consistency, Isolation, Durability) In last one decade, lots of new Database Products available in the Market. The types are: RDBMS Products, NoSQL Products, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F07%2Fdatabase-theory-what-is-cap-theorem-consistency-availability-partition%2F&amp;linkname=Database%20Theory%3A%20What%20is%20CAP%20theorem%20%E2%80%93%20Consistency%2C%20Availability%2C%20Partition" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F07%2Fdatabase-theory-what-is-cap-theorem-consistency-availability-partition%2F&amp;linkname=Database%20Theory%3A%20What%20is%20CAP%20theorem%20%E2%80%93%20Consistency%2C%20Availability%2C%20Partition" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F07%2Fdatabase-theory-what-is-cap-theorem-consistency-availability-partition%2F&amp;linkname=Database%20Theory%3A%20What%20is%20CAP%20theorem%20%E2%80%93%20Consistency%2C%20Availability%2C%20Partition" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F07%2Fdatabase-theory-what-is-cap-theorem-consistency-availability-partition%2F&amp;linkname=Database%20Theory%3A%20What%20is%20CAP%20theorem%20%E2%80%93%20Consistency%2C%20Availability%2C%20Partition" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F07%2Fdatabase-theory-what-is-cap-theorem-consistency-availability-partition%2F&amp;linkname=Database%20Theory%3A%20What%20is%20CAP%20theorem%20%E2%80%93%20Consistency%2C%20Availability%2C%20Partition" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F07%2Fdatabase-theory-what-is-cap-theorem-consistency-availability-partition%2F&amp;linkname=Database%20Theory%3A%20What%20is%20CAP%20theorem%20%E2%80%93%20Consistency%2C%20Availability%2C%20Partition" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F07%2Fdatabase-theory-what-is-cap-theorem-consistency-availability-partition%2F&#038;title=Database%20Theory%3A%20What%20is%20CAP%20theorem%20%E2%80%93%20Consistency%2C%20Availability%2C%20Partition" data-a2a-url="https://www.dbrnd.com/2019/07/database-theory-what-is-cap-theorem-consistency-availability-partition/" data-a2a-title="Database Theory: What is CAP theorem – Consistency, Availability, Partition"></a></p><p>We all are aware about the ACID Properties of Database System (Atomicity, Consistency, Isolation, Durability).<br />
If you don&#8217;t know about the ACID, please visit below article.</p>
<blockquote class="wp-embedded-content" data-secret="aJi5vV3iRV"><p><a href="https://www.dbrnd.com/2015/05/acid-properties-in-database-system/">ACID Properties in Database System (Atomicity, Consistency, Isolation, Durability)</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2015/05/acid-properties-in-database-system/embed/#?secret=aJi5vV3iRV" data-secret="aJi5vV3iRV" width="600" height="338" title="&#8220;ACID Properties in Database System (Atomicity, Consistency, Isolation, Durability)&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<blockquote><p>In last one decade, lots of new Database Products available in the Market. The types are: RDBMS Products, NoSQL Products, BIGDATA, MPP Products.</p></blockquote>
<p><strong>My Question is, how do you choose best database product for your project?</strong></p>
<blockquote><p>Traditional Answer, The first preference of Database Designer would be ACID Properties oriented Databases.</p></blockquote>
<blockquote><p>But most of the NoSQL Databases are not providing full support of ACID Properties, then also NoSQL Databases are popular and People are using it for different purposes.</p></blockquote>
<blockquote><p>Because most of the NoSQL Databases are not ACID oriented, but they are CAP oriented.</p></blockquote>
<p><strong>What is CAP theorem (Consistency, Availability, Partition)?</strong></p>
<blockquote><p>CAP Published by Eric Brewer in 2000, the theorem is a set of basic requirements that describe any distributed system like: NoSQL Cassandra, MongoDB, CouchDB.</p>
<p><img fetchpriority="high" decoding="async" class="alignright wp-image-3920 size-medium" title="CAP_ConsistencyAvailabilityPartition" src="https://www.dbrnd.com/wp-content/uploads/2016/11/CAP-Theory-254x300.jpg" alt="cap-theory" width="254" height="300" srcset="https://www.dbrnd.com/wp-content/uploads/2016/11/CAP-Theory-254x300.jpg 254w, https://www.dbrnd.com/wp-content/uploads/2016/11/CAP-Theory-750x886.jpg 750w, https://www.dbrnd.com/wp-content/uploads/2016/11/CAP-Theory-150x177.jpg 150w, https://www.dbrnd.com/wp-content/uploads/2016/11/CAP-Theory.jpg 768w" sizes="(max-width: 254px) 100vw, 254px" /></p></blockquote>
<p><strong>Consistency:</strong></p>
<blockquote><p>All nodes can see the same data at the same time. The data are the same across the cluster, so you can read or write any node.</p></blockquote>
<blockquote><p>Each transaction start and end in consistent stats so that all nodes can access the same data. Actually, It is achieved by update all nodes before reading.</p></blockquote>
<p><strong>Availability:</strong></p>
<blockquote><p>Here, The meaning of Availability is to access cluster in any situation like: server goes down, server delay. The system should always respond to a request, even if data is not in sync or inconsistent state, It prints the message like &#8220;This cluster data are not updated&#8221;.</p></blockquote>
<p><strong>Partition:</strong></p>
<blockquote><p>Here, the meaning of Partition is to avoid any type of system failure and system should run with available nodes or data. It does not allow any single point of failure because data replicated across all the clusters.</p></blockquote>
<blockquote><p>The Partition can work with Consistency (CP) or can work with Availability (AP) means, you can never find any Database System which follows the full CAP theorem.</p></blockquote>
<p><strong>Storage System with Partition and Consistency (CP):</strong><br />
Redis, MongoDB, AppFabric Caching, and MemcacheDB.<br />
<strong>Storage System with Partition and Availability (AP):</strong><br />
Cassandra, DynamoDB, and CouchDB.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2019/07/database-theory-what-is-cap-theorem-consistency-availability-partition/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Database Design: Please do not use DISTINCT</title>
		<link>https://www.dbrnd.com/2019/02/database-design-please-do-not-use-distinct-keyword-remove-duplicate-data/</link>
					<comments>https://www.dbrnd.com/2019/02/database-design-please-do-not-use-distinct-keyword-remove-duplicate-data/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Mon, 04 Feb 2019 16:16:09 +0000</pubDate>
				<category><![CDATA[Database Designing]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[DISTINCT]]></category>
		<category><![CDATA[group by]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=4130</guid>

					<description><![CDATA[<div><img width="336" height="336" src="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct.jpg" class="attachment-post-image size-post-image wp-post-image" alt="database design angry distinct" decoding="async" srcset="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct.jpg 336w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct-150x150.jpg 150w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct-300x300.jpg 300w" sizes="(max-width: 336px) 100vw, 336px" /></div>I am telling you personally that I hate the use of DISTINCT. DISTINCT used by those people, who are not sure about their data set or SELECT statement or JOINS. Whenever I get any query with DISTINCT, immediately I suggest to remove it. I asked to many developers that, does it makes sense to use [&#8230;]]]></description>
										<content:encoded><![CDATA[<div><img width="336" height="336" src="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct.jpg" class="attachment-post-image size-post-image wp-post-image" alt="database design angry distinct" decoding="async" loading="lazy" srcset="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct.jpg 336w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct-150x150.jpg 150w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct-300x300.jpg 300w" sizes="auto, (max-width: 336px) 100vw, 336px" /></div><p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F02%2Fdatabase-design-please-do-not-use-distinct-keyword-remove-duplicate-data%2F&amp;linkname=Database%20Design%3A%20Please%20do%20not%20use%20DISTINCT" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F02%2Fdatabase-design-please-do-not-use-distinct-keyword-remove-duplicate-data%2F&amp;linkname=Database%20Design%3A%20Please%20do%20not%20use%20DISTINCT" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F02%2Fdatabase-design-please-do-not-use-distinct-keyword-remove-duplicate-data%2F&amp;linkname=Database%20Design%3A%20Please%20do%20not%20use%20DISTINCT" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F02%2Fdatabase-design-please-do-not-use-distinct-keyword-remove-duplicate-data%2F&amp;linkname=Database%20Design%3A%20Please%20do%20not%20use%20DISTINCT" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F02%2Fdatabase-design-please-do-not-use-distinct-keyword-remove-duplicate-data%2F&amp;linkname=Database%20Design%3A%20Please%20do%20not%20use%20DISTINCT" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F02%2Fdatabase-design-please-do-not-use-distinct-keyword-remove-duplicate-data%2F&amp;linkname=Database%20Design%3A%20Please%20do%20not%20use%20DISTINCT" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2019%2F02%2Fdatabase-design-please-do-not-use-distinct-keyword-remove-duplicate-data%2F&#038;title=Database%20Design%3A%20Please%20do%20not%20use%20DISTINCT" data-a2a-url="https://www.dbrnd.com/2019/02/database-design-please-do-not-use-distinct-keyword-remove-duplicate-data/" data-a2a-title="Database Design: Please do not use DISTINCT"></a></p><p><strong><img loading="lazy" decoding="async" class="alignright wp-image-4137 size-medium" title="database design angry distinct" src="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct-300x300.jpg" alt="database design angry distinct" width="300" height="300" srcset="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct-300x300.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct-150x150.jpg 150w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignAngryDistinct.jpg 336w" sizes="auto, (max-width: 300px) 100vw, 300px" />I am telling you personally that I hate the use of DISTINCT.</strong></p>
<blockquote><p>DISTINCT used by those people, who are not sure about their data set or SELECT statement or JOINS.</p></blockquote>
<p><strong>Whenever I get any query with DISTINCT, immediately I suggest to remove it. </strong></p>
<blockquote><p>I asked to many developers that, does it makes sense to use DISTINCT or do we have any alternative?<br />
Second, I asked that Why are you required to use DISTINCT.</p></blockquote>
<p><strong>Guys, what are you thinking? What was that answer?</strong></p>
<blockquote><p>Very simple, they keep quiet for a minute and were telling like: we are using to avoid duplicate result set.</p></blockquote>
<blockquote><p>This is not the correct answer for the use of DISTINCT.</p></blockquote>
<blockquote><p>Actually, most of developers are using DISTINCT because they want to hide their mistakes. They are writing incorrect joins and hiding duplication of data.</p></blockquote>
<blockquote><p>This is not only for database developer, DBA is a same responsible for this. The DBA must stop the duplication of data.</p></blockquote>
<blockquote><p><em>The DBA should give the answer that how duplicates data inserted in the database and who is responsible for that duplication.</em></p></blockquote>
<p><strong>Do you think, the use of DISTINCT is good for query performance?</strong></p>
<blockquote><p>My answer is simply no. Why, because it fetches unnecessary duplicate data and returns unique from it.</p></blockquote>
<blockquote><p>You should know the logical sequence of SQL Query execution. In the logical sequence, DISTINCT execute after SELECT means It checks all the data first and after that It avoids the duplicate data.</p></blockquote>
<p><strong>As I have raised a question for DISTINCT, few developers asked me to use GROUP BY instead of DISTINCT.</strong></p>
<blockquote><p>My simple answer was, Please do not use anything to remove duplicates from your result set.</p></blockquote>
<blockquote><p>Explicitly, you should remove the duplicate data and then also If you require to count few unique master group data, you can use GROUP BY instead of DISTINCT.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2019/02/database-design-please-do-not-use-distinct-keyword-remove-duplicate-data/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Database Design: Common Practices for Database Developers and Application Developers</title>
		<link>https://www.dbrnd.com/2016/12/database-design-common-practices-for-database-developers-and-application-developers/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Mon, 26 Dec 2016 17:37:29 +0000</pubDate>
				<category><![CDATA[Database Designing]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[Application Developer]]></category>
		<category><![CDATA[Cluster Index]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[Database Design]]></category>
		<category><![CDATA[Database Developer]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Performance Optimization]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=4117</guid>

					<description><![CDATA[<div><img width="448" height="318" src="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignBestPractices.jpg" class="attachment-post-image size-post-image wp-post-image" alt="Database Design Best Practices" decoding="async" loading="lazy" srcset="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignBestPractices.jpg 448w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignBestPractices-300x213.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignBestPractices-150x106.jpg 150w" sizes="auto, (max-width: 448px) 100vw, 448px" /></div>In this post, I am sharing the list of common practices for Database Designing which should follow by Database Developers and Application Developers. Foreign keys should have indexes on them, and it should often cover multiple columns base on the queries you need to execute. You should make sure about the referential integrity by enforcing [&#8230;]]]></description>
										<content:encoded><![CDATA[<div><img width="448" height="318" src="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignBestPractices.jpg" class="attachment-post-image size-post-image wp-post-image" alt="Database Design Best Practices" decoding="async" loading="lazy" srcset="https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignBestPractices.jpg 448w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignBestPractices-300x213.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/12/DatabaseDesignBestPractices-150x106.jpg 150w" sizes="auto, (max-width: 448px) 100vw, 448px" /></div><p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-design-common-practices-for-database-developers-and-application-developers%2F&amp;linkname=Database%20Design%3A%20Common%20Practices%20for%20Database%20Developers%20and%20Application%20Developers" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-design-common-practices-for-database-developers-and-application-developers%2F&amp;linkname=Database%20Design%3A%20Common%20Practices%20for%20Database%20Developers%20and%20Application%20Developers" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-design-common-practices-for-database-developers-and-application-developers%2F&amp;linkname=Database%20Design%3A%20Common%20Practices%20for%20Database%20Developers%20and%20Application%20Developers" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-design-common-practices-for-database-developers-and-application-developers%2F&amp;linkname=Database%20Design%3A%20Common%20Practices%20for%20Database%20Developers%20and%20Application%20Developers" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-design-common-practices-for-database-developers-and-application-developers%2F&amp;linkname=Database%20Design%3A%20Common%20Practices%20for%20Database%20Developers%20and%20Application%20Developers" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-design-common-practices-for-database-developers-and-application-developers%2F&amp;linkname=Database%20Design%3A%20Common%20Practices%20for%20Database%20Developers%20and%20Application%20Developers" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-design-common-practices-for-database-developers-and-application-developers%2F&#038;title=Database%20Design%3A%20Common%20Practices%20for%20Database%20Developers%20and%20Application%20Developers" data-a2a-url="https://www.dbrnd.com/2016/12/database-design-common-practices-for-database-developers-and-application-developers/" data-a2a-title="Database Design: Common Practices for Database Developers and Application Developers"></a></p><p>In this post, I am sharing the list of common practices for Database Designing which should follow by Database Developers and Application Developers.</p>
<ul>
<li>Foreign keys should have indexes on them, and it should often cover multiple columns base on the queries you need to execute.</li>
<li>You should make sure about the referential integrity by enforcing the Foreign Keys.<br />
Choose right column for CLUSTER Index.</li>
<li>You should apply proper indexes and do not create duplicate indexes and avoid creation of unnecessary indexes.</li>
<li>You should not put auto-number data type as a PRIMARY KEY to join a FOREIGN KEY in a parent/child table relationship.</li>
<li>If your system is running large number of INSERT/DELETE, you should avoid frequent update of database Statistics.</li>
<li>You should choose the write data-type for your data columns.</li>
<li>Please separate big size of columns from main table and store in a different table.</li>
<li>You should apply proper column name.</li>
<li>Use proper data types for Latitude, Longitude, IP-Address, Network Address, Mac Address.</li>
<li>Use Natural Primary key rather than Surrogate Primary key. Natural Primary keys are keys base on an external meaningful data. Surrogate Primary key are keys base on an auto-increment number or values which have no meaning outside the system.</li>
<li>You must use Stored Procedures or Stored Functions.</li>
<li>Please avoid too much database normalization and try to design your database to achieve Database Normalization + Database Denormalization. You should design this combination to achieve the performance.</li>
<li>Avoid inappropriate or excessive use of cursors.</li>
<li>Avoid inappropriate use of Database Transactions (BEGIN&#8230;COMMIT).</li>
<li>Try to avoid the use of OR condition because an AND condition restricts the data set, whereas an OR condition grows it.</li>
<li>You should do detailed performance analysis on queries.</li>
<li>Try to use the Prepared SQL Statement which caches the compiled query and the execution plan for better performance. It will also better protect you against SQL injection attacks.</li>
<li>Please do not simplify your complex queries through the views.</li>
<li>Please do not use DISTINCT frequently. Many developers are using DISTINCT to hide duplicate data, but you should stop and remove the duplicate data.</li>
<li>Try to avoid Correlated Subqueries.</li>
<li>Do not store comma delimited list in a table.</li>
<li>Do not store JSON data in TEXT COLUMN, you should use JSON data type for it.</li>
<li>Please do not use comma separated table names in SELECT query, use explicit JOINs conditions to avoid internal Cartesian products.</li>
</ul>
<p>&nbsp;<br />
<strong>The list is not final yet, you guys can add/share a comment and make it final&#8230;</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Database News: Now Uber switched from PostgreSQL to MySQL</title>
		<link>https://www.dbrnd.com/2016/12/database-news-now-uber-switched-from-postgresql-to-mysql/</link>
					<comments>https://www.dbrnd.com/2016/12/database-news-now-uber-switched-from-postgresql-to-mysql/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Sat, 03 Dec 2016 07:31:56 +0000</pubDate>
				<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[Write]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3969</guid>

					<description><![CDATA[One of the Important news for Database Community. The UBER taxi number one company switched from PostgreSQL to MySQL. There are a few major reasons behind for this migration. As per the official document of UBER, they were facing a few notable issues with the PostgreSQL. Inefficient architecture for writes Inefficient data replication Issues with [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-news-now-uber-switched-from-postgresql-to-mysql%2F&amp;linkname=Database%20News%3A%20Now%20Uber%20switched%20from%20PostgreSQL%20to%20MySQL" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-news-now-uber-switched-from-postgresql-to-mysql%2F&amp;linkname=Database%20News%3A%20Now%20Uber%20switched%20from%20PostgreSQL%20to%20MySQL" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-news-now-uber-switched-from-postgresql-to-mysql%2F&amp;linkname=Database%20News%3A%20Now%20Uber%20switched%20from%20PostgreSQL%20to%20MySQL" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-news-now-uber-switched-from-postgresql-to-mysql%2F&amp;linkname=Database%20News%3A%20Now%20Uber%20switched%20from%20PostgreSQL%20to%20MySQL" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-news-now-uber-switched-from-postgresql-to-mysql%2F&amp;linkname=Database%20News%3A%20Now%20Uber%20switched%20from%20PostgreSQL%20to%20MySQL" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-news-now-uber-switched-from-postgresql-to-mysql%2F&amp;linkname=Database%20News%3A%20Now%20Uber%20switched%20from%20PostgreSQL%20to%20MySQL" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-news-now-uber-switched-from-postgresql-to-mysql%2F&#038;title=Database%20News%3A%20Now%20Uber%20switched%20from%20PostgreSQL%20to%20MySQL" data-a2a-url="https://www.dbrnd.com/2016/12/database-news-now-uber-switched-from-postgresql-to-mysql/" data-a2a-title="Database News: Now Uber switched from PostgreSQL to MySQL"></a></p><p>One of the Important news for Database Community.<br />
The UBER taxi number one company switched from PostgreSQL to MySQL.</p>
<p>There are a few major reasons behind for this migration.<br />
As per the official document of UBER, they were facing a few notable issues with the PostgreSQL.</p>
<ul>
<li>Inefficient architecture for writes</li>
<li>Inefficient data replication</li>
<li>Issues with table corruption</li>
<li>Poor replica MVCC support</li>
<li>Difficulty upgrading to newer releases</li>
</ul>
<blockquote><p>Here, I am sharing the official link on UBER database migration. I completely read this article and agree with it on a few of the topics.<br />
You guys must read carefully because we should understand the pros &amp; cons of any RDBMS.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2016/12/database-news-now-uber-switched-from-postgresql-to-mysql/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Database Theory: What is difference between MySQL and PostgreSQL?</title>
		<link>https://www.dbrnd.com/2016/12/database-theory-what-is-difference-between-mysql-and-postgresql-relational-database-system-concurrency-performance/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Thu, 01 Dec 2016 03:34:20 +0000</pubDate>
				<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[Multi version concurrency control]]></category>
		<category><![CDATA[MVCC]]></category>
		<category><![CDATA[MyISAM]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3960</guid>

					<description><![CDATA[As a database professional, I work with both databases on a regular basis, and I typically use all the features of both databases for design and implementation. I have got many replies to write about the core differences between PostgreSQL and MySQL. As innovation on these databases has progressed, each development community has actively made [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-theory-what-is-difference-between-mysql-and-postgresql-relational-database-system-concurrency-performance%2F&amp;linkname=Database%20Theory%3A%20What%20is%20difference%20between%20MySQL%20and%20PostgreSQL%3F" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-theory-what-is-difference-between-mysql-and-postgresql-relational-database-system-concurrency-performance%2F&amp;linkname=Database%20Theory%3A%20What%20is%20difference%20between%20MySQL%20and%20PostgreSQL%3F" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-theory-what-is-difference-between-mysql-and-postgresql-relational-database-system-concurrency-performance%2F&amp;linkname=Database%20Theory%3A%20What%20is%20difference%20between%20MySQL%20and%20PostgreSQL%3F" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-theory-what-is-difference-between-mysql-and-postgresql-relational-database-system-concurrency-performance%2F&amp;linkname=Database%20Theory%3A%20What%20is%20difference%20between%20MySQL%20and%20PostgreSQL%3F" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-theory-what-is-difference-between-mysql-and-postgresql-relational-database-system-concurrency-performance%2F&amp;linkname=Database%20Theory%3A%20What%20is%20difference%20between%20MySQL%20and%20PostgreSQL%3F" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-theory-what-is-difference-between-mysql-and-postgresql-relational-database-system-concurrency-performance%2F&amp;linkname=Database%20Theory%3A%20What%20is%20difference%20between%20MySQL%20and%20PostgreSQL%3F" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F12%2Fdatabase-theory-what-is-difference-between-mysql-and-postgresql-relational-database-system-concurrency-performance%2F&#038;title=Database%20Theory%3A%20What%20is%20difference%20between%20MySQL%20and%20PostgreSQL%3F" data-a2a-url="https://www.dbrnd.com/2016/12/database-theory-what-is-difference-between-mysql-and-postgresql-relational-database-system-concurrency-performance/" data-a2a-title="Database Theory: What is difference between MySQL and PostgreSQL?"></a></p><p><em>As a database professional, I work with both databases on a regular basis, and I typically use all the features of   both databases for design and implementation.<br />
I have got many replies to write about the core differences between PostgreSQL and MySQL. </p>
<p>As innovation on these databases has progressed, each development community has actively made changes to address their respective sets of perceived disadvantages.<br />
The result that it has gotten more difficult to objectively determine which database is likely to be better suited for a given application. </em></p>
<blockquote><p>MySQL is controlled by Oracle, whereas Postgres is available under an open-source license from the PostgreSQL Global Development Group.</p></blockquote>
<blockquote><p>PostgreSQL is closer to the ANSI SQL standard, MySQL is closer to the ODBC standard.</p></blockquote>
<blockquote><p>One of the most notable differences between MySQL and PostgreSQL is the fact that you can’t do nested subqueries of subselects in MySQL. MySQL doesn’t support CTE, window functions, full outer joins and arrays. </p></blockquote>
<blockquote><p>Compare to PostgreSQL, MySQL has its own large user community and various type of materials.</p></blockquote>
<blockquote><p>MySQL uses nonstandard &#8216;#&#8217; to begin a comment line and PostgreSQL use &#8216;&#8211;&#8216; to begin a comment line.</p></blockquote>
<blockquote><p>MySQL provides different type of table storage engines like: InnoDB, MyIsam, Memory. PostgreSQL does not provide different type of table stroage engines.
</p></blockquote>
<blockquote><p>PostgreSQL is case-sensitive for string comparisons. The field &#8220;DbRnd&#8221; is not the same as the field &#8220;dbrnd&#8221;. This is a big change for many users from MySQL and other small database systems.</p></blockquote>
<blockquote><p>PostgreSQL has some nice features like: generate_series, custom aggregate functions, arrays etc. other hand MySQL has also some nice feature like: session variables in queries, FORCE INDEX, etc.</p></blockquote>
<blockquote><p>In PostgreSQL, when you are inside a transaction almost any operation can be undone. There are some irreversible operations (like creating or destroying a database or tablespace), but normal table modifications can be backed out by issuing a ROLLBACK via its Write-Ahead Log design.</p>
<p>MySQL doesn&#8217;t support any sort of rollback when using MyISAM. With InnoDB, the server has an implicit commit that occurs even if the normal auto-commit behavior is turned off. This means that any single table alteration or similar change is immediately committed.</p></blockquote>
<blockquote><p>Postgres obliterates MySQL in all manner of query-level goodness, and we can use Postgres for data mining and batch analytics databases, where we run lots of very large, hand-coded queries that can take advantage of Postgres’ advantages in join methods (MySQL only supports Nested Loop and Nested Loop over Index, while Postgres supports numerous methods), generally richer querying capabilities, and other good stuff like partial indexes can be used extensively.</p></blockquote>
<blockquote><p>PostgreSQL uses a robust locking model called MVCC that limits situations where individual clients interfere with each other. A short summary of the main benefit of MVCC would be &#8220;readers are never blocked by writers&#8221;.</p>
<p>MySQL&#8217;s InnoDB implements MVCC using a rollback segment and InnoDB databases supports all four SQL standard transaction isolation levels.
</p></blockquote>
<blockquote><p>PostgreSQL uses cost-based query optimization methods in order to get good performance for many different types of joins. Query costs are assessed based on planner statistics collected when tables are analyzed combined with adjustable planner costs and advanced features such as the Genetic Query Optimizer.</p>
<p>MySQL doesn&#8217;t have this level of sophistication in its planner, and the tunables for Controlling Query Optimizer Performance are crude. Developers instead do things like explicitly provide index hints to make sure joins are executed correctly.</p></blockquote>
<blockquote><p>PostgreSQL has different replication options than MySQL. MySQL has no point-in-time recovery.</p></blockquote>
<blockquote><p>One operation that PostgreSQL is known to be slow performing is doing a full count of rows in a table, typically using this SQL:</p>
<pre class="crayon-plain-tag">SELECT COUNT(*) FROM your_table_name;</pre> </p>
<p>The reason why this is slow is related to the MVCC implementation in PostgreSQL. The fact that multiple transactions can see different states of the data means that there can be no straightforward way for &#8220;COUNT(*)&#8221; to summarize data across the whole table; PostgreSQL must walk through all rows, in some sense.</p>
<p>In MySQL, MyISAM tables cache the row count information, making this type of count operation almost instant. But if you&#8217;re using InnoDB instead, this is no longer the case and on InnoDB can&#8217;t assume that a full row count will be fast.</p></blockquote>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Database Design: Don&#8217;t use, comma separated Tables in SELECT Query, Use Explicit JOINs</title>
		<link>https://www.dbrnd.com/2016/11/database-design-dont-use-comma-separated-tables-in-select-query-use-explicit-joins-optimized-join/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Wed, 30 Nov 2016 20:00:49 +0000</pubDate>
				<category><![CDATA[Database Designing]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[explicit joins]]></category>
		<category><![CDATA[implicit joins]]></category>
		<category><![CDATA[joins optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3952</guid>

					<description><![CDATA[In online forums, I am observing one bad query practice. People are using multiple tables in the SELECT query by separating using commas. Bad Query Like: [crayon-6ab55eec39bc9896797640/] Many of the Database Professionals are thinking that It is working like JOINs. I am writing this article in the &#8220;Database Designing&#8221; category, means It applies to all [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-design-dont-use-comma-separated-tables-in-select-query-use-explicit-joins-optimized-join%2F&amp;linkname=Database%20Design%3A%20Don%E2%80%99t%20use%2C%20comma%20separated%20Tables%20in%20SELECT%20Query%2C%20Use%20Explicit%20JOINs" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-design-dont-use-comma-separated-tables-in-select-query-use-explicit-joins-optimized-join%2F&amp;linkname=Database%20Design%3A%20Don%E2%80%99t%20use%2C%20comma%20separated%20Tables%20in%20SELECT%20Query%2C%20Use%20Explicit%20JOINs" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-design-dont-use-comma-separated-tables-in-select-query-use-explicit-joins-optimized-join%2F&amp;linkname=Database%20Design%3A%20Don%E2%80%99t%20use%2C%20comma%20separated%20Tables%20in%20SELECT%20Query%2C%20Use%20Explicit%20JOINs" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-design-dont-use-comma-separated-tables-in-select-query-use-explicit-joins-optimized-join%2F&amp;linkname=Database%20Design%3A%20Don%E2%80%99t%20use%2C%20comma%20separated%20Tables%20in%20SELECT%20Query%2C%20Use%20Explicit%20JOINs" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-design-dont-use-comma-separated-tables-in-select-query-use-explicit-joins-optimized-join%2F&amp;linkname=Database%20Design%3A%20Don%E2%80%99t%20use%2C%20comma%20separated%20Tables%20in%20SELECT%20Query%2C%20Use%20Explicit%20JOINs" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-design-dont-use-comma-separated-tables-in-select-query-use-explicit-joins-optimized-join%2F&amp;linkname=Database%20Design%3A%20Don%E2%80%99t%20use%2C%20comma%20separated%20Tables%20in%20SELECT%20Query%2C%20Use%20Explicit%20JOINs" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-design-dont-use-comma-separated-tables-in-select-query-use-explicit-joins-optimized-join%2F&#038;title=Database%20Design%3A%20Don%E2%80%99t%20use%2C%20comma%20separated%20Tables%20in%20SELECT%20Query%2C%20Use%20Explicit%20JOINs" data-a2a-url="https://www.dbrnd.com/2016/11/database-design-dont-use-comma-separated-tables-in-select-query-use-explicit-joins-optimized-join/" data-a2a-title="Database Design: Don’t use, comma separated Tables in SELECT Query, Use Explicit JOINs"></a></p><p><strong>In online forums, I am observing one  bad query practice. People are using multiple tables in the SELECT query by separating using commas.</strong><br />
<em>Bad Query Like:</em></p>
<pre class="crayon-plain-tag">SELECT * FROM a, b, c WHERE a.id = b.id AND b.id = c.id;</pre> </p>
<blockquote><p>Many of the Database Professionals are thinking that It is working like JOINs.
</p></blockquote>
<blockquote><p>I am writing this article in the &#8220;Database Designing&#8221; category, means It applies to all database professionals for knowing the truth of this kind of bad SQL Query. </p></blockquote>
<blockquote><p>When you write a query like above sample, internally Query Planner creates a virtual join between these tables and this is not a strait forward joins creation. A Query Planner has to check all possible combinations like: first join A TO B and then join C, join A TO C and then join B, join B TO C and then join A.</p></blockquote>
<blockquote><p>When you write such types of bad queries, Query Planner has to do additional work for joining the tables correctly and return the correct result.<br />
But actually It checks the data by creating a full Cartesian Product between these tables which is very costly and slow down the query performance. </p></blockquote>
<blockquote><p>We have taken example of three tables only, now let&#8217;s assume if we have 10 tables and people wrote a SELECT query using comma separated tables.<br />
So please I am requesting, never use such a bad query and try to write explicit JOINs in the SELECT Query.
</p></blockquote>
<p><strong>Another interesting point is:</strong></p>
<blockquote><p>When I discussed this point with our team, one of database developers said It is good that Query Planner is deciding the order of JOINS. If we give explicit joins, It may not be in the correct order all the times so let&#8217;s Query Planner to do. </p></blockquote>
<blockquote><p>My simple answer was:<br />
I am 5% agree with you, but do not forget that we are enough professional and can define the JOINs order correctly. We should not rely on Query Planner because It requires more internal I/O to just prepare a joins of the table.
</p></blockquote>
<p><strong>Correct Query should like:</strong></p>
<pre class="crayon-plain-tag">SELECT a.* FROM a JOIN b ON a.id=b.id JOIN c ON b.id=c.id</pre> </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Database Theory: What is Parallel Query Processing (Parallel Database System)?</title>
		<link>https://www.dbrnd.com/2016/11/database-theory-what-is-parallel-query-processing-parallel-database-system/</link>
					<comments>https://www.dbrnd.com/2016/11/database-theory-what-is-parallel-query-processing-parallel-database-system/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Sun, 20 Nov 2016 16:45:35 +0000</pubDate>
				<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Parallel Database System]]></category>
		<category><![CDATA[Parallel Query Processing]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3881</guid>

					<description><![CDATA[In the past decade, lots of analysis and research one for the Parallel Database System and Parallel Query Processing. The success of Parallel Database System depends on the relational database model and good CPU / DISK performance. Without a good CPU and DISK performance, we should not use the Parallel Query Processing. In general, When [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-theory-what-is-parallel-query-processing-parallel-database-system%2F&amp;linkname=Database%20Theory%3A%20What%20is%20Parallel%20Query%20Processing%20%28Parallel%20Database%20System%29%3F" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-theory-what-is-parallel-query-processing-parallel-database-system%2F&amp;linkname=Database%20Theory%3A%20What%20is%20Parallel%20Query%20Processing%20%28Parallel%20Database%20System%29%3F" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-theory-what-is-parallel-query-processing-parallel-database-system%2F&amp;linkname=Database%20Theory%3A%20What%20is%20Parallel%20Query%20Processing%20%28Parallel%20Database%20System%29%3F" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-theory-what-is-parallel-query-processing-parallel-database-system%2F&amp;linkname=Database%20Theory%3A%20What%20is%20Parallel%20Query%20Processing%20%28Parallel%20Database%20System%29%3F" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-theory-what-is-parallel-query-processing-parallel-database-system%2F&amp;linkname=Database%20Theory%3A%20What%20is%20Parallel%20Query%20Processing%20%28Parallel%20Database%20System%29%3F" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-theory-what-is-parallel-query-processing-parallel-database-system%2F&amp;linkname=Database%20Theory%3A%20What%20is%20Parallel%20Query%20Processing%20%28Parallel%20Database%20System%29%3F" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F11%2Fdatabase-theory-what-is-parallel-query-processing-parallel-database-system%2F&#038;title=Database%20Theory%3A%20What%20is%20Parallel%20Query%20Processing%20%28Parallel%20Database%20System%29%3F" data-a2a-url="https://www.dbrnd.com/2016/11/database-theory-what-is-parallel-query-processing-parallel-database-system/" data-a2a-title="Database Theory: What is Parallel Query Processing (Parallel Database System)?"></a></p><p>In the past decade, lots of analysis and research one for the Parallel Database System and Parallel Query Processing.</p>
<blockquote><p>The success of Parallel Database System depends on the relational database model and good CPU / DISK performance. Without a good CPU and DISK performance, we should not use the Parallel Query Processing.</p></blockquote>
<blockquote><p><strong>In general,</strong><br />
When we are executing any SQL Query, It creates the execution plan and submits to the internal query executor. A query executor collects all execution plans and executes in sequence.<br />
For example, your one SQL Query requires 100,00,0000 times manipulation, so using a single CPU thread system It takes more time to execute.</p></blockquote>
<blockquote><p><strong>In the Parallel Query Processing, </strong><br />
More than one process worker running in the background and responsible for the same task or multiple tasks in the sharing mode.</p>
<p><img loading="lazy" decoding="async" class="alignright wp-image-3887 size-medium" title="parallel processing" src="https://www.dbrnd.com/wp-content/uploads/2016/11/ParallelProcessing-300x300.png" alt="parallelprocessing" width="300" height="300" srcset="https://www.dbrnd.com/wp-content/uploads/2016/11/ParallelProcessing-300x300.png 300w, https://www.dbrnd.com/wp-content/uploads/2016/11/ParallelProcessing-150x150.png 150w, https://www.dbrnd.com/wp-content/uploads/2016/11/ParallelProcessing.png 512w" sizes="auto, (max-width: 300px) 100vw, 300px" /><br />
For example, If we say 4 different process worker are executing one single big SQL Query which requires 100,00,0000 times manipulation, It completes the whole process four times faster than using single process worker or single CPU thread for same SQL Query.</p></blockquote>
<p>Basically, there are main three types of architecture of Parallel Database System.</p>
<p><strong>Shared Disk:</strong></p>
<blockquote><p>This approach is not that much popular where the same disk shared among the different background process workers.</p></blockquote>
<p><strong>Shared Nothing:</strong></p>
<blockquote><p>With a shared nothing system, each processor owns a portion of the database, and only that portion may be directly accessed or manipulated by that processor. A two-phase commit protocol is required to coordinate a transaction commit which involves multiple nodes.</p></blockquote>
<blockquote><p>A shared nothing system is based on the concept of declustering. Declustering a relation includes distributing its tuples among multiple nodes according to some distribution criteria such as applying a hash function to the key attribute of each tuple.</p></blockquote>
<blockquote><p>In the context of query processing, the main advantage of a shared nothing system is its scalability.<br />
One of the best example of this architecture is: <a href="http://greenplum.org/" target="_blank">GreenPlum Relational Database</a>.</p></blockquote>
<p><strong>Shared Everything:</strong></p>
<blockquote><p>In a shared everything system, main memory, in addition to disks, is also shared across all the processors, making system management and load balancing much easier.</p></blockquote>
<blockquote><p>First, there are no communication delays because messages are exchanged through the shared memory, and synchronization can be accomplished by cheap, low level mechanisms.</p></blockquote>
<blockquote><p>Second, load balancing is much easier because the operating system can automatically allocate the next ready process to the first available processor.</p></blockquote>
<p><em><strong>Tomorrow, You can access one good article about Performance Test of Parallel Query Processing using PostgreSQL 9.6 Database System. </strong></em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2016/11/database-theory-what-is-parallel-query-processing-parallel-database-system/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Database Theory: What is BRIN (Block Range Index), How is faster than BTREE Index</title>
		<link>https://www.dbrnd.com/2016/08/database-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index/</link>
					<comments>https://www.dbrnd.com/2016/08/database-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Tue, 30 Aug 2016 18:12:20 +0000</pubDate>
				<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[b-tree index]]></category>
		<category><![CDATA[block range index]]></category>
		<category><![CDATA[brin]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3457</guid>

					<description><![CDATA[The BRIN index is very new type of index in a Database System. Currently we are using B-Tree indexes most, but BRIN Indexes are much faster than B-Tree Indexes. It is not correct to say that BRIN is a 100% replacement of B-Tree but in some situation, it executes 10 times faster than B-Tree Index. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F08%2Fdatabase-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index%2F&amp;linkname=Database%20Theory%3A%20What%20is%20BRIN%20%28Block%20Range%20Index%29%2C%20How%20is%20faster%20than%20BTREE%20Index" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F08%2Fdatabase-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index%2F&amp;linkname=Database%20Theory%3A%20What%20is%20BRIN%20%28Block%20Range%20Index%29%2C%20How%20is%20faster%20than%20BTREE%20Index" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F08%2Fdatabase-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index%2F&amp;linkname=Database%20Theory%3A%20What%20is%20BRIN%20%28Block%20Range%20Index%29%2C%20How%20is%20faster%20than%20BTREE%20Index" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F08%2Fdatabase-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index%2F&amp;linkname=Database%20Theory%3A%20What%20is%20BRIN%20%28Block%20Range%20Index%29%2C%20How%20is%20faster%20than%20BTREE%20Index" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F08%2Fdatabase-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index%2F&amp;linkname=Database%20Theory%3A%20What%20is%20BRIN%20%28Block%20Range%20Index%29%2C%20How%20is%20faster%20than%20BTREE%20Index" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F08%2Fdatabase-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index%2F&amp;linkname=Database%20Theory%3A%20What%20is%20BRIN%20%28Block%20Range%20Index%29%2C%20How%20is%20faster%20than%20BTREE%20Index" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F08%2Fdatabase-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index%2F&#038;title=Database%20Theory%3A%20What%20is%20BRIN%20%28Block%20Range%20Index%29%2C%20How%20is%20faster%20than%20BTREE%20Index" data-a2a-url="https://www.dbrnd.com/2016/08/database-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index/" data-a2a-title="Database Theory: What is BRIN (Block Range Index), How is faster than BTREE Index"></a></p><p>The BRIN index is very new type of index in a Database System.</p>
<p>Currently we are using B-Tree indexes most, but BRIN Indexes are much faster than B-Tree Indexes.<br />
It is not correct to say that BRIN is a 100% replacement of B-Tree but in some situation, it executes 10 times faster than B-Tree Index.</p>
<p><strong>Let me provide you a small note on B-Tree as well,</strong></p>
<blockquote><p>The structure of B-Tree looks like a Binary Search Tree.<br />
If you have a large table, overall branching of BTree Index is very large because it required to store thousands of keys in a B-Tree node.</p></blockquote>
<blockquote><p>The B-Tree also stored all the key values in their leaf nodes so for every search key lookups require to scan both the leaf node and B-Tree mapping node.</p></blockquote>
<blockquote><p>If we have very large table with the B-Tree index and we are selecting a large number of records, B-Tree index lookup will slow down the query performance.<br />
The B-Tree index also takes more database space and maintenance is also very costly for a large database table.</p></blockquote>
<p><strong>What is BRIN (Block Range Index):</strong><br />
<img loading="lazy" decoding="async" class="alignright wp-image-3467 size-medium" title="The BRIN Index" src="https://www.dbrnd.com/wp-content/uploads/2016/08/TheBRINIndex-300x241.jpg" alt="The BRIN Index" width="300" height="241" srcset="https://www.dbrnd.com/wp-content/uploads/2016/08/TheBRINIndex-300x241.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/08/TheBRINIndex-750x601.jpg 750w, https://www.dbrnd.com/wp-content/uploads/2016/08/TheBRINIndex-150x120.jpg 150w, https://www.dbrnd.com/wp-content/uploads/2016/08/TheBRINIndex.jpg 958w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<blockquote><p>The BRIN is a new database indexing technique, mainly design for very large table.</p></blockquote>
<blockquote><p>We know about the Table Partitioing concept, which we require to implement on a very large table.<br />
The BRIN index also works like Horizontal Table Partitioning, by creating a different block of data.<br />
If we are using BRIN, we do not require to implement Table Partitioing explicitly.
</p></blockquote>
<blockquote><p>The BRIN index creates different block of data and it defines range using MinMax function.<br />
Every block has one Min value and Max value associated which is used to identify a related block of data.<br />
A block range is a group of pages that are physically adjacent in the table, for each block range, some summary info is stored by the index.</p></blockquote>
<blockquote><p>The BRIN index is a very lightweight because it stores only summery of the data block. Unlike B-Tree indexes, it doesn&#8217;t require to store all key node value in index page.</p></blockquote>
<blockquote><p>An Even entire form of BRIN indexes can easily store in the memory because of its compact form and it reduces the scanning of the disk.<br />
As it is stored only summary of block so it is also 10 times faster than B-Tree for INSERT and UPDATE operations.</p></blockquote>
<blockquote><p>The creation of the BRIN indexes on a large table are also much faster than B-Tree indexes.<br />
The efficiency of BRIN index is also depends on the physical order of table data.</p></blockquote>
<blockquote><p>The BRIN indexes are scanning the tuples bases on a bitmap and it returns only those tuples which are matched in block range summary information so It also avoids scanning of the large parts of the table.</p></blockquote>
<blockquote><p>The B-Tree indexes are still superior for random searches, and we should use the BRIN indexes for specific type of queries which are mostly used in BIGDATA, Reporting, Data Warehouse.</p></blockquote>
<p><a href="https://www.dbrnd.com/2016/08/postgresql-9-5-introduced-brin-block-range-index-with-detail-performance-test-report-on-6gb-table/" target="_blank"><strong>Please visit next post, for one practical example of BRIN Index in PostgreSQL 9.5.</strong></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2016/08/database-theory-what-is-brin-block-range-index-how-is-faster-than-btree-index-horizontal-partition-index/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>A Day in the life of a DBA !</title>
		<link>https://www.dbrnd.com/2016/07/a-day-in-the-life-of-a-dba-database-administrator/</link>
					<comments>https://www.dbrnd.com/2016/07/a-day-in-the-life-of-a-dba-database-administrator/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Sun, 24 Jul 2016 14:15:24 +0000</pubDate>
				<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database administrator]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3381</guid>

					<description><![CDATA[<div><img width="432" height="288" src="https://www.dbrnd.com/wp-content/uploads/2016/07/DBAFinal.jpg" class="attachment-post-image size-post-image wp-post-image" alt="DBAFinal" decoding="async" loading="lazy" /></div>&#8221; Database Administrator = 24*7 Responsible person for Database Servers. &#8220; If any surprise call or alert happens, the DBA never shock because mostly all the systems are running 24*7 and A day in the life of a DBA is also for 24 hours. There is no any standard working time for the DBA and [&#8230;]]]></description>
										<content:encoded><![CDATA[<div><img width="432" height="288" src="https://www.dbrnd.com/wp-content/uploads/2016/07/DBAFinal.jpg" class="attachment-post-image size-post-image wp-post-image" alt="DBAFinal" decoding="async" loading="lazy" /></div><p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F07%2Fa-day-in-the-life-of-a-dba-database-administrator%2F&amp;linkname=A%20Day%20in%20the%20life%20of%20a%20DBA%20%21" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F07%2Fa-day-in-the-life-of-a-dba-database-administrator%2F&amp;linkname=A%20Day%20in%20the%20life%20of%20a%20DBA%20%21" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F07%2Fa-day-in-the-life-of-a-dba-database-administrator%2F&amp;linkname=A%20Day%20in%20the%20life%20of%20a%20DBA%20%21" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F07%2Fa-day-in-the-life-of-a-dba-database-administrator%2F&amp;linkname=A%20Day%20in%20the%20life%20of%20a%20DBA%20%21" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F07%2Fa-day-in-the-life-of-a-dba-database-administrator%2F&amp;linkname=A%20Day%20in%20the%20life%20of%20a%20DBA%20%21" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F07%2Fa-day-in-the-life-of-a-dba-database-administrator%2F&amp;linkname=A%20Day%20in%20the%20life%20of%20a%20DBA%20%21" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F07%2Fa-day-in-the-life-of-a-dba-database-administrator%2F&#038;title=A%20Day%20in%20the%20life%20of%20a%20DBA%20%21" data-a2a-url="https://www.dbrnd.com/2016/07/a-day-in-the-life-of-a-dba-database-administrator/" data-a2a-title="A Day in the life of a DBA !"></a></p><p style="text-align: center;"><strong>&#8221; Database Administrator = 24*7 Responsible person for Database Servers. &#8220;</strong></p>
<p style="text-align: center;">If any surprise call or alert happens, the DBA never shock because mostly all the systems are running 24*7 and A day in the life of a DBA is also for 24 hours.</p>
<p style="text-align: center;">There is no any standard working time for the DBA and it should have enough potential to solve the online problems.</p>
<hr />
<p style="text-align: center;"><strong>&#8220;A day with a bad morning, which starts with alerts and calls&#8221;</strong></p>
<p style="text-align: center;">If any call or alarm occurs in the morning time/midnight time, most of the DBA called this day as a “Black Day”.</p>
<p style="text-align: center;">DBA has already set the different auto notification and alert system to track the system performance. Also, has handy DBA scripts which use in any immediate situations.</p>
<p style="text-align: center;">But again after all this, A black day is very critical for DBA because it has to plan lots of things to get out from the emergency situation.</p>
<hr />
<p style="text-align: center;"><strong>&#8220;A day with the Security Loopholes, which improves data security&#8221; </strong></p>
<p style="text-align: center;">For every organization and system, the security of data is a preeminent concern.</p>
<p style="text-align: center;">DBA has to build strong security policies by applying for proper user permissions.</p>
<p style="text-align: center;">DBA can also enable the different type of encryption algorithms on database or objects.</p>
<p style="text-align: center;">This is not a new thing that after all the settled implementations, DBA never face any Security Loopholes, A day with Security Loopholes is a very critical for DBA because it has to monitor different auditing tables and logs to find out the root cause.</p>
<hr />
<p style="text-align: center;"><strong>&#8220;A day with the Performance Analysis and Tuning, which helps to build a good customer ranking&#8221;</strong></p>
<p style="text-align: center;">The Database Performance Analysis and Tuning are also one of the important exercise of DBA.</p>
<p style="text-align: center;">Whenever a database performance issue occurs, that day is also very critical for DBA, and it may require to perform some immediate action on that.</p>
<p style="text-align: center;">DBA has to keep a monitor on database performance in different aspects like internal fragmentations, external fragmentations, disk i/o, network access time, statistical metadata.</p>
<hr />
<p style="text-align: center;"><strong>&#8220;A day with the Planning and Meeting, which increases the decision power&#8221;</strong></p>
<p style="text-align: center;">DBA continuously involves in different planning and meeting with the various team members.</p>
<p style="text-align: center;">Before any database or server level modification, DBA has to coordinate with the various team members.</p>
<p style="text-align: center;">DBA should perform all impact analysis before actual changes on the database server, and these changes may relate to the database schema modification or database maintenance related stuff.</p>
<hr />
<p style="text-align: center;"><strong>“A day with the Load Balancing / High Availability, which increases the system performance/availability”</strong></p>
<p style="text-align: center;">DBA has to monitor, manage and planning the different Load Balancing/High Availablity implementations for increasing the system performance/availability.</p>
<p style="text-align: center;">Before any disaster happens, DBA has to be made a proper plan to implement the Load Balancing/High Availablity like Cluserting, Replication, Mirroring.</p>
<p style="text-align: center;">The day with this exercise is very challenging because DBA have to play with multiple database servers to achieve HA/DR.</p>
<p style="text-align: center;">DBA should check the status of all running servers and makes sure that all data synchronised between the servers.</p>
<hr />
<p style="text-align: center;"><strong>“A day with the System Upgradation, which will make the system up to date”</strong></p>
<p style="text-align: center;">Technology is growing like anything; everyday changes are happening in the technology market.</p>
<p style="text-align: center;">Frequently, all the vendors of different RDBMS/NoSQL products are releasing different patches or editions of their RDBMS products.</p>
<p style="text-align: center;">Either DBA has to register itself for product notification or has to find news about the new versions and patches.</p>
<p style="text-align: center;">DBA has to upgrade the system with the new patches and makes sure that the system is up to date which may increase the overall performance of the system.</p>
<hr />
<p style="text-align: center;"><strong>&#8220;A day with the dedicated Resource Monitoring, which helps to minimize the system downtime&#8221;</strong></p>
<p style="text-align: center;">DBA has to monitor the performance of different resources continuously.</p>
<p style="text-align: center;">It has to identify usage of dedicated resources because if a number of sessions/connections increases, it requires to increase the size of dedicated resources like Disk, Memory, Network bandwidth.</p>
<p style="text-align: center;">DBA can use the different monitoring tools and scripts for the continuous supervision of the system resources, which save the DBA day from the unwanted downtime.</p>
<hr />
<p style="text-align: center;"><strong>&#8220;A day with the Gathering of Statistics, which requires further system enhancement&#8221;</strong></p>
<p style="text-align: center;">To gather a different statistical data is also one of the day to day exercise of DBA.</p>
<p style="text-align: center;">DBA is collecting different information like the ratio of database size, some active connections base on various time zones, the completion time of scheduled database jobs, the end time of database transactions.</p>
<p style="text-align: center;">Bases on different statistics, DBA can propose further system enhancement plans to his Manager/CTO.</p>
<hr />
<p style="text-align: center;"><strong>“A day with the self-improvement, which helps to grow personally”</strong></p>
<p style="text-align: center;">DBA can never find free time from its schedule, but it has to learn the new thing and keep itself updated.</p>
<p style="text-align: center;">DBA personal growth is also significant because lots of new theories implemented in the market which helps DBA for a better morning.</p>
<hr />
<p style="text-align: center;"><strong>&#8220;Are you DBA ?&#8221;</strong></p>
<p style="text-align: center;"><strong>Please share your experience through the comments !</strong></p>
<hr />
<p style="text-align: center;"><strong><a href="https://www.dbrnd.com/laugh-dbrnd-i-just-like-to-make-people-laugh-lol-2016/" target="_blank" rel="noopener noreferrer">Other Interesting Laugh@dbrnd posts:</a></strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2016/07/a-day-in-the-life-of-a-dba-database-administrator/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>Laugh@dbrnd.gif: Are you storing Comma Separated List in Database?</title>
		<link>https://www.dbrnd.com/2016/06/laugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database/</link>
					<comments>https://www.dbrnd.com/2016/06/laugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Sun, 19 Jun 2016 07:18:51 +0000</pubDate>
				<category><![CDATA[Laugh@Work_2016]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database concept]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[database standards]]></category>
		<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[database topic]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[laugh@dbrnd]]></category>
		<category><![CDATA[RDBMS]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=3202</guid>

					<description><![CDATA[Don&#8217;t make us Angry ! &#8220;Are you storing comma Separated List in Database&#8221; Get lost ! I request to all Database Professionals, &#8220;Please share your experience through the comments&#8221; Database Design: Storing a comma separated list in a Database, Is a Bad Practice? GIF reference taken from giphy.com.]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Flaugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database%2F&amp;linkname=Laugh%40dbrnd.gif%3A%20Are%20you%20storing%20Comma%20Separated%20List%20in%20Database%3F" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Flaugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database%2F&amp;linkname=Laugh%40dbrnd.gif%3A%20Are%20you%20storing%20Comma%20Separated%20List%20in%20Database%3F" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Flaugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database%2F&amp;linkname=Laugh%40dbrnd.gif%3A%20Are%20you%20storing%20Comma%20Separated%20List%20in%20Database%3F" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Flaugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database%2F&amp;linkname=Laugh%40dbrnd.gif%3A%20Are%20you%20storing%20Comma%20Separated%20List%20in%20Database%3F" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Flaugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database%2F&amp;linkname=Laugh%40dbrnd.gif%3A%20Are%20you%20storing%20Comma%20Separated%20List%20in%20Database%3F" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Flaugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database%2F&amp;linkname=Laugh%40dbrnd.gif%3A%20Are%20you%20storing%20Comma%20Separated%20List%20in%20Database%3F" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2016%2F06%2Flaugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database%2F&#038;title=Laugh%40dbrnd.gif%3A%20Are%20you%20storing%20Comma%20Separated%20List%20in%20Database%3F" data-a2a-url="https://www.dbrnd.com/2016/06/laugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database/" data-a2a-title="Laugh@dbrnd.gif: Are you storing Comma Separated List in Database?"></a></p><p style="text-align: center;"><strong><span style="color: red; font-size: x-large;">Don&#8217;t make us Angry !<br />
&#8220;Are you storing comma Separated List in Database&#8221;<br />
Get lost !<br />
</span></strong></p>
<p style="text-align: center;"><strong><span style="color: green; font-size: x-large;">I request to all Database Professionals,<br />
&#8220;Please share your experience through the comments&#8221;</span></strong></p>
<hr />
<p style="text-align: center;"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3206" src="https://www.dbrnd.com/wp-content/uploads/2016/06/IsCommaSeparated.gif" alt="Is Comma Separated List " width="402" height="270" /></p>
<blockquote class="wp-embedded-content" data-secret="yK7DFV0hV7"><p><a href="https://www.dbrnd.com/2016/01/database-design-storing-a-comma-separated-list-in-a-database-is-a-bad-practice/">Database Design: Storing a comma separated list in a Database, Is a Bad Practice?</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2016/01/database-design-storing-a-comma-separated-list-in-a-database-is-a-bad-practice/embed/#?secret=yK7DFV0hV7" data-secret="yK7DFV0hV7" width="600" height="338" title="&#8220;Database Design: Storing a comma separated list in a Database, Is a Bad Practice?&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>GIF reference taken from giphy.com.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2016/06/laugh-dbrnd-gif-are-you-storing-comma-separated-list-in-database/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
