Showing posts with label organize. Show all posts
Showing posts with label organize. Show all posts

Thursday, March 8, 2012

AS2000. How to organize pocessing?

In AS 2000 I made update processing off all dimension and full processing of the last partition in every cube. I was made in a transaction. Duering processing the old version of data was available for the MDX querying.

If I do the same in AS 2000, the database seem to be locked.

What I make wrong?

Hiere is the xmla batch what I send to the AS2005.

<Batch Transaction="true" ProcessAffectedObjects="true" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">

<Parallel>

<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">

<Object>

<DatabaseID>MW</DatabaseID>

<DimensionID>Abteilung</DimensionID>

</Object>

<Type>ProcessUpdate</Type>

</Process>

<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">

<Object>

<DatabaseID>MW</DatabaseID>

<DimensionID>Adm</DimensionID>

</Object>

<Type>ProcessUpdate</Type>

</Process>

<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">

<Object>

<DatabaseID>MW</DatabaseID>

<DimensionID>Artikel</DimensionID>

</Object>

<Type>ProcessUpdate</Type>

</Process>

<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">

<Object>

<DatabaseID>MW</DatabaseID>

<CubeID>Verkauf</CubeID>

<MeasureGroupID>Verkauf</MeasureGroupID>

<PartitionID>Verkauf_2006</PartitionID>

</Object>

<Type>ProcessFull</Type>

</Process>

<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">

<Object>

<DatabaseID>MW</DatabaseID>

<CubeID>Verkauf</CubeID>

<MeasureGroupID>VerkaufAuftrag</MeasureGroupID>

<PartitionID>VerkaufAuftrag_2006</PartitionID>

</Object>

<Type>ProcessFull</Type>

</Process>

<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">

<Object>

<DatabaseID>MW</DatabaseID>

<CubeID>Verkauf</CubeID>

<MeasureGroupID>VerkaufRechnung</MeasureGroupID>

<PartitionID>VerkaufRechnung_2006</PartitionID>

</Object>

<Type>ProcessFull</Type>

</Process>

<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2">

<Object>

<DatabaseID>MW</DatabaseID>

<CubeID>Verkauf</CubeID>

<MeasureGroupID>VerkaufArtikel</MeasureGroupID>

<PartitionID>VerkaufArtikel_2006</PartitionID>

</Object>

<Type>ProcessFull</Type>

</Process>

</Parallel>

</Batch>

Do you mean "If I do the same in AS 2005, the database seem to be locked" ?

If this is related to Analysis Services 2005 behvior, this is strange. I think you should have access to product support. Please report this problem.

Thanks.

Edward Melomed.
--
This posting is provided "AS IS" with no warranties, and confers no rights.

Saturday, February 25, 2012

Articles in more than one Category - How to organize tables?

Greetings,
I have one table, named Article, and one table name Category.
The problem is, one Article could be in just one or in several categories.
What is the best way to connect data between Article and Category according to fast search performance?
I have several ideas:
1. To have third cross table Article_Category with fields Article_ID and Category_ID, and search Article_Category table
2. To have several INTEGER columns in Article table (like Category_ID1, Category_ID2,..) and search those columns
3. Add one VARCHAR field in Article table where I could write Category ID's delimited by some character (e.g. by comma), and do text search in only that column.
What is recommended for solving problems like this?

Option 1 makes the most sense. This is how many-to-many relationships are generally implemented.

|||Thanks for advice Adam|||Yes, that is how I implemented them, it works well. Then you can use an inner join to join the article info to the category info.|||

Will you have:
Option A: Many-to-Many (category 1 has article 1 and 2, category 2 has article 3, etc)

Option B: 1-to-Many (Category 1 has article 2, category 2 has article 2, category 3 has article 5, etc)
If B, you can put your article_id in your category table. This would give you the fastest search performance and allow your joins to be simpler.

Nick

|||Hi bmains,
how large are your tables?
Do you run it on Web with ASP.NET?
Do you satisfied with search speed?|||Hi Nick,
one Category will have many articles,
one Article could be in more than one category.

There is 500 000 articles and almost 2000 categories.
Regards|||

If you are talking a join between the join table and the two main tables, then no, I wouldn't worry about speed; it shouldn't be worse performance-wise. Though, if you are talking a lot of joins, then you need to worry more. outer joins are worse than inner joins; inner joins aren't bad; here we have a requirement that you have to try to rewrite a query to use an inner join if possible, when an outer join is used.