Skip to content

Commit

Permalink
Deployed f225df3 with MkDocs version: 0.16.3
Browse files Browse the repository at this point in the history
  • Loading branch information
akhaku committed May 24, 2018
1 parent 2d078dd commit f6be50f
Show file tree
Hide file tree
Showing 20 changed files with 813 additions and 20 deletions.
12 changes: 12 additions & 0 deletions 404.html
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,18 @@



<li class="md-nav__item">
<a href="/testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="/glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions acknowledgements/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
16 changes: 14 additions & 2 deletions advanced-topics/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down Expand Up @@ -1014,13 +1026,13 @@ <h3 id="hash-index-layout">Hash Index Layout</h3>
</a>


<a href="../glossary/" title="Glossary" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<a href="../testing/" title="Testing" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Next
</span>
Glossary
Testing
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
Expand Down
12 changes: 12 additions & 0 deletions community/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions data-ingestion/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions data-modeling/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -456,6 +456,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions diving-deeper/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -428,6 +428,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions getting-started/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
16 changes: 14 additions & 2 deletions glossary/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,18 @@




<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>









Expand Down Expand Up @@ -584,7 +596,7 @@ <h1>Glossary</h1>
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">

<a href="../advanced-topics/" title="Advanced Topics" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<a href="../testing/" title="Testing" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
Expand All @@ -593,7 +605,7 @@ <h1>Glossary</h1>
<span class="md-footer-nav__direction">
Previous
</span>
Advanced Topics
Testing
</span>
</div>
</a>
Expand Down
12 changes: 12 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,18 @@



<li class="md-nav__item">
<a href="testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions indexing-querying/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -442,6 +442,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions infrastructure/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions interacting-with-a-dataset/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions license/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
15 changes: 15 additions & 0 deletions mkdocs/search_index.json
Original file line number Diff line number Diff line change
Expand Up @@ -685,6 +685,21 @@
"text": "A hash index is uses two FixedLengthElementArrays . These arrays can be referred to as the match array and the select array . The match array is an open-addressed hash table and contains buckets. Like a primary key index, the match array does not re-encode the values of keys. Instead, it retains pointers to existing records which may be used to retrieve the hashed keys. Unlike a primary key index, it may not be sufficient to retain a single pointer to the indexed type and extract the hashed key from that record -- each record in a hash index may match multiple keys. Instead, we retain 1-n pointers. Each pointer will indicate a record through which one or more of the key fields may be unambiguously retrieved. If multiple key fields may be unambiguously traversed to via a single type, then only a single pointer for the field group will be retained per bucket. Consider a scenario in which a hash index is used to index Movies by the nationalities and birth year of actors. For the key [\u201cBritish\u201d, 1972] , the corresponding entry in the match array may contain a pointer to the Actor record for Idris Elba. Although the record points to a specific Actor , the matching records for this entry will contain movies starring any British Actor born in 1972. Each pointer field in the match array bucket references a specific type, and is encoded as the ordinal to which the bucket refers. Each is represented using a fixed number of bits equal to the maximum ordinal in the referenced type. In addition to pointers which allow us to look up the matching key, each bucket in the match array includes the number of matching records, and an offset into the select array . The select array contains lists of ordinals to matching records. When queried with a key, the index will hash the key, then look to the corresponding bucket in the match array . The match pointers are used to compare the queried key with the matching key. If a match is found, then the corresponding entries in the select array are returned as a HollowHashIndexResult . Collisions are resolved with linear probing. If after linear probing an empty bucket is encountered in the match array, no such record exists in the dataset.",
"title": "Hash Index Layout"
},
{
"location": "/testing/",
"text": "Unit testing with Hollow objects\n\n\nHollow provides a \nhollow-test\n jar that contains some testing utilities to facilitate unit testing with Hollow objects.\n\n\nHollowReadStateEngineBuilder\n\n\nThis class allows easy creation of \nHollowReadStateEngine\n objects for use in unit tests.\n\n\nHollowReadStateEngine\n \nengine\n \n=\n \nnew\n \nHollowReadStateEngineBuilder\n()\n\n \n.\nadd\n(\nnew\n \nMovie\n(\nfoo\n))\n\n \n.\nadd\n(\nnew\n \nActor\n(\nbar\n))\n\n \n.\nbuild\n()",
"title": "Testing"
},
{
"location": "/testing/#unit-testing-with-hollow-objects",
"text": "Hollow provides a hollow-test jar that contains some testing utilities to facilitate unit testing with Hollow objects.",
"title": "Unit testing with Hollow objects"
},
{
"location": "/testing/#hollowreadstateenginebuilder",
"text": "This class allows easy creation of HollowReadStateEngine objects for use in unit tests. HollowReadStateEngine engine = new HollowReadStateEngineBuilder () \n . add ( new Movie ( foo )) \n . add ( new Actor ( bar )) \n . build ()",
"title": "HollowReadStateEngineBuilder"
},
{
"location": "/glossary/",
"text": "adjacent state\n\n\n\n\nIf state \nA\n is connected via a single delta to state \nB\n, then \nA\n and \nB\n are adjacent to each other.\n\n\n\n\nannounce\n\n\n\n\nAfter the blobs for a state have been published to a blob store by a producer, the state must be \nannounced\n to consumers. The announcement signals to consumers that they should transition to the announced state.\n\n\n\n\nblob\n\n\n\n\nA blob is a file used by consumers to update their dataset. A blob will be either a snapshot, delta, or reverse delta\n\n\n\n\nblob store\n\n\n\n\nA blob store is a file store to which blobs can be published by a producer and retrieved by a consumer. \n\n\n\n\nbroken delta chain\n\n\n\n\nWhen a blob namespace contains a state which is not adjacent to any prior states, the delta chain is said to be broken. In this scenario, consumers may need to load a double snapshot.\n\n\n\n\nconsumer\n\n\n\n\nOne of many machines on which a dataset is made accessible. Consumers are updated in lock-step based on the actions of the producer.\n\n\n\n\ncycle\n\n\n\n\nA producer runs in an infinite loop. Each exection of the loop is called a cycle. Each cycle produces a single data state.\n\n\n\n\ndata model\n\n\n\n\nA data model defines the structure of a dataset. It is specified with a set of schemas.\n\n\n\n\ndata state\n\n\n\n\nA dataset changes over time. The timeline for a changing dataset can be broken down into discrete data states, each of which is a complete snapshot of the data at a particular point in time.\n\n\n\n\ndeduplication\n\n\n\n\nTwo records which have identical data in Hollow will be consolidated into a single record. Any references to duplicate records will be mapped to the canonical one when a dataset is represented with Hollow.\n\n\n\n\ndelta\n\n\n\n\nA set of encoded instructions to transition from one data state to an adjacent state. Deltas are encoded as a set of ordinals to remove and a set of ordinals to add, along with the accompanying data to add. 'Delta' may refer specifically to a transition between an earlier state and a later state, contrasted with 'reverse delta', which specifically refers to a transition between a later state and an earlier state.\n\n\n\n\ndelta chain\n\n\n\n\nA series of states which are all connected via contiguous deltas.\n\n\n\n\ndiff\n\n\n\n\nA comprehensive accounting for the differences between two data states.\n\n\n\n\ndouble snapshot\n\n\n\n\nWhen a consumer already has an initialized state and an announcement signals to move to a new state for which a path of deltas is not available, the consumer may transition to that state via a snapshot. In this scenario two full copies of the dataset must be loaded in memory.\n\n\n\n\nfield\n\n\n\n\nA single value encoded inside of a Hollow record.\n\n\n\n\nhash key\n\n\n\n\nA user-defined specification of one or more fields used to hash elements into a set or entries into a map.\n\n\n\n\ningestion\n\n\n\n\nGathering data from a source of truth and importing it into Hollow.\n\n\n\n\ninline\n\n\n\n\nA field for which the value is encoded directly into a record, as opposed to referenced via another record.\n\n\n\n\nnamespace (blobs)\n\n\n\n\nAn addressable, logical separation of both published artifacts in a blob store and announcement location. Used to allow multiple publishers to communicate on separate channels to specific groups of consumers.\n\n\n\n\nnamespace (references)\n\n\n\n\nThe deliberate creation of a type to hold a specific referenced field's data in order to reduce the cardinality of the referenced records.\n\n\n\n\nobject longevity\n\n\n\n\nA technique used to ensure that stale references to Hollow Objects always return the same data they did initially upon creation. Configured via the \nHollowObjectMemoryConfig\n.\n\n\n\n\nordinal\n\n\n\n\nAn integer value uniquely identifying a record within a type. Because records are represented with a fixed-length number of bits, the only necessary information to locate a record in memory is the record's type and ordinal. Ordinals are automatically assigned by Hollow, and are recycled as records are removed and added. Consequently, they lie in the range of 0-n, where n is generally not much larger than the total number of records for the type.\n\n\n\n\npatch (states)\n\n\n\n\nCreating a series of two deltas between states in a delta chain.\n\n\n\n\npinning\n\n\n\n\nOverriding the state version announcement from the producer, to force clients to go back to or stay at an older state.\n\n\n\n\nprimary key\n\n\n\n\nA user-defined specification of one or more fields used to uniquely identify a record within a type.\n\n\n\n\nproducer\n\n\n\n\nA single machine that retrieves all data from a source of truth and produces a delta chain.\n\n\n\n\npublish\n\n\n\n\nWriting blobs to a blob store.\n\n\n\n\nread state engine\n\n\n\n\nA \nHollowReadStateEngine\n, the root handle to a Hollow dataset as a consumer.\n\n\n\n\nrecord\n\n\n\n\nA strongly-typed collection of fields or references, the structure of which is specified by a schema.\n\n\n\n\nreference\n\n\n\n\nA field type which indicates a pointer to another field. Can also refer to the technique of pulling out a specific field into a record type of its own to deliberately allow Hollow to deduplicate the values.\n\n\n\n\nrestore\n\n\n\n\nInitializing a \nHollowWriteStateEngine\n with data from a previously produced state so that a delta may be created during a producer's first cycle.\n\n\n\n\nreverse delta\n\n\n\n\nA delta from a later state to an earlier state. Generally used during pinning scenarios.\n\n\n\n\nschema\n\n\n\n\nMetadata about a Hollow type which defines the structure of the records.\n\n\n\n\nsnapshot\n\n\n\n\nA blob type which contains a serialization of all of the records in a type. Consumed during initialization, and possibly in a broken delta chain scenario.\n\n\n\n\nstate\n\n\n\n\nSee \ndata state\n.\n\n\n\n\nstate version\n\n\n\n\nA unique identifier for a state. Should by monotonically increasing as time passes.\n\n\n\n\nstate engine\n\n\n\n\nBoth the producer and consumers handle datasets with a state engine. A state engine can be transitioned between data states. A producer uses a \nwrite state engine\n and a consumer uses a \nread state engine\n\n\n\n\ntype\n\n\n\n\nA collection of records all conforming to a specific schema.\n\n\n\n\nwrite state engine\n\n\n\n\nA \nHollowWriteStateEngine\n, the root handle to a Hollow dataset as a consumer.",
Expand Down
12 changes: 12 additions & 0 deletions producer-consumer-apis/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
12 changes: 12 additions & 0 deletions quick-start/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -476,6 +476,18 @@



<li class="md-nav__item">
<a href="../testing/" title="Testing" class="md-nav__link">
Testing
</a>
</li>







<li class="md-nav__item">
<a href="../glossary/" title="Glossary" class="md-nav__link">
Glossary
Expand Down
Loading

0 comments on commit f6be50f

Please sign in to comment.