_posts/2017-07-14-hbase-application-archetypes-redux2-part.html (214 lines of code) (raw):

--- layout: post status: PUBLISHED published: true title: HBASE APPLICATION ARCHETYPES REDUX2 (Part 2 of 2) id: 6c92233e-2bbd-462a-8d60-178af4c0a3fa date: '2017-07-14 20:43:28 -0400' categories: hbase tags: - archetypes - application - hbase - yammer - part2of2 permalink: hbase/entry/hbase-application-archetypes-redux2-part --- <div> <p>(This is the second of a two-part post. The first part an be found&nbsp;<a href="https://blogs.apache.org/hbase/entry/hbase-application-archetypes-redux">at this spot</a>).</p> </p></div> <div> <h4>DOCUMENT</h4> <p style="box-sizing: border-box; border: 0px none;">Using a technique called key-flattening, a document can be shredded by storing each value in the document according to the path from the root to the name of the element containing the value. &nbsp;<a href="https://github.com/rayokota/hdocdb" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">HDocDB</a> uses this approach.</p> <table id="zaposphere-table-courtyard" style="box-sizing: border-box; border-width: 1px 1px 0px; border-style: solid; border-color: #bbbbbb; border-image: initial; margin: 20px 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; border-spacing: 0px; width: 660px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; font-stretch: normal; line-height: 1.5em; height: 147px;"> <thead style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 203px;"> </td> <td colspan="3" style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 1424px;">Column&nbsp;Family: default</td> </tr> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; background-color: #fafafa;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 203px;">Row Key</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 568px;">Column: <property 1 path></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 564.562px;">Column: <property 2 path></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 291.438px;">&hellip;</td> </tr> </thead> <tbody style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 203px;"><document ID></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 568px;">&nbsp; <property 1 value></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 564.562px;"> <property 2 value></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 291.438px;">&hellip;</td> </tr> </tbody> </table> <p style="box-sizing: border-box; border: 0px none;">The document can also be stored as a binary value, in which case support for <a href="http://blog.cloudera.com/blog/2015/06/inside-apache-hbases-new-support-for-mobs/" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">Medium Objects (MOBs)</a> can be used if the documents are large. &nbsp;This approach is described in the book <a href="http://shop.oreilly.com/product/0636920035688.do" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">Architecting HBase Applications</a>.</p> <table id="zaposphere-table-courtyard" style="box-sizing: border-box; border-width: 1px 1px 0px; border-style: solid; border-color: #bbbbbb; border-image: initial; margin: 20px 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; border-spacing: 0px; width: 660px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; font-stretch: normal; line-height: 1.5em; height: 147px;"> <thead style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 119px;"> </td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 499.734px;">Column&nbsp;Family: default</td> </tr> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; background-color: #fafafa;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 119px;">Row Key</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 499.734px;">Column: body</td> </tr> </thead> <tbody style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 119px;"><document ID></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 499.734px;">&nbsp;<reference to MOB></td> </tr> </tbody> </table> <h4>GRAPH</h4> <p style="box-sizing: border-box; border: 0px none;">There are many ways to store a graph in HBase. &nbsp;One method is to use an adjacency list, where each vertex stores its neighbors in the same row. &nbsp;This is the approach taken in <a href="http://janusgraph.org/" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">JanusGraph</a>.</p> <table id="zaposphere-table-courtyard" style="box-sizing: border-box; border-width: 1px 1px 0px; border-style: solid; border-color: #bbbbbb; border-image: initial; margin: 20px 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; border-spacing: 0px; width: 660px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; font-stretch: normal; line-height: 1.5em; height: 147px;"> <thead style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 203.859px;"> </td> <td colspan="6" style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 1427.14px;">Column&nbsp;Family: default</td> </tr> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; background-color: #fafafa;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 203.859px;">Row Key</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 471.141px;">Column: <edge 1 key></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 579px;">Column: <edge 2 key></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">&hellip;</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">Column: <property 1 name></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">Column: <property 2 name></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">&hellip;</td> </tr> </thead> <tbody style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 203.859px;"><vertex ID></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 471.141px;">&nbsp;<edge 1 properties></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 579px;"><edge 2 properties></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;">&hellip;</td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;"> <property 1 value></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;"> <property 2 value></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;">&hellip;</td> </tr> </tbody> </table> <p style="box-sizing: border-box; border: 0px none;">In the table above, the edge key is actually comprised of a number of parts, including the label, direction, edge ID, and adjacent vertex ID.</p> <p style="box-sizing: border-box; border: 0px none;">Alternatively, a separate table to represent edges can be used, in which case the incident vertices are stored in the same row as an edge. &nbsp; This may scale better if the adjacency list is large, such as in a social network. &nbsp;This is the approach taken in both <a href="https://www.slideshare.net/HBaseCon/keynote-3-pinterest-49043320" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">Zen</a> and <a href="https://github.com/rayokota/hgraphdb" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">HGraphDB</a>.</p> <table id="zaposphere-table-courtyard" style="box-sizing: border-box; border-width: 1px 1px 0px; border-style: solid; border-color: #bbbbbb; border-image: initial; margin: 20px 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; border-spacing: 0px; width: 660px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; font-stretch: normal; line-height: 1.5em; height: 147px;"> <thead style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 203.859px;"> </td> <td colspan="3" style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 1427.14px;">Column&nbsp;Family: default</td> </tr> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; background-color: #fafafa;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 203.859px;">Row Key</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">Column: <property 1 name></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">Column: <property 2 name></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">&hellip;</td> </tr> </thead> <tbody style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 203.859px;"><vertex ID></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;"> <property 1 value></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;"> <property 2 value></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;">&hellip;</td> </tr> </tbody> </table> <table id="zaposphere-table-courtyard" style="box-sizing: border-box; border-width: 1px 1px 0px; border-style: solid; border-color: #bbbbbb; border-image: initial; margin: 20px 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; border-spacing: 0px; width: 660px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; font-stretch: normal; line-height: 1.5em; height: 147px;"> <thead style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 203.859px;"> </td> <td colspan="5" style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 1427.14px;">Column&nbsp;Family: default</td> </tr> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; background-color: #fafafa;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 203.859px;">Row Key</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 471.141px;">Column: fromVertex</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 579px;">Column: toVertex</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">Column: <property 1 name></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">Column: <property 2 name></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 377px;">&hellip;</td> </tr> </thead> <tbody style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 203.859px;"><edge ID></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 471.141px;">&nbsp;<vertex ID></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 579px;"><vertex ID></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;"> <property 1 value></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;"> <property 2 value></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 377px;">&hellip;</td> </tr> </tbody> </table> <p style="box-sizing: border-box; border: 0px none;">When storing edges in a separate table, additional index tables must be used to provide efficient access to the incident edges of a vertex. &nbsp;For example, the full list of tables in HGraphDB can be viewed <a href="https://github.com/rayokota/hgraphdb#implementation-notes" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">here</a>.</p> <h4>QUEUE</h4> <p style="box-sizing: border-box; border: 0px none;">A queue can be modeled by using a row key comprised of the consumer ID and a counter. &nbsp;Both <a href="http://blog.cask.co/2015/05/scalable-distributed-transactional-queues/" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">Cask</a> and <a href="https://www.slideshare.net/HBaseCon/dev-session-5a" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">Box</a> implement queues in this manner.</p> <table id="zaposphere-table-courtyard" style="box-sizing: border-box; border-width: 1px 1px 0px; border-style: solid; border-color: #bbbbbb; border-image: initial; margin: 20px 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; border-spacing: 0px; width: 660px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; font-stretch: normal; line-height: 1.5em; height: 147px;"> <thead style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 372px;"> </td> <td colspan="2" style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 877px;">Column&nbsp;Family: default</td> </tr> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; background-color: #fafafa;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 372px;">Row Key</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 466.891px;">Column: metadata</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 410.109px;">Column: body</td> </tr> </thead> <tbody style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 372px;"><consumer ID + counter></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 466.891px;">&nbsp;<message metadata></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 410.109px;"><message body></td> </tr> </tbody> </table> <p style="box-sizing: border-box; border: 0px none;">Cask also uses coprocessors for efficient scan filtering and queue trimming, and <a href="http://tephra.incubator.apache.org/" style="border: 0px none; box-sizing: border-box; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">Apache&nbsp;Tephra</a> for transactional queue processing.</p> <h4>METRICS</h4> <p style="box-sizing: border-box; border: 0px none;">The Metrics archetype is a variant of the Entity archetype in which the column values are counters or some other aggregate.</p> <table id="zaposphere-table-courtyard" style="box-sizing: border-box; border-width: 1px 1px 0px; border-style: solid; border-color: #bbbbbb; border-image: initial; margin: 20px 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; border-spacing: 0px; width: 660px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; font-stretch: normal; line-height: 1.5em; height: 147px;"> <thead style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 244px;"> </td> <td colspan="3" style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 1393px;">Column&nbsp;Family: default</td> </tr> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; background-color: #fafafa;"> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 244px;">Row Key</td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 535.156px;">Column: <property 1 name></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 529.844px;">Column: <property 2 name></td> <td style="font-weight: 600; line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; letter-spacing: 0px; background: #eeeeee none repeat scroll 0% 0%; width: 328px;">&hellip;</td> </tr> </thead> <tbody style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <tr style="box-sizing: border-box; border: 0px none; font-style: inherit; font-weight: inherit; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline;"> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left-style: none; border-top-color: initial; border-right-color: initial; border-left-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 244px;"><entity ID></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 535.156px;">&nbsp; <property 1 counter></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 529.844px;"> <property 2 counter></td> <td style="line-height: 1.5em; box-sizing: border-box; border-width: 0px 0px 1px 1px; border-top-style: initial; border-right-style: initial; border-bottom: 1px solid #bbbbbb; border-left: 1px solid #bbbbbb; border-top-color: initial; border-right-color: initial; border-image: initial; margin: 0px; outline: currentcolor none 0px; padding: 8px 12px; vertical-align: top; text-align: center; width: 328px;">&hellip;</td> </tr> </tbody> </table> <p><span>HGraphDB is actually a combination of the Graph and Metrics archetypes, as arbitrary</span><span> </span><a href="https://github.com/rayokota/hgraphdb#counters" style="border: 0px none; font-style: inherit; font-weight: inherit; box-sizing: border-box; margin: 0px; outline: currentcolor none 0px; padding: 0px; vertical-align: baseline; transition: all 0.3s ease-in-out 0s;">counters</a><span> </span><span>can be stored on either vertices or edges.</span></p> <p>(This is the second of a two-part article. The first part can be found <a href="https://blogs.apache.org/hbase/entry/hbase-application-archetypes-redux">over here</a>).&nbsp;</p> </p></div>