<?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>SSTable &#8211; Database Research &amp; Development</title>
	<atom:link href="https://www.dbrnd.com/tag/sstable/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>Tue, 21 Nov 2017 13:18:08 +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>NoSQL: Cassandra Architecture &#8211; Read and Write operations in The Ring (Day 2)</title>
		<link>https://www.dbrnd.com/2016/04/nosql-cassandra-architecture-read-and-write-operations-in-the-ring-day-2/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Thu, 28 Apr 2016 21:14:40 +0000</pubDate>
				<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Cluster Ring]]></category>
		<category><![CDATA[Column Store]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Document Store]]></category>
		<category><![CDATA[Graph Store]]></category>
		<category><![CDATA[Key Value Store]]></category>
		<category><![CDATA[Memtable]]></category>
		<category><![CDATA[Not Only SQL]]></category>
		<category><![CDATA[SSTable]]></category>
		<category><![CDATA[Unstrucutred]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=2708</guid>

					<description><![CDATA[In the previous day, I shared some of the essential key concepts of the Cassandra Architecture. In this post, I am sharing the basic architecture of reading and writing operations of Cassandra. Cassandra Ring: Cassandra is using a consistent hashing algorithm to treat all nodes of the cluster equally. A Cassandra cluster is visualised as [&#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%2Fnosql-cassandra-architecture-read-and-write-operations-in-the-ring-day-2%2F&amp;linkname=NoSQL%3A%20Cassandra%20Architecture%20%E2%80%93%20Read%20and%20Write%20operations%20in%20The%20Ring%20%28Day%202%29" 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%2Fnosql-cassandra-architecture-read-and-write-operations-in-the-ring-day-2%2F&amp;linkname=NoSQL%3A%20Cassandra%20Architecture%20%E2%80%93%20Read%20and%20Write%20operations%20in%20The%20Ring%20%28Day%202%29" 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%2Fnosql-cassandra-architecture-read-and-write-operations-in-the-ring-day-2%2F&amp;linkname=NoSQL%3A%20Cassandra%20Architecture%20%E2%80%93%20Read%20and%20Write%20operations%20in%20The%20Ring%20%28Day%202%29" 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%2Fnosql-cassandra-architecture-read-and-write-operations-in-the-ring-day-2%2F&amp;linkname=NoSQL%3A%20Cassandra%20Architecture%20%E2%80%93%20Read%20and%20Write%20operations%20in%20The%20Ring%20%28Day%202%29" 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%2Fnosql-cassandra-architecture-read-and-write-operations-in-the-ring-day-2%2F&amp;linkname=NoSQL%3A%20Cassandra%20Architecture%20%E2%80%93%20Read%20and%20Write%20operations%20in%20The%20Ring%20%28Day%202%29" 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%2Fnosql-cassandra-architecture-read-and-write-operations-in-the-ring-day-2%2F&amp;linkname=NoSQL%3A%20Cassandra%20Architecture%20%E2%80%93%20Read%20and%20Write%20operations%20in%20The%20Ring%20%28Day%202%29" 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%2Fnosql-cassandra-architecture-read-and-write-operations-in-the-ring-day-2%2F&#038;title=NoSQL%3A%20Cassandra%20Architecture%20%E2%80%93%20Read%20and%20Write%20operations%20in%20The%20Ring%20%28Day%202%29" data-a2a-url="https://www.dbrnd.com/2016/04/nosql-cassandra-architecture-read-and-write-operations-in-the-ring-day-2/" data-a2a-title="NoSQL: Cassandra Architecture – Read and Write operations in The Ring (Day 2)"></a></p><p><em>In the previous day, I shared some of the essential key concepts of the Cassandra Architecture.<br />
In this post, I am sharing the basic architecture of reading and writing operations of Cassandra. </em></p>
<p><strong>Cassandra Ring:</strong></p>
<blockquote><p>Cassandra is using a consistent hashing algorithm to treat all nodes of the cluster equally.</p>
<p><a href="https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraRing.jpg" rel="attachment wp-att-2715"><img fetchpriority="high" decoding="async" class="alignleft wp-image-2715 size-medium" title="NoSQL Cassandra Ring" src="https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraRing-300x239.jpg" alt="NoSQL Cassandra Ring" width="300" height="239" srcset="https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraRing-300x239.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraRing-768x613.jpg 768w, https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraRing-1024x817.jpg 1024w, https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraRing-750x598.jpg 750w, https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraRing-150x120.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>A Cassandra cluster is visualised as a Ring in which different nodes are participating with the same name. It can exchange state information with a maximum of three other nodes.<br />
A token range assigns to each node which determines its position in the cluster.</p></blockquote>
<blockquote><p>Cassandra is using Gossip Protocol so whenever any node starts, it obtains information about the other nodes by exchanging information with each other.</p></blockquote>
<blockquote><p>A Partitioner is responsible for preparing the set of data for each node.<br />
Cassandra has three different types of Partitioners, Murmur3Partitioner (default), RandomPartitioner and a ByteOrderedPartitioner.</p></blockquote>
<blockquote><p>Each node is performing replications of data basis on defined replication strategy. Basically there two types of replication strategy, one is Simple Strategy and second is Network Topology Strategy.</p>
<p>A Simple Strategy works in the clockwise, and Network Topology works for multiple data centres.</p></blockquote>
<p><strong>How it executes Write Operations?</strong></p>
<blockquote><p>A Cassandra is Masterless distributed architecture, and there is no any Master and Slave mechanism like any other distributed system.</p>
<p><a href="https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraArchitecture.jpg" rel="attachment wp-att-2720"><img decoding="async" class="alignright wp-image-2720 size-medium" title="NoSQL Cassandra Architecture" src="https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraArchitecture-300x264.jpg" alt="NoSQL Cassandra Architecture" width="300" height="264" srcset="https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraArchitecture-300x264.jpg 300w, https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraArchitecture-768x675.jpg 768w, https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraArchitecture-1024x900.jpg 1024w, https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraArchitecture-750x659.jpg 750w, https://www.dbrnd.com/wp-content/uploads/2016/04/NoSQLCassandraArchitecture-150x132.jpg 150w" sizes="(max-width: 300px) 100vw, 300px" /></a></p></blockquote>
<blockquote><p>At any given point in time, the client can connect to any node and that connected node called as a coordinator.<br />
Based on the partition key and replication strategy, Coordinator forwards and replicates data to all applicable nodes.</p></blockquote>
<blockquote><p>Each node processes the request individually.<br />
Every node first writes data into the commit log and then writes into the memtable.</p></blockquote>
<blockquote><p>The commit log ensures the durability because memtable is dealing with memory so whenever data is lost then we can use commit log to restore the data.<br />
Whenever memtable is flushed or full, it is written to the SSTable (Sorted String Table) of the disk.</p></blockquote>
<blockquote><p>Every SSTable creates three files on the disk which include a bloom filter, a key index and a data file. Over a period, a number of SSTables are created.</p></blockquote>
<p><strong>How It executes Read Operations?</strong></p>
<blockquote><p>As Cassandra is Masterless architecture so clients can connect to any node of the cluster ring.<br />
Like write operation, chosen node is called as coordinator and is responsible for returning the requested data.</p></blockquote>
<blockquote><p>A row key must be supplied for every read operation. The coordinator uses the row key to determine the first replica.</p>
<p>If replica has a different version of the data, coordinator returns the latest version to the client by issuing read repair command with the older version of the data.</p></blockquote>
<blockquote><p>Each read request fetches the data from memtable and SSTables after that it merged this data and returned to the coordinator.<br />
Internally SSTables are using a Bloom Filter to check requested row key whether it exists in SSTable or not.</p></blockquote>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>NoSQL: Key concepts of the Cassandra Architecture (Day 1)</title>
		<link>https://www.dbrnd.com/2016/04/nosql-key-concepts-of-the-cassandra-architecture-day-1/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Wed, 27 Apr 2016 19:43:36 +0000</pubDate>
				<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[Column Store]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Document Store]]></category>
		<category><![CDATA[Gossip Protocol]]></category>
		<category><![CDATA[Graph Store]]></category>
		<category><![CDATA[Key Value Store]]></category>
		<category><![CDATA[Memtable]]></category>
		<category><![CDATA[Merkle Tree]]></category>
		<category><![CDATA[Not Only SQL]]></category>
		<category><![CDATA[SSTable]]></category>
		<category><![CDATA[Unstrucutred]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=2692</guid>

					<description><![CDATA[As I started to learn and post about the Apache Cassandra so in this post, I am going to share some of the important Key concepts of the Cassandra Architecture. Data Replication: Cassandra supports high availability by implementing the Data Replication. One logical database is spread among the multiple Nodes of the Cluster, and it [&#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%2Fnosql-key-concepts-of-the-cassandra-architecture-day-1%2F&amp;linkname=NoSQL%3A%20Key%20concepts%20of%20the%20Cassandra%20Architecture%20%28Day%201%29" 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%2Fnosql-key-concepts-of-the-cassandra-architecture-day-1%2F&amp;linkname=NoSQL%3A%20Key%20concepts%20of%20the%20Cassandra%20Architecture%20%28Day%201%29" 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%2Fnosql-key-concepts-of-the-cassandra-architecture-day-1%2F&amp;linkname=NoSQL%3A%20Key%20concepts%20of%20the%20Cassandra%20Architecture%20%28Day%201%29" 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%2Fnosql-key-concepts-of-the-cassandra-architecture-day-1%2F&amp;linkname=NoSQL%3A%20Key%20concepts%20of%20the%20Cassandra%20Architecture%20%28Day%201%29" 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%2Fnosql-key-concepts-of-the-cassandra-architecture-day-1%2F&amp;linkname=NoSQL%3A%20Key%20concepts%20of%20the%20Cassandra%20Architecture%20%28Day%201%29" 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%2Fnosql-key-concepts-of-the-cassandra-architecture-day-1%2F&amp;linkname=NoSQL%3A%20Key%20concepts%20of%20the%20Cassandra%20Architecture%20%28Day%201%29" 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%2Fnosql-key-concepts-of-the-cassandra-architecture-day-1%2F&#038;title=NoSQL%3A%20Key%20concepts%20of%20the%20Cassandra%20Architecture%20%28Day%201%29" data-a2a-url="https://www.dbrnd.com/2016/04/nosql-key-concepts-of-the-cassandra-architecture-day-1/" data-a2a-title="NoSQL: Key concepts of the Cassandra Architecture (Day 1)"></a></p><p>As I started to learn and post about the Apache Cassandra so in this post, I am going to share some of the important Key concepts of the Cassandra Architecture. </p>
<p><strong>Data Replication:</strong></p>
<blockquote><p>Cassandra supports high availability by implementing the Data Replication.<br />
One logical database is spread among the multiple Nodes of the Cluster, and it creates different replicas of the Nodes.<br />
If one Node goes down, another Node is available with the data, so it avoids a single point of failure. </p></blockquote>
<p><strong>Consistent Hashing Algorithm:</strong></p>
<blockquote><p>Actually, there are primary two problems with the distributed database system, The first is, every time determining a Node with the specific data set and The second is, require to reduce the data movement when adding or removing Nodes.<br />
The Consistent Hashing Algorithm achieves this problem by storing Cassandra row keys to physical nodes.
</p></blockquote>
<p><strong>Data Consistency:</strong></p>
<blockquote><p>As data is replicated across the different nodes, it ensures that data is synchronised across all the replicas. Before any operation on the nodes, it checks the last update value and version of the data.<br />
It also provides the tunable consistency in which user can determine the consistency level. </p></blockquote>
<p><strong>Gossip Protocol: </strong></p>
<blockquote><p>Cassandra is using Gossip Protocol in which all Nodes discover information about the other nodes by exchanging information with each other.<br />
Because of the network traffic, Nodes cannot exchange the information of all nodes, but it can exchange information maximum of 3 nodes. </p></blockquote>
<p><strong>Snitches and Replication Strategies: </strong></p>
<blockquote><p>Cassandra uses snitches and replication strategies to determine how data is replicated across all data centres and nodes.</p>
<p>The Snitches determine the how each node uses near to each other in the ring and Replication strategies this information to determine location information for each copy of the data.
</p></blockquote>
<p><strong>Bloom Filters: </strong></p>
<blockquote><p>A bloom filter tests the existence of a data structure, and it checks that items are available in the set or not. It also reduces CPU I/O operation because it is swift.
</p></blockquote>
<p><strong>Merkle Tree: </strong></p>
<blockquote><p>It is one type of hash tree, and it uses for finding the differences between the Nodes. </p></blockquote>
<p><strong>SSTable: </strong></p>
<blockquote><p>A Sorted String Table is ordered key-value map which is storing large sorted data.</p></blockquote>
<p><strong>Write Back Cache: </strong></p>
<blockquote><p>A Write Back Cache is only for writing operation in which write operations can use the dedicated cache. </p></blockquote>
<p><strong>Memtable:</strong> </p>
<blockquote><p>A memtable is residing in the memory and manage the data of Write Back Cache.</p></blockquote>
<p><strong>Cassandra Keyspace:</strong></p>
<blockquote><p>It is similar to RDBMS schema or database. It is container of all types of data and objects.</p></blockquote>
<p><strong>Cassandra Column Family: </strong></p>
<blockquote><p>It is similar to RDBMS table and it contains column and data related information. </p></blockquote>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
