[ 
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 2/25/17 8:49 AM:
--------------------------------------------------------

Initial design, a {{Data Model}} consists of the following:

- one {{Fact Table}}
- multiple {{Lookup Tables}}  (can fit in memory, typically < 300 MB)
- multiple {{Limited Lookup Tables}}  (cannot fit in memory)
- multiple {{Join Relationships}} that connect lookup tables to the fact table 
directly or indirectly

During cube build

- All tables are joined together and then aggregated to become the {{Cube}}
- Lookup tables, due to the small size, are also saved as {{Snapshots}}
- Limited lookup tables, due to the big size, does not have {{Snapshots}}

Query and limitations

- Lookup tables (excluding the limited) can be queried independently from the 
snapshots, ensures correct result
- Fact table and limited lookup tables must be queried from the cube, which 
submits to the following limitations.
-- *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 the fact table, Dn are the dimensions of cube.
--- To support query of raw records, user can add PK as dimension (at the cost 
of cube size). 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 or limited lookup 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 F}} will be executed as {{select ... from F 
join L1 join L2...}}, where F are the fact tables, Ln are the lookup tables.
--- This limitation IS NOT a problem for left join models and inner join models 
that has no record loss after inner join.
--- This limitation is a problem for many-to-many relationships. User can work 
around by creating multiple models, for example let each fact table has its own 
model.


was (Author: [email protected]):
Initial design, a {{Data Model}} consists of the following:

- one {{Fact Table}}
- multiple {{Lookup Tables}}  (can fit in memory, typically < 300 MB)
- multiple {{Limited Lookup Tables}}  (cannot fit in memory)
- multiple {{Join Relationships}} that connect lookup tables to the fact table 
directly or indirectly

During cube build

- All tables are joined together and then aggregated to become the {{Cube}}
- Lookup tables, due to the small size, are also saved as {{Snapshots}}
- Limited lookup tables, due to the big size, does not have {{Snapshots}}

Query and limitations

- Lookup tables (excluding the limited) can be queried independently from the 
snapshots, ensures correct result
- Fact table and limited lookup tables must be queried from the cube, which 
submits to following limitations.
-- *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 the fact table, Dn are the dimensions of cube.
--- To support query of raw records, user can add PK as dimension (at the cost 
of cube size). 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 or limited lookup 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 F}} will be executed as {{select ... from F 
join L1 join L2...}}, where F are the fact tables, Ln are the lookup tables.
--- This limitation IS NOT a problem for left join models and inner join models 
that has no record loss after inner join.
--- This limitation is a problem for many-to-many relationships. User can work 
around by creating multiple models, for example let each fact table has its own 
model.

> Snowflake schema support
> ------------------------
>
>                 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
>             Fix For: v2.0.0
>
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to