<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4399456475905639171</id><updated>2025-07-19T23:17:32.785-07:00</updated><category term="HBase sql"/><category term="Hive Find_in_set &quot;IN&quot; Clause"/><category term="Hive function regexp_replace count values"/><category term="Phoenix"/><category term="Phoenix HBase"/><category term="Start Hadoop Hbase cluster cloudera"/><category term="bzcat cat hdfs console stdout cat compressed hdfs file"/><category term="cloudera hadoop jobtracker pid file exists status service"/><category term="contains only hive query regexp_replace multivalued column"/><category term="delete sed one liners scripting"/><category term="grep tab character"/><category term="hadoop put command untar copy uncompress without uncompressing unziping"/><category term="hbase"/><category term="hbase architecture"/><category term="hbase bulk load hadoop csv"/><category term="hbase cassandra comparison"/><category term="hbase hfilev1 hfilev2 file format"/><category term="hbase introduction"/><category term="hbase overview"/><category term="hdfs namenode hadoop debug log4j run"/><category term="newline tab comma vi substitution"/><category term="nosql"/><category term="secure HBase"/><category term="vmware esxi esxi5.0 upload copy file local filesystem"/><category term="zookeeper hbase zoo.cfg quorum hadoop error"/><title type='text'>BigDataNoob</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-420019358722529846</id><published>2015-09-12T23:17:00.000-07:00</published><updated>2015-09-12T23:17:54.016-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hbase"/><category scheme="http://www.blogger.com/atom/ns#" term="hbase architecture"/><category scheme="http://www.blogger.com/atom/ns#" term="hbase introduction"/><category scheme="http://www.blogger.com/atom/ns#" term="hbase overview"/><category scheme="http://www.blogger.com/atom/ns#" term="nosql"/><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;u&gt;&lt;b&gt;Brief Overview of HBase, its architecture, components, and data model&lt;/b&gt;&lt;/u&gt;&lt;/h3&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;356&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;https://www.slideshare.net/slideshow/embed_code/key/fobFwQhzdB1k8I&quot; style=&quot;border-width: 1px; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;&quot; width=&quot;427&quot;&gt; &lt;/iframe&gt; &lt;br /&gt;
&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;
&lt;b&gt; &lt;a href=&quot;https://www.slideshare.net/anilgupta84/introduction-to-hbase-52714951&quot; target=&quot;_blank&quot; title=&quot;Introduction To HBase&quot;&gt;Introduction To HBase&lt;/a&gt; &lt;/b&gt; from &lt;b&gt;&lt;a href=&quot;http://www.slideshare.net/anilgupta84&quot; target=&quot;_blank&quot;&gt;Anil Gupta&lt;/a&gt;&lt;/b&gt; &lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/420019358722529846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2015/09/introduction-to-hbase.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/420019358722529846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/420019358722529846'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2015/09/introduction-to-hbase.html' title=''/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-8129405079729987740</id><published>2013-09-14T13:32:00.000-07:00</published><updated>2015-12-22T23:24:17.506-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HBase sql"/><category scheme="http://www.blogger.com/atom/ns#" term="Phoenix"/><category scheme="http://www.blogger.com/atom/ns#" term="Phoenix HBase"/><category scheme="http://www.blogger.com/atom/ns#" term="secure HBase"/><title type='text'>Connect Phoenix to Secure HBase Cluster</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Blogpost Update(Dec 21, 2015) :&lt;br /&gt;
&lt;br /&gt;
In &lt;b&gt;Phoenix3.0+&lt;/b&gt; we added the feature to natively connect to secure HBase cluster. Following is the JDBC connection URL format:&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: orange;&quot;&gt;jdbc:phoenix:&amp;lt;quorom&amp;gt;:&amp;lt;port&amp;gt;:[zk_rootNode]:&amp;lt;principal&amp;gt;:&amp;lt;keytab&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
So, users just need to use above JDBC connection string while connecting to secure cluster via sqlline, java code, or your favorite sql browser.&lt;br /&gt;
&lt;br /&gt;
Still need more info?&lt;br /&gt;
Have a look at https://issues.apache.org/jira/browse/PHOENIX-19 for implementation details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;u&gt;&lt;b&gt;Steps for connecting Phoenix to a secure cluster prior to Phoenix3.0 release&amp;nbsp;&lt;/b&gt;&lt;/u&gt;&lt;u&gt;&lt;b&gt; &lt;/b&gt;&lt;/u&gt;&lt;/h4&gt;
By default, Phoenix distribution is unable to connect to secure cluster. But, Phoenix can connect to a secure HBase cluster by modifying sqlline.sh script and setting up some more java parameters. Great thing about this solution is that no java code modification is required.&lt;br /&gt;
So, it hardly takes 5 minutes. :)&lt;br /&gt;
&lt;br /&gt;
Following are the steps required to do the set-up:&lt;br /&gt;
1. Create jaas.conf file with following content:&lt;br /&gt;
&lt;i&gt;Client {&lt;br /&gt;&amp;nbsp; com.sun.security.auth.module.Krb5LoginModule required&lt;br /&gt;&amp;nbsp; useKeyTab=false&lt;br /&gt;&amp;nbsp; useTicketCache=true;&lt;br /&gt;};&lt;/i&gt;&lt;br /&gt;
2. Modify sqlline.sh script to add -Djava.security.auth.login.config=&amp;lt;path to jaas.conf file&amp;gt; property.&lt;br /&gt;
3. Modify sqlline.sh script to add to following folder/jars in classpath of Phoenix(add them in order of this list):&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Folder where hadoop configuration files are present&lt;/li&gt;
&lt;li&gt;Folder where hbase configuration files are present&lt;/li&gt;
&lt;li&gt;hbase jar&lt;/li&gt;
&lt;li&gt;hadoop common jar&lt;/li&gt;
&lt;li&gt;zookeeper jar&lt;/li&gt;
&lt;li&gt;hadoop auth jar&lt;/li&gt;
&lt;li&gt;phoenix-x.x.x.jar &lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
Your resultant java command in sqlline.sh script should look somewhat like this:&lt;br /&gt;
java -Djava.security.auth.login.config=/abcd/conf/jaas.conf&amp;nbsp; -cp &quot;.:/abcd/hadoop/conf:/abcd/hbase/conf:/cloudera/parcels/CDH/lib/hbase/hbase-0.94.6-cdh4.3.0-security.jar:/cloudera/parcels/CDH/lib/hadoop/hadoop-common-2.0.0-cdh4.3.0.jar:/cloudera/parcels/CDH-4.3.0-1.cdh4.3.0.p0.22/lib/zookeeper/zookeeper-3.4.5-cdh4.3.0.jar:/cloudera/parcels/CDH/lib/hadoop/hadoop-auth-2.0.0-cdh4.3.0.jar:/abcd/phoenix-2.0.0.jar:$phoenix_client_jar&quot; -Dlog4j.configuration=file:$current_dir/log4j.properties sqlline.SqlLine -d com.salesforce.phoenix.jdbc.PhoenixDriver -u jdbc:phoenix:$1 -n none -p none --color=true --fastConnect=false --silent=true --isolation=TRANSACTION_READ_COMMITTED $sqlfile &lt;br /&gt;
&lt;br /&gt;
How to run:&lt;br /&gt;
1. Run kinit command on shell to get the kerberos ticket.&lt;br /&gt;
2. From the same shell invoke sqlline.sh &amp;lt;zookeeper_quorum&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that i have tested this functionality with 
cdh4.3(HBase0.94.6) and Phoenix2.0.0. This should work with other HBase 
distros like Apache, Hortonworks, etc.&lt;br /&gt;
&lt;br /&gt;
Have fun with HBase sql interface on secure cluster!&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/8129405079729987740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2013/09/connect-phoenix-to-secure-hbase-cluster.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/8129405079729987740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/8129405079729987740'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2013/09/connect-phoenix-to-secure-hbase-cluster.html' title='Connect Phoenix to Secure HBase Cluster'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-796018051954925454</id><published>2013-01-31T21:53:00.002-08:00</published><updated>2013-01-31T21:54:56.276-08:00</updated><title type='text'>My Random findings in Hadoop/HBase</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In this post i list my random findings on Hadoop. These facts or behavior are usually not highlighted/documented in Hadoop so it requires debugging or code walk through.&lt;br /&gt;
&lt;br /&gt;
My Random Findings in Hadoop/HBase:&lt;br /&gt;
1. MapReduce job ignores the input files that starts with a underscore(&quot;_&quot;) character. So, please avoid &quot;_&quot; as prefix in input file names for MapReduce job.&lt;br /&gt;
2. Default separator between &amp;lt;key,value&amp;gt; in TextOutputFormat is &quot;\t&quot;. Separator can be changed by setting the property &quot;mapreduce.output.textoutputformat.separator&quot;.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/796018051954925454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2013/01/my-random-findings-in-hadoophbase.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/796018051954925454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/796018051954925454'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2013/01/my-random-findings-in-hadoophbase.html' title='My Random findings in Hadoop/HBase'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-2091982582486533164</id><published>2012-11-30T12:19:00.003-08:00</published><updated>2015-08-20T00:08:53.757-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hbase cassandra comparison"/><title type='text'>HBase vs Cassandra</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;u&gt;&lt;b&gt;Apache HBase vs &lt;/b&gt;&lt;/u&gt;&lt;u&gt;&lt;b&gt;&lt;u&gt;&lt;b&gt;Apache &lt;/b&gt;&lt;/u&gt;Cassandra&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
This comparative study was done by me and Larry Thomas in May, 2012. Cassandra stuff was prepared by Larry Thomas.&lt;br /&gt;
This information is NOT intended&amp;nbsp;to be&amp;nbsp;a tutorial&amp;nbsp;for either &lt;a href=&quot;https://wiki.intuit.com/display/ARCH/Cassandra&quot;&gt;Apache Cassandra&lt;/a&gt; or &lt;a href=&quot;https://wiki.intuit.com/display/ARCH/Hadoop+Members&quot;&gt;Apache HBase&lt;/a&gt;. We tried our level best to provide the most accurate information. Please comment or email me if you find any corrections. I would be happy to maintain this list with the most accurate and updated information.&lt;br /&gt;
&lt;br /&gt;
&lt;style&gt;
&lt;!--
 /* Font Definitions */
@font-face
 {font-family:Arial;
 panose-1:2 11 6 4 2 2 2 2 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
@font-face
 {font-family:&quot;Cambria Math&quot;;
 panose-1:2 4 5 3 5 4 6 3 2 4;
 mso-font-charset:1;
 mso-generic-font-family:roman;
 mso-font-format:other;
 mso-font-pitch:variable;
 mso-font-signature:0 0 0 0 0 0;}
@font-face
 {font-family:Calibri;
 panose-1:2 15 5 2 2 2 4 3 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
 {mso-style-unhide:no;
 mso-style-qformat:yes;
 mso-style-parent:&quot;&quot;;
 margin-top:0in;
 margin-right:0in;
 margin-bottom:10.0pt;
 margin-left:0in;
 line-height:115%;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Calibri;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
 {mso-style-type:export-only;
 mso-default-props:yes;
 font-size:11.0pt;
 mso-ansi-font-size:11.0pt;
 mso-bidi-font-size:11.0pt;
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Calibri;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
 {mso-style-type:export-only;
 margin-bottom:10.0pt;
 line-height:115%;}
@page WordSection1
 {size:8.5in 11.0in;
 margin:1.0in 1.25in 1.0in 1.25in;
 mso-header-margin:.5in;
 mso-footer-margin:.5in;
 mso-paper-source:0;}
div.WordSection1
 {page:WordSection1;}
&lt;/style&gt;






&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Point&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;HBase&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 1;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;background: white; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184;&quot;&gt;
   &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
    &lt;td style=&quot;padding: .75pt .75pt .75pt .75pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Foundations&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
    &lt;td style=&quot;padding: .75pt .75pt .75pt .75pt;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
   &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;HBase is based on BigTable (Google)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra is based on DynamoDB
  (Amazon).&amp;nbsp;&amp;nbsp; Initially developed at Facebook&amp;nbsp;by former Amazon
  engineers.&amp;nbsp;&amp;nbsp;This is one reason why Cassandra supports multi data
  center.&amp;nbsp; Rackspace is a big contributor to Cassandra due to multi data
  center support.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 2;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Infrastructure &lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;HBase uses the Hadoop Infrastructure
  (Zookeeper, NameNode, HDFS).&amp;nbsp; Organizations that will deploy Hadoop
  anyway may be comfortable with leveraging Hadoop knowledge by using HBase&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra started and evolved separate
  from Hadoop and its infrastructure and Operational knowledge requirements are
  different than Hadoop.&amp;nbsp; However, for analytics, many Cassandra
  deployments use Cassandra + Storm (which uses Zookeeper), and/or Cassandra +
  Hadoop.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 3;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Infrastructure Simplicity and SPOF&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;The HBase-Hadoop Infrastructure has
  several &quot;moving parts&quot; consisting of Zookeeper,&amp;nbsp; Name
  Node,&amp;nbsp; Hbase Master, and Data Nodes,&amp;nbsp;&amp;nbsp; Zookeeper is clustered
  and naturally fault tolerant.&amp;nbsp; Name Node needs to be clustered to be
  fault tolerant.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra uses a a single Node-type.&amp;nbsp;
  All nodes are equal and perform all functions.&amp;nbsp;&amp;nbsp; Any Node can act
  as a coordinator, ensuring no SPOF.&amp;nbsp;&amp;nbsp; Adding Storm or Hadoop, of
  course, adds complexity to the infrastructure.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 4;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Read Intensive Use Cases&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;HBase is optimized for reads,&amp;nbsp;supported
  by single-write master,&amp;nbsp;and resulting strict consistency model, as well
  as use of&amp;nbsp;Ordered Partitioning which supports row-scans.&amp;nbsp; HBase is well suited for doing Range based scans.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra has excellent single-row read
  performance as long as eventual consistency semantics are sufficient for the
  use-case.&amp;nbsp; Cassandra quorum reads, which are required for strict
  consistency will naturally be slower than Hbase reads.&amp;nbsp; Cassandra does
  not support Range based row-scans which may be limiting in certain use-cases.&amp;nbsp;
  Cassandra is well suited for supporting single-row queries,&amp;nbsp; or
  selecting multiple rows based on a&amp;nbsp; Column-Value index.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 5;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Multi-Data Center Support and Disaster
  Recovery&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;HBase provides for asynchronous
  replication of an HBase Cluster across a WAN.&amp;nbsp;&amp;nbsp; HBase clusters
  cannot be set up to achieve zero RPO, but in steady-state HBase should be
  roughly failover-equivalent&amp;nbsp;&amp;nbsp;to any other DBMS that relies on
  asynchronous replication over a WAN.&amp;nbsp;&amp;nbsp; Fall-back processes and procedures&amp;nbsp;(e.g.
  after failover)&amp;nbsp;are TBD.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra Random Partitioning provides
  for row-replication of a single row across a WAN, either asynchronous
  (write.ONE,&amp;nbsp; write.LOCAL_QUORUM),&amp;nbsp; or synchronous
  (write.QUORUM,&amp;nbsp; write.ALL).&amp;nbsp; Cassandra clusters can
  therefore&amp;nbsp;be set up to achieve zero RPO, but each write will require at
  least one wan-ACK back to the&amp;nbsp;coordinator&amp;nbsp;to achieve this
  capability.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 6;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Write.ONE Durability&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Writes are replicated in a pipeline
  fashion: the first-data-node for the region persists the write, and then
  sends the write to the next Natural Endpoint, and so-on in a pipeline
  fashion. HBase’s commit log &quot;acks&quot; a write&amp;nbsp;only
  after&amp;nbsp;*all* of the nodes in the pipeline have written the data to their
  OS buffers.&amp;nbsp; The first Region Server in the pipeline must also have persisted the
  write to&amp;nbsp;its WAL.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra&#39;s coordinators will send
  parallel write-requests to all Natural Endpoints, The coordinator will
  &quot;ack&quot; the write after exactly one Natural Endpoint has
  &quot;acked&quot; the write, which means that node has also persisted the
  write to its WAL.&amp;nbsp;&amp;nbsp; The writes may or may not have committed to any
  other Natural Endpoint.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 7;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Ordered Partitioning&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;HBase only supports Ordered
  Partitoning.&amp;nbsp; This means that Rows for a CF&amp;nbsp;are stored in RowKey
  order in HFiles, where each Hfile contains a &quot;block&quot; or
  &quot;shard&quot; of all the rows in a CF.&amp;nbsp; HFiles are distributed
  across all data-nodes in the Cluster&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra officially supports Ordered
  Partitioning, but no production user of Cassandra uses Ordered Partitioning
  due to the &quot;hot spots&quot; it creates and the operational difficulties
  such hot-spots cause.&amp;nbsp; Random Partitioning is the only recommended
  Cassandra partitioning scheme, and rows are distributed across all nodes in
  the cluster.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 8;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 9;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;RowKey Range Scans&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Because of ordered partitioning,&amp;nbsp;
  HBase queries can be formulated with partial start and end row-keys, and can
  locate rows inclusive-of, or&amp;nbsp;exclusive of&amp;nbsp;these
  partial-rowkeys.&amp;nbsp; The start and end row-keys in a range-scan&amp;nbsp;need
  not even exist in Hbase. &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Because of random partitioning,&amp;nbsp;
  partial rowkeys cannot be used with Cassandra.&amp;nbsp; RowKeys must be
  known exactly.&amp;nbsp; Counting rows in a CF&amp;nbsp;is
  complicated.&amp;nbsp;&amp;nbsp; It is highly recommended that for these types of
  use-cases,&amp;nbsp; data&amp;nbsp;should be&amp;nbsp;stored in columns in Cassandra, not
  in rows.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 10;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Linear Scalability for large tables and
  range scans&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Due to Ordered Partitioning, HBase will
  easily scale horizontally while still supporting rowkey range scans.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;If data is stored in columns in
  Cassandra to support range scans, the practical limitation of a row size in
  Cassandra is 10&#39;s of Megabytes.&amp;nbsp; Rows larger than that causes problems
  with compaction overhead and time.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 11;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Atomic Compare and Set&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;HBase supports Atomic Compare and
  Set. HBase supports supports transaction within a Row.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra does not support Atomic
  Compare and Set.&amp;nbsp;&amp;nbsp; Counters require dedicated counter
  column-families which&amp;nbsp;because of eventual-consistency requires&amp;nbsp;that
  all&amp;nbsp;replicas in all natural end-points&amp;nbsp;be read and updated with
  ACK.&amp;nbsp; However, hinted-handoff mechanisms can make even these built-in
  counters suspect for accuracy.&amp;nbsp;&amp;nbsp; FIFO queues are difficult (if not
  impossible) to implement with Cassandra.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 12;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Read Load Balancing - single Row&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Hbase does not support Read Load
  Balancing against a single row.&amp;nbsp;&amp;nbsp;A single row is served by exactly
  one region server at a time.&amp;nbsp; Other replicas are used ony in case of a
  node failure.&amp;nbsp; Scalability is primarily supported by Partitioning which
  statistically distributes reads of different rows across multiple data nodes.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra will support Read Load
  Balancing against a single row.&amp;nbsp; However,&amp;nbsp; this is primarily
  supported by&amp;nbsp;Read.ONE, and eventual consistency&amp;nbsp;must be taken into
  consideration.&amp;nbsp; Scalability is primarily supported by Partitioning which
  distributes reads of different rows across multiple data nodes.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 13;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Bloom Filters&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Bloom Filters&amp;nbsp;can be&amp;nbsp;used in
  HBase as another form of Indexing.&amp;nbsp; They work on the basis of RowKey
  or RowKey+ColumnName to&amp;nbsp;reduce the number of data-blocks that HBase has
  to read to satisfy a query.&amp;nbsp; (Bloom Filters may exhibit false-positives
  (reading too much data), but never false negatives (reading not enough data).&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra uses bloom filters for key
  lookup.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 14;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Triggers&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Triggers are supported by
  the&amp;nbsp;CoProcessor capability in HBase.&amp;nbsp; They allow HBase to observe
  the get/put/delete events on a table (CF), and then execute the
  trigger-logic.&amp;nbsp;&amp;nbsp;&amp;nbsp; Triggers are coded as&amp;nbsp;java classes.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra does not support
  co-processor-like functionality (as far as we know)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 15;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Secondary Indexes&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Hbase does not natively support
  secondary indexes, but&amp;nbsp;one use-case of Triggers is that&amp;nbsp;a trigger
  on a &quot;put&quot; can automatically keep a secondary index up-to-date, and
  therefore&amp;nbsp;not put the burden on the application (client).&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cassandra supports secondary indexes on
  column families where the column name is known.&amp;nbsp; (Not on dynamic columns).&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 16;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Simple Aggregation&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Hbase CoProcessors support
  out-of-the-box simple aggregations in HBase.&amp;nbsp;&amp;nbsp; SUM, MIN, MAX,
  AVG,&amp;nbsp; STD.&amp;nbsp;&amp;nbsp; Other aggregations can be built by defining
  java-classes to perform the aggregation&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Aggregations in Cassandra are not
  supported&amp;nbsp;by the Cassandra nodes - client must provide
  aggregations.&amp;nbsp;&amp;nbsp;When the aggregation requirement spans multiple
  rows,&amp;nbsp;Random Partitioning makes aggregations very difficult for the
  client.&amp;nbsp;&amp;nbsp; Recommendation is to use Storm or Hadoop for
  aggregations.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 17;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;HIVE Integration&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;HIVE can access HBase tables directly
  (uses de-serialization under the hood that is aware of the HBase file
  format).&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;span style=&quot;color: #222222; font-size: small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Work in Progress (https://issues.apache.org/jira/browse/CASSANDRA-4131)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 18; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;PIG Integration&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;PIG has native support for writing
  into/reading from&amp;nbsp;HBase.&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Cassandra 0.7.4+&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;table-wrap&quot;&gt;
&lt;table class=&quot;confluenceTable&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th class=&quot;confluenceTh&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/th&gt;&lt;th class=&quot;confluenceTh&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/th&gt;&lt;th class=&quot;confluenceTh&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;confluenceTd&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class=&quot;confluenceTd&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class=&quot;confluenceTd&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;table class=&quot;confluenceTable&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th class=&quot;confluenceTh&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/th&gt;&lt;th class=&quot;confluenceTh&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/th&gt;&lt;th class=&quot;confluenceTh&quot; style=&quot;text-align: center;&quot;&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
@font-face
 {font-family:Arial;
 panose-1:2 11 6 4 2 2 2 2 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
@font-face
 {font-family:&quot;Cambria Math&quot;;
 panose-1:2 4 5 3 5 4 6 3 2 4;
 mso-font-charset:1;
 mso-generic-font-family:roman;
 mso-font-format:other;
 mso-font-pitch:variable;
 mso-font-signature:0 0 0 0 0 0;}
@font-face
 {font-family:Calibri;
 panose-1:2 15 5 2 2 2 4 3 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
 {mso-style-unhide:no;
 mso-style-qformat:yes;
 mso-style-parent:&quot;&quot;;
 margin-top:0in;
 margin-right:0in;
 margin-bottom:10.0pt;
 margin-left:0in;
 line-height:115%;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Calibri;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
 {mso-style-type:export-only;
 mso-default-props:yes;
 font-size:11.0pt;
 mso-ansi-font-size:11.0pt;
 mso-bidi-font-size:11.0pt;
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Calibri;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
 {mso-style-type:export-only;
 margin-bottom:10.0pt;
 line-height:115%;}
@page WordSection1
 {size:8.5in 11.0in;
 margin:1.0in 1.25in 1.0in 1.25in;
 mso-header-margin:.5in;
 mso-footer-margin:.5in;
 mso-paper-source:0;}
div.WordSection1
 {page:WordSection1;}
&lt;/style&gt;
&lt;/th&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;style&gt;
&lt;!--
 /* Font Definitions */
@font-face
 {font-family:&quot;Cambria Math&quot;;
 panose-1:2 4 5 3 5 4 6 3 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
@font-face
 {font-family:Calibri;
 panose-1:2 15 5 2 2 2 4 3 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
 {mso-style-unhide:no;
 mso-style-qformat:yes;
 mso-style-parent:&quot;&quot;;
 margin-top:0in;
 margin-right:0in;
 margin-bottom:10.0pt;
 margin-left:0in;
 line-height:115%;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Calibri;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
 {mso-style-type:export-only;
 mso-default-props:yes;
 font-size:11.0pt;
 mso-ansi-font-size:11.0pt;
 mso-bidi-font-size:11.0pt;
 font-family:Calibri;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:Calibri;
 mso-fareast-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
 {mso-style-type:export-only;
 margin-bottom:10.0pt;
 line-height:115%;}
@page WordSection1
 {size:8.5in 11.0in;
 margin:1.0in 1.25in 1.0in 1.25in;
 mso-header-margin:.5in;
 mso-footer-margin:.5in;
 mso-paper-source:0;}
div.WordSection1
 {page:WordSection1;}
&lt;/style&gt;&amp;nbsp;






&lt;br /&gt;
&lt;table align=&quot;left&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; margin-left: 6.0pt; margin-right: 6.0pt; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-table-anchor-horizontal: page; mso-table-anchor-vertical: margin; mso-table-left: .25in; mso-table-lspace: 9.0pt; mso-table-rspace: 9.0pt; mso-table-top: -25.9pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;&gt;
&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Point&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;&gt;
&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;HBase&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;160&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly;&quot;&gt;
&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Cassandra&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;style&gt;
&lt;!--
 /* Font Definitions */
@font-face
 {font-family:Arial;
 panose-1:2 11 6 4 2 2 2 2 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
@font-face
 {font-family:Times;
 panose-1:2 0 5 0 0 0 0 0 0 0;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
@font-face
 {font-family:&quot;ＭＳ 明朝&quot;;
 panose-1:0 0 0 0 0 0 0 0 0 0;
 mso-font-charset:128;
 mso-generic-font-family:roman;
 mso-font-format:other;
 mso-font-pitch:fixed;
 mso-font-signature:1 134676480 16 0 131072 0;}
@font-face
 {font-family:&quot;Cambria Math&quot;;
 panose-1:2 4 5 3 5 4 6 3 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
@font-face
 {font-family:Cambria;
 panose-1:2 4 5 3 5 4 6 3 2 4;
 mso-font-charset:0;
 mso-generic-font-family:auto;
 mso-font-pitch:variable;
 mso-font-signature:3 0 0 0 1 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
 {mso-style-unhide:no;
 mso-style-qformat:yes;
 mso-style-parent:&quot;&quot;;
 margin:0in;
 margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:12.0pt;
 font-family:Cambria;
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:&quot;ＭＳ 明朝&quot;;
 mso-fareast-theme-font:minor-fareast;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
 {mso-style-type:export-only;
 mso-default-props:yes;
 font-family:Cambria;
 mso-ascii-font-family:Cambria;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:&quot;ＭＳ 明朝&quot;;
 mso-fareast-theme-font:minor-fareast;
 mso-hansi-font-family:Cambria;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
@page WordSection1
 {size:8.5in 11.0in;
 margin:1.0in 1.25in 1.0in 1.25in;
 mso-header-margin:.5in;
 mso-footer-margin:.5in;
 mso-paper-source:0;}
div.WordSection1
 {page:WordSection1;}
&lt;/style&gt;






&lt;br /&gt;
&lt;table align=&quot;left&quot; border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: none; margin-left: 6.0pt; margin-right: 6.0pt; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-table-anchor-horizontal: page; mso-table-anchor-vertical: margin; mso-table-left: .25in; mso-table-lspace: 9.0pt; mso-table-rspace: 9.0pt; mso-table-top: -25.9pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;CAP Theorem
  Focus&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Consistency,
  Availability&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Availability,
  Partition-Tolerance&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 1;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Consistency&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Strong&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Eventual
  (Strong is Optional)&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 2;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Single Write
  Master&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Yes&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No
  (R+W+1&amp;nbsp;to get&amp;nbsp;Strong Consistency)&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 3;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Optimized
  For&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Reads&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Writes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 4;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Main Data
  Structure&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;CF,
  RowKey,&amp;nbsp; Name Value Pair Set&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;CF, RowKey,
  Name Value Pair Set&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 5;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Dynamic
  Columns&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Yes&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Yes&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 6;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Column Names
  as Data&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Yes&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Yes&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 7;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Static
  Columns&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;No&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Yes&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 8;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;RowKey
  Slices&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 9;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Static
  Column Value&amp;nbsp;Indexes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 10;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Sorted
  Column Names&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 11;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cell Versioning Support&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 12;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;Snapshots&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;Yes&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;Yes&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 13;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Bloom
  Filters&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes(only on
  Key)&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 14;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;CoProcessors&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 15;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Triggers&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes(Part of
  Coprocessor)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 16;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Push Down
  Predicates&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes(Part of
  Coprocessor)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 17;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Atomic
  Compare and Set&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 18;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Explicit Row
  Locks&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 19;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Row Key
  Caching&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 20;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Partitioning
  Strategy&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Ordered
  Partitioning&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Random
  Partitioning recommended&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 21;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Rebalancing&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Automatic&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Not Needed
  with Random Partitioning&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 22;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Availability&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;N-Replicas
  across Nodes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;N-Replicas
  across Nodes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 23;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Data&amp;nbsp;Node
  Failure&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Graceful
  Degredation&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Graceful
  Degredation&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 24;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Data&amp;nbsp;Node
  Failure - Replication&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;N-Replicas
  Preserved&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;(N-1) Replicas
  Preserved + Hinted Handoff&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 25;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Data&amp;nbsp;Node
  Restoration&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Same as Node
  Addition&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Requires
  Node Repair Admin-action&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 26;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Data&amp;nbsp;Node
  Addition&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Rebalancing
  Automatic&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Rebalancing
  Requires Token-Assignment Adjustment&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 27;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Data Node
  Management&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Simple (Roll
  In, Role Out)&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Human
  Admin&amp;nbsp;Action Required&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 28;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Cluster
  Admin Nodes&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Zookeeper,
  NameNode, HMaster&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;All Nodes
  are Equal&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 29;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;SPOF&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Now, all the
  Admin Nodes are Fault Tolerant&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;All Nodes
  are Equal&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 30;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Write.ANY&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No, but Replicas
  are Node Agnostic&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes (Writes
  Never Fail if this option is used)&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 31;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Write.ONE&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Standard,
  HA, Strong Consistency&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes (often
  used), HA, &amp;nbsp;Weak Consistency&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 32;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Write.QUORUM&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No (not
  required)&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes (often used
  with Read.QUORUM for Strong Consistency&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 33;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Write.ALL&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes
  (performance penalty)&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes
  (performance penalty, not HA)&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 34;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Asynchronous
  WAN Replication&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes, but it
  needs testing on corner cases.&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes
  (Replica&#39;s can span data centers)&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 35;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Synchronous WAN
  Replication&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;No&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes with
  Write.QUORUM or Write.EACH-QUORUM&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 36; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.5pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Compression
  Support&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.55pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 147.75pt;&quot; valign=&quot;top&quot; width=&quot;148&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-element-anchor-horizontal: page; mso-element-frame-hspace: 9.0pt; mso-element-left: 18.05pt; mso-element-top: -25.9pt; mso-element-wrap: around; mso-element: frame; mso-height-rule: exactly; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: Arial; font-size: 10.0pt; mso-bidi-font-family: Arial;&quot;&gt;Yes&lt;/span&gt;&lt;span style=&quot;font-family: Times; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/2091982582486533164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2012/11/hbase-vs-cassandra.html#comment-form' title='31 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/2091982582486533164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/2091982582486533164'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2012/11/hbase-vs-cassandra.html' title='HBase vs Cassandra'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-3672239451801516522</id><published>2012-10-06T20:05:00.001-07:00</published><updated>2012-10-06T20:10:44.458-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hbase hfilev1 hfilev2 file format"/><title type='text'>Store data in HFileV1 format in HBase 0.92 and further releases</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Till HBase0.90, data in HBase was stored in HFileV1 format. If you happen to upgrade the cluster to HBase 0.92 and further releases then by default HBase will store the data in HFileV2 instead of HFileV1.&lt;br /&gt;
&lt;br /&gt;
If you would like to store the data in HFileV1 in HBase 0.92 and releases after that, then set the following property in hbase-site.xml file:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;lt;property&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;hfile.format.version&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;value&amp;gt;1&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;/property&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Once you change this property then you need disable all the table that are stored in HFileV2 format, if there are any. The only caveat is that at a given point of time HBase can use only use one file format to read the tables.&lt;br /&gt;
&lt;br /&gt;
If you would like to revert back to using HFileV2 then:&lt;br /&gt;
1. Change the value of&amp;nbsp; &quot;hfile.format.version&quot; to &quot;2&quot;&lt;br /&gt;
2. Disable all the tables that are using HFileV1 format and enable all the tables using HFileV2 format.&lt;br /&gt;
3. Restart the cluster.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/3672239451801516522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2012/10/store-data-in-hfilev1-format-in-hbase.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/3672239451801516522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/3672239451801516522'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2012/10/store-data-in-hfilev1-format-in-hbase.html' title='Store data in HFileV1 format in HBase 0.92 and further releases'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-3600218000306164222</id><published>2012-03-18T14:55:00.003-07:00</published><updated>2012-03-18T15:04:19.259-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hbase bulk load hadoop csv"/><title type='text'>Bulk Load a CSV file into HBase</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;By default the bulk loader class ImpotTsv in HBase imports a tab separated files. Files with other separator like &#39;,&#39; ,&#39;|&#39; ,etc can be imported by using&amp;nbsp; &quot;-Dimporttsv.separator&quot; option at the command line.At present, only single character separators are supported by Bulk Loader.&lt;br /&gt;
&lt;br /&gt;
One of the things missing from the Hbase Bulk Load documentation is that all the option starting from &quot;-D&quot; are mapreduce job configuration parameters and all of them should be specified after &quot;importtsv&quot; and before Tablename. If this convention is not followed then job configuration wont be set as per user expectation because the genericoptionsparser method in HBase BulkLoading module is called in such a way that it stops parsing the command line parameters once it encounters the first non &quot;-D&quot; option.&lt;br /&gt;
&lt;br /&gt;
For bulk loading a CSV file into HBase use the following command:&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;code&gt;hadoop jar &amp;lt;path to hbase jar&amp;gt; importtsv -Dimporttsv.columns=a,b,c &#39;-Dimporttsv.separator=,&#39; &amp;lt;tablename&amp;gt; &amp;lt;inputdir&amp;gt;&amp;nbsp; &lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/3600218000306164222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2012/03/bulk-load-csv-file-into-hbase.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/3600218000306164222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/3600218000306164222'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2012/03/bulk-load-csv-file-into-hbase.html' title='Bulk Load a CSV file into HBase'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-5067671723622412309</id><published>2012-02-15T11:52:00.000-08:00</published><updated>2012-02-15T12:22:58.535-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Start Hadoop Hbase cluster cloudera"/><title type='text'>Start Cloudera Hadoop/Hbase cluster</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Once you are done with installing and configuring the Cloudera Hadoop, Hbase and Zookeeper. Here are the following steps required to start the Hadoop/Hbase cluster.&lt;br /&gt;
&lt;br /&gt;
This post might not hold good for Hadoop Yarn i.e.Hadoop1.0.0 and later versions.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Bringing-up the Cloudera Hadoop/Hbase Cluster&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;NOTE:&lt;/u&gt;&lt;b&gt; Step 1-7 are enough to start a Hadoop cluster. Step 8-11 are only required when the cluster needs to run Hbase also.&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Format the namenode by running: &lt;i&gt;&lt;code class=&quot;plain plain&quot;&gt;sudo -u hdfs hadoop namenode -format&lt;/code&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Start the namenode service.&lt;i&gt;&lt;code class=&quot;plain plain&quot;&gt; &lt;/code&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Start the datanode service on all the slaves.&lt;/li&gt;
&lt;li&gt;If user intends to run map-reduce job on cluster then create and configure the mapred.system.dir directory in HDFS.&lt;br /&gt;
The mapred.system.dir parameter present in mapred-site.xml is represented by the following /mapred/system path example: &lt;br /&gt;
&lt;div&gt;&lt;div class=&quot;syntaxhighlighter nogutter  plain&quot;&gt;&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;&lt;div&gt;&lt;div class=&quot;syntaxhighlighter nogutter  bash&quot; id=&quot;highlighter_795141&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot; title=&quot;Hint: double-click to select code&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;&lt;i&gt;&lt;code class=&quot;bash plain&quot;&gt;$ &lt;/code&gt;&lt;code class=&quot;bash functions&quot;&gt;sudo&lt;/code&gt; &lt;code class=&quot;bash plain&quot;&gt;-u hdfs hadoop fs -&lt;/code&gt;&lt;code class=&quot;bash functions&quot;&gt;mkdir&lt;/code&gt; &lt;code class=&quot;bash plain&quot;&gt;/mapred/system&lt;/code&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot;&gt;&lt;i&gt;&lt;code class=&quot;bash plain&quot;&gt;$ &lt;/code&gt;&lt;code class=&quot;bash functions&quot;&gt;sudo&lt;/code&gt; &lt;code class=&quot;bash plain&quot;&gt;-u hdfs hadoop fs -&lt;/code&gt;&lt;code class=&quot;bash functions&quot;&gt;chown&lt;/code&gt; &lt;code class=&quot;bash plain&quot;&gt;mapred:hadoop &lt;/code&gt;&lt;code class=&quot;bash plain&quot;&gt;/mapred/system&lt;/code&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Set the correct owner and permissions of the mapred.system.dir directory in HDFS:&lt;br /&gt;
&lt;div class=&quot;table-wrap&quot;&gt;&lt;table class=&quot;confluenceTable&quot;&gt;&lt;tbody&gt;
&lt;tr class=&quot;confluenceTr&quot;&gt;&lt;th class=&quot;confluenceTh&quot;&gt;Directory&lt;/th&gt;&lt;th class=&quot;confluenceTh&quot;&gt;Owner&lt;/th&gt;&lt;th class=&quot;confluenceTh&quot;&gt;Permissions&lt;/th&gt;&lt;/tr&gt;
&lt;tr class=&quot;confluenceTr&quot;&gt;&lt;td class=&quot;confluenceTd&quot;&gt;mapred.system.dir&lt;/td&gt;&lt;td class=&quot;confluenceTd&quot;&gt;mapred:hadoop&lt;/td&gt;&lt;td class=&quot;confluenceTd&quot;&gt;drwx------&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr class=&quot;confluenceTr&quot;&gt;&lt;td class=&quot;confluenceTd&quot;&gt;/ (root directory)&lt;/td&gt;&lt;td class=&quot;confluenceTd&quot;&gt;hdfs:hadoop&lt;/td&gt;&lt;td class=&quot;confluenceTd&quot;&gt;drwxr-xr-x&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;If step 3 is performed&amp;nbsp;then start the Jobtracker.&lt;/li&gt;
&lt;li&gt;If step 3 is performed then start the tasktracker on nodes which are supposed to partcipate in Hadoop(map-reduce) jobs.&lt;/li&gt;
&lt;li&gt;Create  and set correct permission on the hbase.rootdir directory in  HDFS.&amp;nbsp;hbase.rootdir is set as hdfs://namenode_hostname/hbase for this example:&lt;div&gt;&lt;div class=&quot;syntaxhighlighter nogutter  plain&quot;&gt;&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;&lt;div&gt;&lt;div class=&quot;syntaxhighlighter nogutter  bash&quot; id=&quot;highlighter_926254&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot; title=&quot;Hint: double-click to select code&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;&lt;i&gt;&lt;code class=&quot;bash plain&quot;&gt;$ &lt;/code&gt;&lt;code class=&quot;bash functions&quot;&gt;sudo&lt;/code&gt; &lt;code class=&quot;bash plain&quot;&gt;-u hdfs hadoop fs -&lt;/code&gt;&lt;code class=&quot;bash functions&quot;&gt;mkdir&lt;/code&gt; &lt;code class=&quot;bash plain&quot;&gt;/hbase&lt;/code&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;line number2 index1 alt1&quot;&gt;&lt;i&gt;&lt;code class=&quot;bash plain&quot;&gt;$ &lt;/code&gt;&lt;code class=&quot;bash functions&quot;&gt;sudo&lt;/code&gt; &lt;code class=&quot;bash plain&quot;&gt;-u hdfs hadoop fs -&lt;/code&gt;&lt;code class=&quot;bash functions&quot;&gt;chown&lt;/code&gt; &lt;code class=&quot;bash plain&quot;&gt;hbase &lt;/code&gt;&lt;code class=&quot;bash plain&quot;&gt;/hbase&lt;/code&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Start the servers present in zookeeper quorum.&lt;/li&gt;
&lt;li&gt;Start the Hbase master service.&lt;/li&gt;
&lt;li&gt;Start hbase-regionserver service on all the hosts which are supposed to store Hbase data.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/5067671723622412309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2012/02/start-clouderas-hadoophbase-cluster.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/5067671723622412309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/5067671723622412309'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2012/02/start-clouderas-hadoophbase-cluster.html' title='Start Cloudera Hadoop/Hbase cluster'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-9002846447265019702</id><published>2012-02-09T11:03:00.000-08:00</published><updated>2012-02-09T12:17:32.025-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="vmware esxi esxi5.0 upload copy file local filesystem"/><title type='text'>upload/copy a file/folder on VMware ESXi server from local filesystem</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Upload/copy a file/folder on VMware ESXi 5.0 server from local filesystem.&lt;br /&gt;
&amp;nbsp;Following steps need to be followed:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Login to ESXi server using VMware vSphere client.&lt;/li&gt;
&lt;li&gt;Select ESXi server from the list on the left panel.&lt;/li&gt;
&lt;li&gt;Go to Summary tab.&lt;/li&gt;
&lt;li&gt;Right click and select “Browse Datastore” on any of the Storage device listed under Storage in Resources panel.&lt;/li&gt;
&lt;li&gt;“Datastore Browser” window will pop-up. Upload the file on the Datastore by pressing the Upload button( &lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 11pt; line-height: 115%;&quot;&gt;4&lt;sup&gt;th &lt;/sup&gt;&lt;/span&gt;button from left) on the toolbar.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/9002846447265019702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2012/02/uploadcopy-filefolder-on-vmware-esxi.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/9002846447265019702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/9002846447265019702'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2012/02/uploadcopy-filefolder-on-vmware-esxi.html' title='upload/copy a file/folder on VMware ESXi server from local filesystem'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-6367127177965516974</id><published>2012-02-07T13:27:00.001-08:00</published><updated>2012-02-07T15:43:24.363-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="zookeeper hbase zoo.cfg quorum hadoop error"/><title type='text'>HBase ERROR zookeeper.ZKConfig: no valid quorum servers found in zoo.cfg</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;While running HBase if you get the following error message: &lt;br /&gt;
ERROR zookeeper.ZKConfig: no valid quorum servers found in zoo.cfg&lt;br /&gt;
&lt;br /&gt;
Cause: The zoo.cfg file which contains the zookeeper configuration does not contains any valid entries for zookeeper server or the hostname provided for the servers are incorrect.&lt;br /&gt;
&lt;br /&gt;
Resolution: Add the valid server.x values in the zoo.cfg and restart the Hbase cluster.&lt;br /&gt;
&lt;br /&gt;
Here is a valid example:&lt;br /&gt;
&amp;nbsp;server.0=zookeeper-host:2888:3888&lt;br /&gt;
&lt;br /&gt;
Note: &#39;0&#39; in the &quot;server.0&quot; denotes the id of the zookeeper server present in the quorum. It should match with &quot;myid&quot; of the zookeeper server. &lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/6367127177965516974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2012/02/error-zookeeperzkconfig-no-valid-quorum.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/6367127177965516974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/6367127177965516974'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2012/02/error-zookeeperzkconfig-no-valid-quorum.html' title='HBase ERROR zookeeper.ZKConfig: no valid quorum servers found in zoo.cfg'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-4662204067805156375</id><published>2012-01-05T11:49:00.000-08:00</published><updated>2012-01-05T11:51:57.093-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hdfs namenode hadoop debug log4j run"/><title type='text'>Run hdfs master( viz. namenode) with debug log level in hadoop</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Modify the log4j.properties which is present in your classpath. Usually this log4j.properties file is present in your conf folder of hadoop.&lt;br /&gt;
&lt;br /&gt;
1.Add the following statement in log4j.properties file:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; log4j.logger.org.apache.hadoop.hdfs=DEBUG&lt;br /&gt;
&lt;br /&gt;
2. Restart or start the namenode. &lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/4662204067805156375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2012/01/run-hdfs-master-viz-namenode-with-debug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/4662204067805156375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/4662204067805156375'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2012/01/run-hdfs-master-viz-namenode-with-debug.html' title='Run hdfs master( viz. namenode) with debug log level in hadoop'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-962815442961902169</id><published>2011-12-28T18:02:00.000-08:00</published><updated>2012-02-07T13:52:24.585-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cloudera hadoop jobtracker pid file exists status service"/><title type='text'>Jobtracker dead but pid file exists message while checking the status of jobtracker service</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;I am using the cloudera-hadoop 3 update 2 version(cdh3u2) on centos6.0. If you get the message&quot;jobtracker dead but pid file exists&quot; then the jobtracker service had an ungraceful exit and some clean up of files is required and you probably need to look at the log of jobtracker to investigate the problem.&lt;br /&gt;
&lt;br /&gt;
Following is the command to check the status of jobtracker:&lt;br /&gt;
1. [host@jobtracker ~]$ sudo service hadoop-0.20-jobtracker status&lt;br /&gt;
&lt;b&gt;&lt;i&gt;jobtracker dead but pid file exists&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
2. Remove the file&lt;b&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/b&gt; /var/run/hadoop-0.20/hadoop-hadoop-jobtracker.pid&lt;br /&gt;
&lt;br /&gt;
3. After removing the file check the status of jobtracker service again:&lt;br /&gt;
[host@jobtracker init.d]$ sudo service hadoop-0.20-jobtracker status&lt;br /&gt;
&lt;b&gt;&lt;i&gt;jobtracker is stopped&lt;/i&gt;&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
If you get the above message then you are good to start the service again.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/962815442961902169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2011/12/jobtracker-dead-but-pid-file-exists.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/962815442961902169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/962815442961902169'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2011/12/jobtracker-dead-but-pid-file-exists.html' title='Jobtracker dead but pid file exists message while checking the status of jobtracker service'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-8869340163481823075</id><published>2011-07-29T16:47:00.000-07:00</published><updated>2011-08-02T22:03:46.301-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="contains only hive query regexp_replace multivalued column"/><title type='text'>How to do contains only query in hive on a String column</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Suppose you have a flat file repository and you would like to project on the rows which contains only certain set of values in a multivalued column. Then the example below would come handy... &lt;br /&gt;
&lt;br /&gt;
For the schema of student_classes table please refer to this &lt;a href=&quot;http://bigdatanoob.blogspot.com/2011/07/use-regexreplace-udf-of-hive-to-count.html&quot;&gt;previous post....&amp;nbsp; &lt;/a&gt;&lt;br /&gt;
Objective: List the student who are only taking classes of Computer Science(cs) and Electrical Engineering(ee) departments.&lt;br /&gt;
&lt;br /&gt;
Idea: Replace the dept code and course id with a blank using regexp_replace and after replacement if the length of resulting string is equal to zero then the student is only taking classes of the cs and ee dept.&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
Query:&lt;i&gt; hive -e &#39;select * from student_classes where length(regexp_replace(classes,&quot;cs:\\d{1,9},?|ee:\\d{1,9},?&quot;,&quot;&quot;))= 0&#39; &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The regular expression above in the query is searching for more than one pattern in the column and every match is replaced by a blank.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/8869340163481823075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2011/07/how-to-do-contains-only-query-in-hive.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/8869340163481823075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/8869340163481823075'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2011/07/how-to-do-contains-only-query-in-hive.html' title='How to do contains only query in hive on a String column'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-7789476350564600975</id><published>2011-07-19T12:14:00.000-07:00</published><updated>2013-03-28T09:59:35.499-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="delete sed one liners scripting"/><title type='text'>Useful One Liners in Scripting Languages and Vi Editor</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
1. Delete all blank lines {even lines which contains only white-space chars}&lt;br /&gt;
&lt;i&gt;cat file_with_blank_line.txt | sed &#39;/^[\t]*$/d&#39; &amp;gt; file_without_blank_lines.txt&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
2. For each line, print all the non-empty field in tab separated file along with field number.&lt;br /&gt;
&lt;i&gt; awk -F&#39;\t&#39; &#39;{ buf=&quot;&quot;; for(i=1;i&amp;lt;=NF;i++)if($i!=&quot;&quot;) buf=buf&quot; ~||~ &quot;i&quot;=&amp;gt;&quot;$i; print buf &quot;\n&quot;}&#39; input_file.tsv&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;3. Count the number of rows in a file and group the rows on the basis of number of columns.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;awk -F&#39;\t&#39; &#39;{cnt[NF]++} END {for (n in &lt;/i&gt;&lt;i&gt;cnt&lt;/i&gt;&lt;i&gt;) print n &quot;:&quot; &lt;/i&gt;&lt;i&gt;cnt&lt;/i&gt;&lt;i&gt;[n]}&#39; input.tsv&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;4. 0,$s/,//ng&amp;nbsp; -- Vi command to count number of &#39;,&#39; in the entire file.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;5. 0,$s/,//n&amp;nbsp; -- Vi command to count number of lines with at least once &#39;,&#39; in file.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;6. g/&amp;lt;regular expression&amp;gt;/d -- Vi command to search and delete the lines matching the regular expression.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;i&gt;7. g!/&amp;lt;regular expression&amp;gt;/d -- Vi command to search and delete the lines not matching the regular expression.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
More to be added as i find more and more stuff related.... :) &lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/7789476350564600975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2011/07/useful-one-liners-in-scripting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/7789476350564600975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/7789476350564600975'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2011/07/useful-one-liners-in-scripting.html' title='Useful One Liners in Scripting Languages and Vi Editor'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-7777168955346292930</id><published>2011-07-15T15:38:00.000-07:00</published><updated>2011-08-02T22:01:36.175-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hadoop put command untar copy uncompress without uncompressing unziping"/><title type='text'>Copy and uncompress file to HDFS without unziping the file on local filesystem</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;If your file is in GB&#39;s then this command would certainly help to avoid out of space errors as there is no need to unzip the file on local filesystem.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;put &lt;/i&gt;command in hadoop supports reading input from stdin. For reading the input from stdin use &#39;-&#39; as source file.&lt;br /&gt;
&lt;br /&gt;
Compressed filename: compressed.tar.gz&lt;br /&gt;
&amp;nbsp;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;gunzip -c&amp;nbsp; compressed.tar.gz | hadoop fs -put - /user/files/uncompressed_data&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Only Disadvantage: The only drawback of this approach is that in HDFS the data will be merged into a single file even though the local compressed file contains more than one file.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/7777168955346292930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2011/07/copy-and-uncompress-file-to-hdfs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/7777168955346292930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/7777168955346292930'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2011/07/copy-and-uncompress-file-to-hdfs.html' title='Copy and uncompress file to HDFS without unziping the file on local filesystem'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-6492180936303681088</id><published>2011-07-14T21:04:00.000-07:00</published><updated>2011-08-03T15:51:51.414-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hive function regexp_replace count values"/><title type='text'>Use regexp_replace function of Hive to count number of values in a multivalued column</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Example:&amp;nbsp;&amp;nbsp; student_classes table has &lt;i&gt;student_id&lt;/i&gt;(string), &lt;i&gt;classes&lt;/i&gt;(string)&lt;br /&gt;
&lt;i&gt;classes&lt;/i&gt; is a multivalued column consisting only of alpha-numeric and &#39;:&#39; character where &#39;:&#39; is the separator between department code and class_id in the corresponding department.&lt;br /&gt;
Sample row of Student_Classes:&amp;nbsp; 234&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CSE:1001,EE:2005,ME:1256&lt;br /&gt;
&lt;br /&gt;
Objective: Find out the student id who are enrolled in more than 2 classes&lt;br /&gt;
Solution:&amp;nbsp; Count the number of comma in the &lt;i&gt;classes &lt;/i&gt;column.&amp;nbsp; For this, replace every character other than &#39;,&#39; by blank and check if the length of remaining string is greater than 1.&lt;br /&gt;
Here is the Hive query:&lt;br /&gt;
&lt;i&gt;hive -e &#39;select * from student_classes&lt;/i&gt;&lt;i&gt; where length(regexp_replace(&lt;/i&gt;&lt;i&gt;classes&lt;/i&gt;&lt;i&gt;,&quot;\\w*:?&quot;,&quot;&quot;)) &amp;gt; 1&#39;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
This method can be pretty handy to leverage the power of NoSql  paradigm and do processing on multivalued column in a flat file  repository.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/6492180936303681088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2011/07/use-regexreplace-udf-of-hive-to-count.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/6492180936303681088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/6492180936303681088'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2011/07/use-regexreplace-udf-of-hive-to-count.html' title='Use regexp_replace function of Hive to count number of values in a multivalued column'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-1516880214191189214</id><published>2011-06-30T16:53:00.000-07:00</published><updated>2011-07-13T01:02:29.216-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="newline tab comma vi substitution"/><title type='text'>replace newline or tab with comma in vi editor</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;1. Open the file in Vi editor&lt;br /&gt;
2. Switch to command mode.&lt;br /&gt;
3. To replace all newline characters with comma use &quot;:1,$s/\n/,/g&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; If you want to replace all the tab characters in file with comma then instead of the above&amp;nbsp;&amp;nbsp;&amp;nbsp; command use this =&amp;gt; :1,$s/(Press CTRL+v) then (Press TAB)/,/g&lt;br /&gt;
4. Press Enter&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/1516880214191189214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2011/06/replace-newline-or-tab-with-comma-in-vi.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/1516880214191189214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/1516880214191189214'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2011/06/replace-newline-or-tab-with-comma-in-vi.html' title='replace newline or tab with comma in vi editor'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-1555311011209811438</id><published>2011-06-28T17:11:00.000-07:00</published><updated>2011-06-28T17:49:29.160-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hive Find_in_set &quot;IN&quot; Clause"/><title type='text'>Using find_in_set to emulate functionality of IN Clause of SQL in Hive</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Like me, if you are still forced to use Hive0.5 due to business decisions then here is a cool trick to simulate the functionality of &quot;IN clause&quot; of SQL for matching a set of values which are known beforehand.&lt;br /&gt;
&lt;br /&gt;
int find_in_set(string str, string strList) : Returns the first occurance of str in strList where strList is a comma-delimited string. Returns null if either argument is null. Returns 0 if the first argument contains any commas. e.g. find_in_set(&#39;ab&#39;, &#39;abc,b,ab,c,def&#39;) returns 3 {PS: As of Hive 0.7}&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Students table has id(string), name(string) and age(int) columns&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Query in Hive to find specific student with their ID : hive -e &#39;select * from students where find_in_set(id, &quot;2323, 4345,5674,6753,54654,234234&quot;)&amp;gt;0&#39;&lt;br /&gt;
&lt;br /&gt;
The above query will emulate the following in SQL:&lt;br /&gt;
select * from students where id in&amp;nbsp; (&#39;2323&#39;, &#39;4345&#39;,&#39;5674&#39;,&#39;6753&#39;,&#39;54654&#39;,&#39;234234&#39;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/1555311011209811438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2011/06/using-findinset-to-emulate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/1555311011209811438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/1555311011209811438'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2011/06/using-findinset-to-emulate.html' title='Using find_in_set to emulate functionality of IN Clause of SQL in Hive'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-8773924663709755083</id><published>2011-06-24T17:13:00.000-07:00</published><updated>2011-08-03T15:51:19.087-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bzcat cat hdfs console stdout cat compressed hdfs file"/><title type='text'>Stdout or cat a bz or any compressed file from HDFS</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;hadoop fs -cat /usr/data/list.bz | bzcat&lt;br /&gt;
&lt;br /&gt;
Similarly, for other compressed file : use the corresponding cat command.&lt;br /&gt;
For example use if it&#39;s gz file then use zcat.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/8773924663709755083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2011/06/stdout-bz-or-any-compressed-file-from.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/8773924663709755083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/8773924663709755083'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2011/06/stdout-bz-or-any-compressed-file-from.html' title='Stdout or cat a bz or any compressed file from HDFS'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4399456475905639171.post-3653061063903541679</id><published>2011-06-24T17:04:00.000-07:00</published><updated>2011-08-07T17:28:03.844-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="grep tab character"/><title type='text'>Grepping a tab character in file</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;For grepping a tab character press Ctrl+v and then press Tab.&lt;br /&gt;
&lt;br /&gt;
example: grep &#39;&amp;nbsp; &#39; test.txt&lt;br /&gt;
&lt;br /&gt;
Ctrl+v needs to be pressed after the opening single quote char.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bigdatanoob.blogspot.com/feeds/3653061063903541679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bigdatanoob.blogspot.com/2011/06/grepping-tab-character-in-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/3653061063903541679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4399456475905639171/posts/default/3653061063903541679'/><link rel='alternate' type='text/html' href='http://bigdatanoob.blogspot.com/2011/06/grepping-tab-character-in-file.html' title='Grepping a tab character in file'/><author><name>Anil Gupta</name><uri>http://www.blogger.com/profile/14502110041315501062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>