[ https://issues.apache.org/jira/browse/KYLIN-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15680172#comment-15680172 ]
liyang edited comment on KYLIN-1875 at 11/20/16 11:20 PM: ---------------------------------------------------------- Initial design, a {{Data Model}} consists of the following: - one {{Root Fact Table}} - multiple {{Fact Tables}} - multiple {{Lookup Tables}} (can fit in memory, typically < 300 MB) - multiple {{Join Relationships}} that connect tables to the Root Fact Table directly or indirectly During cube build - All tables are joined together and then aggregated as the {{Cube}} - Lookup tables, due to the small size, are also saved as {{Snapshots}} Query and limitations - Lookup tables can be queried independently from the Snapshots, ensures correct result - Fact tables can only be queried from cube, which enforces the pre-calculated joint and aggregated result -- *No raw records* limitation. This is the same as before. --- For example, {{select * from F}} actually returns {{select * from F group by D1, D2, ..., Dn}}, where F is fact table, Dn are dimension columns. --- To support query of raw records, user can add PK as dimension (at the cost that the cardinality of PK is very high). Or try the [raw measure|http://kylin.apache.org/blog/2016/05/29/raw-measure-in-kylin/] feature. -- *Enforced joint* limitation. Query on any fact table will enforce the joins of the whole model, since cube only stores pre-calculated joint result. This limitation also exists in earlier versions. --- For example, {{select ... from F1}} will be executed as {{select ... from F1 join F2 ... join L1 join L2...}}, where Fn are fact tables, Ln are lookup tables. --- This limitation is not a problem for left join models and inner join models that has no record loss after inner join. was (Author: liyang.g...@gmail.com): Initial design, a {{Data Model}} consists of the following: - one {{Root Fact Table}} - multiple {{Fact Tables}} - multiple {{Lookup Tables}} (can fit in memory, typically < 300 MB) - multiple {{Join Relationships}} that connect tables to the Root Fact Table directly or indirectly During cube build - All tables are joined together and then aggregated as the {{Cube}} - Lookup tables, due to the small size, are also saved as {{Snapshots}} Query and limitations - Lookup tables can be queried independently from the Snapshots, ensures correct result - Fact tables can only be queried from cube, which enforces the pre-calculated joint and aggregated result -- *No raw records* limitation. This is the same as before. --- For example, {{select * from F}} actually returns {{select * from F group by D1, D2, ..., Dn}}, where F is fact table, Dn are dimension columns. -- *Enforced joint* limitation. Query on any fact table will enforce the joins of the whole model, since cube only stores pre-calculated joint result. This limitation also exists in earlier versions. --- For example, {{select ... from F1}} will be executed as {{select ... from F1 join F2 ... join L1 join L2...}}, where Fn are fact tables, Ln are lookup tables. > Kylin support SnowFlake schema > ------------------------------ > > Key: KYLIN-1875 > URL: https://issues.apache.org/jira/browse/KYLIN-1875 > Project: Kylin > Issue Type: Improvement > Affects Versions: v1.5.2 > Reporter: Rahul Choubey > Assignee: liyang > -- This message was sent by Atlassian JIRA (v6.3.4#6332)