<?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/category/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.4</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>SQL Server: The use of Semicolons is a good habit, Don&#8217;t forget it</title>
		<link>https://www.dbrnd.com/2018/03/sql-server-the-use-of-semicolons-is-a-good-habit-dont-forget-it/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Mon, 19 Mar 2018 16:16:20 +0000</pubDate>
				<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[Batch Separator]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Semicolon]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Error]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tuning]]></category>
		<category><![CDATA[SQL Server Programming]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=7245</guid>

					<description><![CDATA[In my overall career, I worked on multiple RDBMS/NoSQL systems. As per the ANSI SQL, SQL statements are terminated by semicolons. If you are working on MySQL or PostgreSQL then a semicolon is a mandatory between multiple SQL statements. Most of the SQL Server DB guys are confused between &#8220;GO&#8221; and semicolon. &#8220;GO&#8221; is a [&#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%2F2018%2F03%2Fsql-server-the-use-of-semicolons-is-a-good-habit-dont-forget-it%2F&amp;linkname=SQL%20Server%3A%20The%20use%20of%20Semicolons%20is%20a%20good%20habit%2C%20Don%E2%80%99t%20forget%20it" 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%2F2018%2F03%2Fsql-server-the-use-of-semicolons-is-a-good-habit-dont-forget-it%2F&amp;linkname=SQL%20Server%3A%20The%20use%20of%20Semicolons%20is%20a%20good%20habit%2C%20Don%E2%80%99t%20forget%20it" 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%2F2018%2F03%2Fsql-server-the-use-of-semicolons-is-a-good-habit-dont-forget-it%2F&amp;linkname=SQL%20Server%3A%20The%20use%20of%20Semicolons%20is%20a%20good%20habit%2C%20Don%E2%80%99t%20forget%20it" 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%2F2018%2F03%2Fsql-server-the-use-of-semicolons-is-a-good-habit-dont-forget-it%2F&amp;linkname=SQL%20Server%3A%20The%20use%20of%20Semicolons%20is%20a%20good%20habit%2C%20Don%E2%80%99t%20forget%20it" 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%2F2018%2F03%2Fsql-server-the-use-of-semicolons-is-a-good-habit-dont-forget-it%2F&amp;linkname=SQL%20Server%3A%20The%20use%20of%20Semicolons%20is%20a%20good%20habit%2C%20Don%E2%80%99t%20forget%20it" 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%2F2018%2F03%2Fsql-server-the-use-of-semicolons-is-a-good-habit-dont-forget-it%2F&amp;linkname=SQL%20Server%3A%20The%20use%20of%20Semicolons%20is%20a%20good%20habit%2C%20Don%E2%80%99t%20forget%20it" 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%2F2018%2F03%2Fsql-server-the-use-of-semicolons-is-a-good-habit-dont-forget-it%2F&#038;title=SQL%20Server%3A%20The%20use%20of%20Semicolons%20is%20a%20good%20habit%2C%20Don%E2%80%99t%20forget%20it" data-a2a-url="https://www.dbrnd.com/2018/03/sql-server-the-use-of-semicolons-is-a-good-habit-dont-forget-it/" data-a2a-title="SQL Server: The use of Semicolons is a good habit, Don’t forget it"></a></p><p>In my overall career, I worked on multiple RDBMS/NoSQL systems. As per the ANSI SQL, SQL statements are terminated by semicolons. If you are working on MySQL or PostgreSQL then a semicolon is a mandatory between multiple SQL statements. </p>
<p>Most of the SQL Server DB guys are confused between &#8220;GO&#8221; and semicolon. &#8220;GO&#8221; is a default identifier which uses as a batch separator where a semicolon is a terminator of a SQL Statement. </p>
<blockquote><p>The semicolon is a not a mandatory in SQL Server because by default SQL statements are terminated with semicolons.<br />
But we must terminate the statement by using the semicolon which is the best practice.<br />
In some cases, I got a wrong error message for those SQL Statements which are not ended by semicolons.</p></blockquote>
<p>If you are a programmer and know the C, C++ or JAVA, you know that statement terminator is mandatory for the compiler. </p>
<blockquote><p>Microsoft technologies are good, but they are changing and upgrading their versions very speedy. So in the future, there may be a chance of announcement like &#8220;Semicolon as a statement terminator is compulsory in SQL Server&#8221;, and after that, you can assume what will happen. You have to update all your DB Codes. </p></blockquote>
<p>I would suggest, please don&#8217;t wait for anything and give explicitly semicolon at the end of your SQL Statement. </p>
<blockquote class="wp-embedded-content" data-secret="9T3OFKLhaW"><p><a href="https://www.dbrnd.com/2018/03/sql-server-how-to-change-the-default-go-batch-separator/">SQL Server: How to change the default &#8220;GO&#8221; Batch Separator?</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2018/03/sql-server-how-to-change-the-default-go-batch-separator/embed/#?secret=9T3OFKLhaW" data-secret="9T3OFKLhaW" width="600" height="338" title="&#8220;SQL Server: How to change the default &#8220;GO&#8221; Batch Separator?&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server: Must know &#8211; the Forwarded Records in HEAP Table</title>
		<link>https://www.dbrnd.com/2017/11/sql-server-must-know-the-forwarded-records-in-heap-table/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Thu, 02 Nov 2017 16:16:31 +0000</pubDate>
				<category><![CDATA[Database Theory]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Forwarded Records]]></category>
		<category><![CDATA[fragmentation]]></category>
		<category><![CDATA[heap table]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Error]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tuning]]></category>
		<category><![CDATA[SQL Server Programming]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=6296</guid>

					<description><![CDATA[<div><img width="600" height="400" src="https://www.dbrnd.com/wp-content/uploads/2016/12/PostgreSQLFragmentation.jpg" class="attachment-post-image size-post-image wp-post-image" alt="postgresql fragmentation" decoding="async" loading="lazy" srcset="https://www.dbrnd.com/wp-content/uploads/2016/12/PostgreSQLFragmentation.jpg 600w, https://www.dbrnd.com/wp-content/uploads/2016/12/PostgreSQLFragmentation-300x200.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/12/PostgreSQLFragmentation-150x100.jpg 150w" sizes="auto, (max-width: 600px) 100vw, 600px" /></div>In this post, I am sharing an important note on Forwarded Records in the Heap table of SQL Server. Whenever DBA or Developer is facing performance issue, they are always talking about the table or index fragmentation, but no-one is discussing the Forwarded Records. What is heap Table Simple Example to understand Forwarded Records: You [&#8230;]]]></description>
										<content:encoded><![CDATA[<div><img width="600" height="400" src="https://www.dbrnd.com/wp-content/uploads/2016/12/PostgreSQLFragmentation.jpg" class="attachment-post-image size-post-image wp-post-image" alt="postgresql fragmentation" decoding="async" loading="lazy" srcset="https://www.dbrnd.com/wp-content/uploads/2016/12/PostgreSQLFragmentation.jpg 600w, https://www.dbrnd.com/wp-content/uploads/2016/12/PostgreSQLFragmentation-300x200.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/12/PostgreSQLFragmentation-150x100.jpg 150w" sizes="auto, (max-width: 600px) 100vw, 600px" /></div><p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F11%2Fsql-server-must-know-the-forwarded-records-in-heap-table%2F&amp;linkname=SQL%20Server%3A%20Must%20know%20%E2%80%93%20the%20Forwarded%20Records%20in%20HEAP%20Table" 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%2F2017%2F11%2Fsql-server-must-know-the-forwarded-records-in-heap-table%2F&amp;linkname=SQL%20Server%3A%20Must%20know%20%E2%80%93%20the%20Forwarded%20Records%20in%20HEAP%20Table" 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%2F2017%2F11%2Fsql-server-must-know-the-forwarded-records-in-heap-table%2F&amp;linkname=SQL%20Server%3A%20Must%20know%20%E2%80%93%20the%20Forwarded%20Records%20in%20HEAP%20Table" 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%2F2017%2F11%2Fsql-server-must-know-the-forwarded-records-in-heap-table%2F&amp;linkname=SQL%20Server%3A%20Must%20know%20%E2%80%93%20the%20Forwarded%20Records%20in%20HEAP%20Table" 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%2F2017%2F11%2Fsql-server-must-know-the-forwarded-records-in-heap-table%2F&amp;linkname=SQL%20Server%3A%20Must%20know%20%E2%80%93%20the%20Forwarded%20Records%20in%20HEAP%20Table" 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%2F2017%2F11%2Fsql-server-must-know-the-forwarded-records-in-heap-table%2F&amp;linkname=SQL%20Server%3A%20Must%20know%20%E2%80%93%20the%20Forwarded%20Records%20in%20HEAP%20Table" 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%2F2017%2F11%2Fsql-server-must-know-the-forwarded-records-in-heap-table%2F&#038;title=SQL%20Server%3A%20Must%20know%20%E2%80%93%20the%20Forwarded%20Records%20in%20HEAP%20Table" data-a2a-url="https://www.dbrnd.com/2017/11/sql-server-must-know-the-forwarded-records-in-heap-table/" data-a2a-title="SQL Server: Must know – the Forwarded Records in HEAP Table"></a></p><p>In this post, I am sharing an important note on Forwarded Records in the Heap table of SQL Server. Whenever DBA or Developer is facing performance issue, they are always talking about the table or index fragmentation, but no-one is discussing the Forwarded Records. </p>
<blockquote class="wp-embedded-content" data-secret="zyVYXmfaV7"><p><a href="https://www.dbrnd.com/2015/08/what-is-heap-table/">What is heap Table</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2015/08/what-is-heap-table/embed/#?secret=zyVYXmfaV7" data-secret="zyVYXmfaV7" width="600" height="338" title="&#8220;What is heap Table&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p><strong>Simple Example to understand Forwarded Records:</strong></p>
<blockquote><p>You create a heap table, and one of the column types is VARCHAR(200).<br />
You inserted 100000 records and added a small size of the string in VARCHAR(200) like &#8220;dbrnd&#8221; value which is only VARCHAR(5).</p>
<p>Now next, you require updating the value from &#8220;dbrnd&#8221; to &#8220;Database Research &#038; Development&#8221; which is now VARCHAR(31).<br />
Previously, we stored our data based on VARCHAR(5), but while updating we need VARCHAR(31).</p>
<p>Before the update, all data correctly save in data page and for new update no more free space available on the data page. So SQL Server internally moves new data into the new page and assigned a new Relative Identifier (RID).</p>
<p>Now old page contains forwarding pointer to new RID and new records also back pointer to old records. </p></blockquote>
<p><em>&#8211; Called as Forwarded Records and which is also one type of internal fragmentation. </em></p>
<p><em>The biggest drawback of Forwarded Record is, it requires high I/O because SQL Server has to jump between the old data page and new data page for getting data. </em></p>
<p><strong>Few more following topics, which I will publish from tomorrow:</strong><br />
How to find the Forwarded Records?<br />
How to remove Forwarded Records?</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 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>Database Theory: Advice to DBA, Understand RTO and RPO before Database Maintenance</title>
		<link>https://www.dbrnd.com/2016/05/database-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance/</link>
					<comments>https://www.dbrnd.com/2016/05/database-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Tue, 17 May 2016 21:00: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[RDBMS]]></category>
		<category><![CDATA[Recovery Point Objective]]></category>
		<category><![CDATA[Recovery Time Objective]]></category>
		<category><![CDATA[RPO]]></category>
		<category><![CDATA[RTO]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=2828</guid>

					<description><![CDATA[In this post, I am sharing an advice for all Database Administrators on their database maintenance task. In this area, Database administrators have to understand two terminologies one is Recovery Time Objective (RTO) and the second is Recovery Point Objective (RPO). Whenever you are performing database administration task, you should analyse and suggest require RTO [&#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%2F05%2Fdatabase-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance%2F&amp;linkname=Database%20Theory%3A%20Advice%20to%20DBA%2C%20Understand%20RTO%20and%20RPO%20before%20Database%20Maintenance" 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%2F05%2Fdatabase-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance%2F&amp;linkname=Database%20Theory%3A%20Advice%20to%20DBA%2C%20Understand%20RTO%20and%20RPO%20before%20Database%20Maintenance" 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%2F05%2Fdatabase-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance%2F&amp;linkname=Database%20Theory%3A%20Advice%20to%20DBA%2C%20Understand%20RTO%20and%20RPO%20before%20Database%20Maintenance" 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%2F05%2Fdatabase-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance%2F&amp;linkname=Database%20Theory%3A%20Advice%20to%20DBA%2C%20Understand%20RTO%20and%20RPO%20before%20Database%20Maintenance" 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%2F05%2Fdatabase-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance%2F&amp;linkname=Database%20Theory%3A%20Advice%20to%20DBA%2C%20Understand%20RTO%20and%20RPO%20before%20Database%20Maintenance" 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%2F05%2Fdatabase-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance%2F&amp;linkname=Database%20Theory%3A%20Advice%20to%20DBA%2C%20Understand%20RTO%20and%20RPO%20before%20Database%20Maintenance" 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%2F05%2Fdatabase-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance%2F&#038;title=Database%20Theory%3A%20Advice%20to%20DBA%2C%20Understand%20RTO%20and%20RPO%20before%20Database%20Maintenance" data-a2a-url="https://www.dbrnd.com/2016/05/database-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance/" data-a2a-title="Database Theory: Advice to DBA, Understand RTO and RPO before Database Maintenance"></a></p><p><a href="https://www.dbrnd.com/wp-content/uploads/2016/05/Tips.jpg" rel="attachment wp-att-2839"><img loading="lazy" decoding="async" class="wp-image-2839 size-medium alignleft" title="DBA Tips" src="https://www.dbrnd.com/wp-content/uploads/2016/05/Tips-300x148.jpg" alt="DBA Tips" width="300" height="148" srcset="https://www.dbrnd.com/wp-content/uploads/2016/05/Tips-300x148.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/05/Tips-150x74.jpg 150w, https://www.dbrnd.com/wp-content/uploads/2016/05/Tips.jpg 720w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><em>In this post, I am sharing an advice for all Database Administrators on their database maintenance task.</p>
<p>In this area, Database administrators have to understand two terminologies one is Recovery Time Objective (RTO) and the second is Recovery Point Objective (RPO).</em></p>
<blockquote><p>Whenever you are performing database administration task, you should analyse and suggest require RTO &amp; RPO to concern client or organization.</p></blockquote>
<blockquote><p>Whenever DBAs are taking action on Disaster Recovery or Point in time Recovery, in these most of the situations Database Downtime is required.</p></blockquote>
<blockquote><p>The RTO &amp; RPO help us to measure the system downtime and if the system downtime is required, what are the chances of data loss.</p>
<p>Without properly identifying RTO &amp; RPO, DBAs are taking a huge risk to recover a Database from the disaster.</p></blockquote>
<p><strong>What is Recovery Time Objective (RTO)?</strong></p>
<blockquote><p>Recovery Time Objective means to measure the downtime of the system and also require to measure that how long system can be accessible again.</p>
<p><a href="https://www.dbrnd.com/wp-content/uploads/2016/05/TimeToRecover.jpg" rel="attachment wp-att-2840"><img loading="lazy" decoding="async" class="alignright wp-image-2840 size-full" title="Time To Recover" src="https://www.dbrnd.com/wp-content/uploads/2016/05/TimeToRecover.jpg" alt="Time To Recover" width="300" height="239" srcset="https://www.dbrnd.com/wp-content/uploads/2016/05/TimeToRecover.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/05/TimeToRecover-150x120.jpg 150w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p></blockquote>
<blockquote><p>The DBA has to measure the desired downtime, including defined downtime and how much additional downtime is required to complete the maintenance task.</p></blockquote>
<blockquote><p>There are different approaches to define the RTO like, DBA can perform the same maintenance task on the replicate test environment and can be defined require RTO for the production database.</p></blockquote>
<blockquote><p>If DBAs are doing recovery of the large database, there is also some possibility of failure so DBA has to also calculate the time of failure for a maintenance task.</p></blockquote>
<blockquote><p>When you are determining an acceptable RTO, you should be focusing on individual applications rather than entire servers. The stopwatch starts on your RTO the instant an important application is no longer usable, and won’t stop until it can be used again as normal by all users who require it.</p></blockquote>
<p><strong>What is Recovery Point Objective (RPO)?</strong></p>
<blockquote><p>Recovery Point Objective means to measure the acceptable loss of data during the recovery operation.</p>
<p><a href="https://www.dbrnd.com/wp-content/uploads/2016/05/Backup2.jpg" rel="attachment wp-att-2842"><img loading="lazy" decoding="async" class="alignleft wp-image-2842 size-medium" title="Time to Backup" src="https://www.dbrnd.com/wp-content/uploads/2016/05/Backup2-300x300.jpg" alt="Time to Backup" width="300" height="300" srcset="https://www.dbrnd.com/wp-content/uploads/2016/05/Backup2-300x300.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/05/Backup2-150x150.jpg 150w, https://www.dbrnd.com/wp-content/uploads/2016/05/Backup2-768x767.jpg 768w, https://www.dbrnd.com/wp-content/uploads/2016/05/Backup2-1024x1024.jpg 1024w, https://www.dbrnd.com/wp-content/uploads/2016/05/Backup2-750x749.jpg 750w, https://www.dbrnd.com/wp-content/uploads/2016/05/Backup2.jpg 1386w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p></blockquote>
<blockquote><p>Before making system down, DBAs have to monitor the load of application and make sure that there are no any running connections with the application.<br />
DBAs have to also monitor the background job and services, which are accessing the application.</p></blockquote>
<blockquote><p>If the system has a large number of running connections, there are different approaches like point your application to the secondary server and make production server free for the maintenance task.</p>
<p>After the maintenance DBA has to recover backup data from the secondary server to the primary server.</p></blockquote>
<blockquote><p>If the system downtime is very high, the volume of data loss is also very high.<br />
The DBA can measure RPO like if the bulk operation is running in the system, you can easily measure that how much data are inserted in a single minute and based on this DBA can calculate the possibility of data loss.</p></blockquote>
<p><em>Once you’ve figured out how much data loss and downtime will cost or impact your business, you’re then able to formulate objectives for how to mitigate those costs—which is the exact role and nature of <a href="http://sqlmag.com/blog/sql-server-recovery-time-objectives-and-recovery-point-objectives" target="_blank">RTOs and RPOs</a>.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2016/05/database-dba-what-is-recovery-time-objective-recovery-point-objective-measure-rto-rpo-before-database-maintenance/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Database Theory: Table Scan vs Index Scan vs Index Seek</title>
		<link>https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/</link>
					<comments>https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Mon, 18 Apr 2016 20:22:33 +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[Index Scan]]></category>
		<category><![CDATA[Index Seek]]></category>
		<category><![CDATA[RDBMS]]></category>
		<category><![CDATA[Table Scan]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=2375</guid>

					<description><![CDATA[Table Scan: It scans every row for finding a particular node or data. If the planner fails to use a proper index, it has to do full Table Scanning. If table has a less number of records, Table Scan is an excellent choice for query optimizer. For example, If Table has around 1000 records, Table [&#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%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" 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%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" 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%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" 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%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" 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%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" 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%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&amp;linkname=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" 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%2F04%2Fdatabase-theory-table-scan-vs-index-scan-vs-index-seek%2F&#038;title=Database%20Theory%3A%20Table%20Scan%20vs%20Index%20Scan%20vs%20Index%20Seek" data-a2a-url="https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/" data-a2a-title="Database Theory: Table Scan vs Index Scan vs Index Seek"></a></p><p><strong>Table Scan:</strong></p>
<blockquote><p>It scans every row for finding a particular node or data. If the planner fails to use a proper index, it has to do full Table Scanning.<br />
If table has a less number of records, Table Scan is an excellent choice for query optimizer.</p></blockquote>
<blockquote><p>For example, If Table has around 1000 records, Table Scan is faster because unnecessary Index Scanning operation is not required.<br />
But, If the Table has a large number of records, Table Scan requires high CPU and other resources for scanning the whole table. </p></blockquote>
<p><strong>Index Scan: </strong></p>
<blockquote><p>It is scanning of each row, whenever you are retrieving more than 50% or 70% of the table data, internally planner performing full Index Scan. </p></blockquote>
<blockquote><p>Generally, Index pages and Data pages are stored separately.<br />
Index scanning is also dependent on the ordering of the Index data because If matched key found from the top pages, Index Scan is not required. </p></blockquote>
<blockquote><p>The Row Lookups also involved in Index Scanning because matched Index key has to fetch data from the data page, so Index Scanning is very costly for the big table. </p></blockquote>
<p><strong>Index Seek:</strong></p>
<blockquote><p>Index Seek is opposite the Table Scan and Index Scan.<br />
It touches the only qualified row index rather than scanning whole Index Pages, and after that, it fetches only qualified data page. </p></blockquote>
<blockquote><p>When we are fetching less number of records with the specific filter, the planner has to choose Index Seek to fetch and scan only qualified data.</p>
<p>Index Seek operation is much faster than Index Scan, and also it does not require more CPU and I/O resources. </p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2016/04/database-theory-table-scan-vs-index-scan-vs-index-seek/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
