[ 
https://issues.apache.org/jira/browse/PHOENIX-5085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16736138#comment-16736138
 ] 

Bin Shi commented on PHOENIX-5085:
----------------------------------

[~dbwong] & [~karanmehta93], we're almost on the same page. 

At the current phase, to address this JIRA, the GuidePostsInfo can provide two 
create functions (Factory Method) - one returns List<GuidePost> and another 
returns ArrayList<GuidePost> interfaces (can leave it for implantation for the 
future), where GuidePost is a data structure contains data from a row in stats 
table.  Define a SequenceAccessor factory which provides a method get 
SequenceAccessor (interface) of Guideposts. A concrete class implements this 
SequenceAccess interface and encapsulates the current implantation of 
guideposts data structure using prefix encoding.

 

At the next phase, we'll define RandomAccessor factory and RandomeAccess 
interface, implement different guideposts data structure (Segment Tree). Add 
more APIs and helper functions, such as what described in ["Phoenix deep dive" 
slides|https://docs.google.com/presentation/d/1G_CcAhk2xSC09mqG3MNt1i2QbgqfWbg9OM966_ucSGQ].
 # Use [Segment 
Tree|https://www.geeksforgeeks.org/segment-tree-set-1-sum-of-given-range/] 
(Plus some characteristics from B+ Tree) PHOENIX-4925
 # Disentangle the granularity of guideposts from that of the cached guideposts 
(PHOENIX-4927)
 # Mount/unmount guideposts for a particular tenant or key range
 # Guideposts Chunk is always encoded/decoded as a whole, so we can choose 
different compression algorithms depending on the data.
 # Support Range Scan. Given <start key, End Key>, return List<GuidePost> 
decompressed on which we can perform binary search, or return estimated # rows 
and # bytes

> Disentangle BaseResultIterators from the backing Guidepost Data structure
> -------------------------------------------------------------------------
>
>                 Key: PHOENIX-5085
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5085
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Daniel Wong
>            Assignee: Daniel Wong
>            Priority: Major
>              Labels: Statistics, StatsImprovement
>
> Disentangle BaseResultIterators.getParallelScans from the backing Guidepost 
> Data structure.  This will provide the abstraction for possible new stats 
> data structures in https://issues.apache.org/jira/browse/PHOENIX-4925
>  Will heavily affect changes in 
> https://issues.apache.org/jira/browse/PHOENIX-4926 and 
> https://issues.apache.org/jira/browse/PHOENIX-4594.  [~Bin Shi] 
> [~karanmehta93]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to