Tegyünk idegen kulcsot a csillagsémára?

Megmondom őszintén én nem szoktam soha. Régen úgy tanultam, hogy feleslegesen terheli a procit, hogy az integritás biztosiasa az ETL folyamatok feladata, stb. De most olvastam egy internetes közvélemény kutatást (Nem reprezentatív!), amiből az derül ki, hogy a válaszadók fele tesz foreign key constraint a csillagsémára. Lehet, hogy az elmúlt 10 évben változott annyira az ipar, hogy ezt a tézist is validálni kell?

Miért gyors a memóriában futó oszlopalapú adatbáziskezelő?

1.       A szűréshez ki sem kell tömörítenünk az adatokat. Szűrni tudunk a tömörített adatok alapján, ha a dimenzió tábla és a ténytábla kapcsolódó oszlopait azonosan tömörítettük

2.       Join-hoz sem kell kitömöríteni az adatokat. Maradhat minden tömörítve.

3.       Aggregációk készítésénél az attribútum maradhat tömörítve, csak a measure-öket kell kitömöríteni.

Hogyan kezeli a PowerPivot a kulcssértést?

A teszt során arra voltam kíváncsi, hogy hogyan birkózik meg a PowerPivot a táblák közti kapcsolatokban rejlő hiányosságokkal. 3 alapesetet vizsgáltam:

1.       A kulcs a dimenzió és a ténytáblában is megtalálható

2.       A kulcs csak a ténytáblában található meg

3.       A kulcs csak a dimenzió táblában található meg.

A fő kérdés az volt, hogy vajon mit csinál a PowerPivot azokkal a ténytábla sorokkal, amelyekhez nem kapcsolódnak dimenzió elemek a dimenzió táblában?

Beolvassa őket egy üres dimenzió elemre:

Image001

A lényeg tehát, hogy az összes ténytábla sort beolvassa. Nem kell félnünk attól, hogy a hiányzó dimenzió elemek miatt nem fognak bekerülni a Vertipaq adatbázisba

Az OLAP 40 éve

Egy szép összefoglaló grafikon az OLAP eszközök megjelenési éveiről (1975-2008):

Image001

Egy kis ízelítő a grafikon tartalmából

·         1970 – Az első OLAP termék, az Express bemutatása (Information Resources)

·         1982 – Comshare System W piacra dobta az OLAP for financials terméket

·         1984 – Metaphor piacra dobta az első ROLAP-ot

·         1990 – Megjelent a Cognos PowerPlay

·         1992 – Az Essbase megjelenése ("Extended Spread Sheet dataBASE”)

·         1993 – Codd definiálta az “OLAP” jelentését

·         1994 – Megjelent a MicroStrategy DSS Agent

·         1995 – Oracle felvásárolta az Express-t

·         1996 – Business Objects 4.0 kiadta a DOLAP-ot

·         1998 – kijött az IBM DB2 OLAP Server

·         1998 – Hyperion és az Arbor összeállt (Hyperion Solution)

·         1999 – Megjelent a Microsoft OLAP szerver

·         2000 – XML for Analysis szabvány bejelentése

·        

Forrás: http://download.101com.com/pub/TDWI/Files/TDWI_NextGen_OLAP_OBrien_200810.pdf

Honnan tudni, hogy hány sort dolgozott fel egy SSIS SQL task?

Eddig nem tudtam róla, hogy az Integration Services ExecuteSQL task-jában futó SQL utasítások által feldolgozott sorok számát az SSIS látja és tárolja is. Ha eddig az Execute SQL task által feldolgozott sorok számát vissza akartam kapni, akkor mindig tárolt eljárást írtam, ami visszaadta a sorok számát, amit aztán a ResultSet property használatával tudtam  kinyerni.

Csakhogy most találtam egy cikket, amely teljesen világosan leírja, hogy az SSIS-nek erre ott az ExecutionValue és egy ExecValueVariable tulajdonsága, melyek használatával a fenti hókuszpókusz nélkül is ki tudjuk olvasni az Execute SQL taskból a feldolgozott sorok számát. A hogyant lépésről lépésre leírja az Have you used the ExecutionValue and ExecValueVariable properties? című cikk.