all groups > sql server data warehouse > june 2004 >
You're in the

sql server data warehouse

group:

Replacing fact table by partitioned view



Replacing fact table by partitioned view Matt Beaverton
6/4/2004 1:25:34 PM
sql server data warehouse: Hi,

We currently have 6 fairly large fact tables (10 to 30 millions rows per
table). They become complex to manoeuver for OLTP and DB maintenance
tasks (too execution time).

We are considering splitting these fact tables by smaller ones, based on
month. And then source the cubes from the paritioned views.

Will the cube processing still be OK? Will there be any shortcoming that
we should be aware of (processing time, more/less resources, cube
redesign, etc.) ?

Any advice greatly appreciated.

Re: Replacing fact table by partitioned view Matt Beaverton
6/4/2004 2:52:48 PM
Hi Eric,

I guess you understood I wanted to break "1 year cube" into "12 month
cubes"? No, I didn't want to do change anything at the cubes side.

Each cube is currently processed from a big fact table. The fact table
is really very big. And I'm considering to split the fact tables into
smaller physical tables. Next, create a partitioned view to UNION all
these small tables to make it look like the former big fact table.

Therefore the cubes still see the same fact table.

I'm not familiar with Analysis Service. I'd like to know if it works OK
with a partitioned view. I expect it does and if so, is there any
advantage, shortcoming, design change?

Thanks,
Matt


"Eric.Li" <anonymous@microsoftnews.org> wrote in
news:usA2MdnSEHA.2112@TK2MSFTNGP11.phx.gbl:

[quoted text, click to view]
Re: Replacing fact table by partitioned view Eric.Li
6/4/2004 4:02:57 PM
Well it will help the performance because each query will scan a smaller
cube unless user requests to return everything. It won't help your
processing time much because you still have same amount of data, just
split it into small chuck. Actually it may hurt it as it needs to access
the view multiple times.

Your DW will become more complicated because now you have multiple
cubes, each one with its own dimensions. If users want to access more
than 1 months data, they will have to modify their current reports or
you have to create virtual cubes for them.

One more thing, if you make changes in one cube, you have to duplicate
it across all other cubes and we know how user friend that cube editor
is. Especially if you have alot calculated measures, it can be really
painful.

Also, depends on your design, you may new cubes for each new month, or
may be not, all depends on how you cut your fact table.

--
Eric Li
SQL DBA
MCDBA

[quoted text, click to view]
Re: Replacing fact table by partitioned view Dave Wickert [MSFT]
6/4/2004 9:41:47 PM
When you ask about cube processing, do you mean Analysis Services cube
processing?
If so, my recommendation is to NOT form a full fact table. Align your RDBMS
partitioning tables with your Analysis Services partition design. In
Analysis Services, partitions can have their own fact table. Thus if you are
partitioning monthly, you can have a "Sales_2004_Feb" table and a
"Sales_2004_Mar" table, etc... and never form a full "Sales" table which has
all of your rows -- just keep them as monthly tables and load Analysis
Services partitions individually.
--
Dave Wickert [MSFT]
dwickert@online.microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.

[quoted text, click to view]

Re: Replacing fact table by partitioned view Aaron W. West
6/6/2004 11:52:58 PM
Much better to use numbers than names, eg. Sales200401, Sales200402

What if you had a reason to want to scan them in order? ORDER BY wouldn't
work with month names without some transformation.

----- Original Message -----
From: "Dave Wickert [MSFT]" <dwickert@online.microsoft.com>
....
you can have a "Sales_2004_Feb" table and a
"Sales_2004_Mar" table, etc... and never form a full "Sales" table which has
all of your rows -- just keep them as monthly tables and load Analysis
Services partitions individually.

AddThis Social Bookmark Button