51
Doing Oracle Analytics THIS Way? STOP IT www.dimensionality.ch @Nephentur #obihackers | freenode

Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

DoingOracleAnalyticsTHISWay?

STOP IT

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 2: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

« Christian, you’re either boring or shocking...there is no middle way with you! »

--- Francesco TisiotLiterally 2 hours ago

Who am I?

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 3: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

• Owner of Dimensionality GmbH in Switzerland• Hacking OBI since 2001 (nQuire + Peregrin aquisitions by Siebel)• Oracle ACE Business Analytics• Speaker at OpenWorld, KScope, regional Oracle User Groups...• Part-time blogger on Analytics, BI, DWH (http://dimensionality.ch)• Full-time IRC (freenode | #obihackers) and OTN addict• Oracle Analytics trainer for Oracle University since 2006• Proud geek and gamer...but NOT a developer!• Responding to any and all questions 24 / 7 – especially on IRC

Who am I?

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 4: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

By the way...thief :-P

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 5: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Whythispresentation?• OracleAnalyticshasmaturedandisquitewide-spread• Isseenas/consideredashavingbecomeacommodityknow-how• Asaresultit’softendoneworsethanever…• …especiallycomparedtowhenitwasanicheskill• Hence:Backtobasicspresentationseries• And:WorstPracticesmeanssomeoneelseranintothewall!

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 6: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Disclaimer• Allrealusecasesfromclientsandintegrators• Allfromproductionsystems– noabandonedtry-outs• Justificationsandexplanationsmaysoundsarcasticbutthey’renot• IlikerantingaboutfailsbutIdon’tlikePowerPointorKeynote• Memes+text>>>fancygraphics• Don’tbotherreadingallthetext;mystoriesarealotfunnier

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 7: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

OracleAnalytics

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 8: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

OracleAnalytics

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 9: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels
Page 10: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

OracleAnalyticsCloud

www.dimensionality.ch @Nephentur #obihackers |freenode

…abitmoretomorrow,Tuesday16th – 1415 – Room10

Page 11: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

#Failcategories• The3RPDlayers• System,DevOps andsecurity• Multidimensional• Front-end• Analyses+dashboard• Goingjusttoofar

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 12: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

#Failcategories• The3RPDlayers• System,DevOps andsecurity• Multidimensional• Front-end• Analyses+dashboard• Goingjusttoofar

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 13: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

PhysicallayerIncorrecthandlingofdatatypes

Example?INTvs.DOUBLEWhy?• “InoursourcewestoreitasINT.”• ProperdatatypehandlingunderestimatedortotallyignoredResult? • (−)2’147’483’648/-1• You’reingoodcompany.Hello,YouTube!

RandomlysettingdatabasefeaturesWhy?“Becauseyoureaditonablog/forum“Result?• GeneratedSQLchangessometimesdrastically• Painfultroubleshooting

Page 14: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Physicallayer#2Datatypeconversiononcolumnsusedforjoinspecificationsinthephysicallayermodel

Why? • Existingdatamodelsareeithernotproperlybuiltandcleanorwerenevermeanttobeusedtogetherforanalyticalpurposes• Databasedeveloperscan’tbebotheredtochangetheirtablecreationscripts• “Bestpractices”ofhowtocreatetablesareorganizationalrulesResult? Bye-byeoptimization,hellofulltablescans

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 15: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Physicallayer#3UsingODBCinsteadofnativedrivers(likeOCI)

Why?• Toomuchhassletoinstallrequireddrivers• CorporateITsecuritydoesnotallowpost-setupchangestoinstalledOS/softwareor“their”serversResult? • Allnativecommunicationdisabled(optimization,functionshippingetc.)• Hugeperformanceimpactpotential

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 16: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

BusinessModelandMappingLayerUnwittinglyreturningwrongcalculationresultsduetoignoranceoftheimpactofpre-aggregation/post-aggregation

Background?• Derivedlogicalcolumnsexecutepostaggregation• PhysicalmappingcalculationsexecutepreaggregationWhy? OneofthemostoftenmisunderstoodfactsabouttheBMMlayerResult? “Wrong”resultsdependingoninterpretation

Page 17: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

BMM#2Creatingmulti-factmodelswithnon-conformeddimensionalitywithoutproperlyconfiguringLTScontentandlevels

Why? • THEmostmisunderstoodfactsabouttheBMMlayer!• Non-conformeddimensionalmodelingspecificallyandLTScontentlevelsingeneralResult? • Missingresultsfromcross-starqueries• Analysessimplywon’trun• Wrongresultswhenqueriesimplicitlyhitwrongfacts

Are those cakes?No, Content

Levels!

Page 18: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

BMM#2Non-conformeddimensionality/LTScontentlevels

Page 19: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

BMM#3ENABLE_DIMENSIONALITYvariableisNOTyoursavior• Introducedin11.1.1.9duetosharedcodebasewithBICS• Forcesallnon-conformeddimensionsto“GrandTotal”• BICS,DV,DVDandVAalwaystreatENABLE_DIMENSIONALITY=true• FullOBIEEstillhasmoreoptionsandpossibilities

-------------------- SQLRequest,logicalrequesthash:c849d2caSETVARIABLEQUERY_SRC_CD='VisualAnalyzer',SAW_SRC_PATH='{"viewID":"view!3","currentCanvas":"canvas!1","path":"/shared/00.VAProjects/Datasources Examples/OBIEE-SalesAnalysis"}',PREFERRED_CURRENCY='USD',ENABLE_DIMENSIONALITY=1;SELECT0s_0,XSA('prodney'.'OBIEE- SampleSales')."Columns"."Brand"s_1,XSA('prodney'.'OBIEE- SampleSales')."Columns"."Year"s_2,CAST(NULLASDOUBLE)s_3,CAST(NULLASDOUBLE)s_4,REPORT_AGGREGATE(XSA('prodney'.'OBIEE- SampleSales')."Columns"."Revenue"BY)s_5,REPORT_SUM(CASEWHENXSA('prodney'.'OBIEE- SampleSales')."Columns"."Revenue"<0THEN

XSA('prodney'.'OBIEE- SampleSales')."Columns"."Revenue"ELSE0ENDBYXSA('prodney'.'OBIEE- SampleSales')."Columns"."Year")s_6,REPORT_SUM(CASEWHENXSA('prodney'.'OBIEE- SampleSales')."Columns"."Revenue">0THEN

XSA('prodney'.'OBIEE- SampleSales')."Columns"."Revenue"ELSE0ENDBYXSA('prodney'.'OBIEE- SampleSales')."Columns"."Year")s_7,XSA('prodney'.'OBIEE- SampleSales')."Columns"."Revenue"s_8

FROMXSA('prodney'.'OBIEE- SampleSales')FETCHFIRST5000001ROWSONLY

Page 20: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

BMM#4Notcreatingdimensionalhierarchiesforanyofyourdimensions“becausetheRPDacceptsitanditeliminatesthehassleofmodelingcontentproperly“

Why? • Somedevelopersdon’tseethepointofcontentlevels• “Wedidn’tneedthatinOtherReportDrawingTool42.”• GettingthemrightcanbeabigconfigurationeffortforcomplexmodelsResult? • BasicallyitmeansturningoffoneofthetwocorefunctionalitiesoftheRPD:dimensionalhierarchies.(TheotheroneisLTSs)• Nolevel-basedmeasurecalculationslike“RegionalSalesTotal”either

Page 21: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

BMM#5Notmodelingtimedimensionsaspropertimedimensions

Why? Toomucheffortandneedscorrectlyconfigured(orETL’d)chronologicalkeysResult? Bye-byetimeseriescalculations

Usingnon-unique(time)levelkeyswhichwillimplicitlyrollupdataExample?Using “January”ratherthan“January2015”Why? Expectationthat“timeworksautomatically”Result? Dataaggregatedacrossallmembersofdifferenttimehierarchybranches

Page 22: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

BMM#6Creatingfact-to-factjoinsinsteadofconformeddimensionalityordimension-to-dimensionjoinstorepresentsnowflakesinthelogicalmodelWorstcase:Supportwith“1=1”joinspeconthephysicallayer“tomakethingswork”

Why? • Seeabove• PeoplemisinterpretJeffMcQuigg’s presentationafterfindingitonGoogleResult? • Cartesianproductsbuiltoverresultsets• Completelyinefficientquerysenttothedatasource• Allbenefitsofcross-factanalysisoverconformeddimensionalitiesareeliminated

Page 23: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

PresentationLayerUNIONs,UNIONs,UNIONsallovertheplace…evenforsingleSubjectAreaanalyses

Why?• “Really?WecandothisintheRPD?”• Typical“Weusedreportingtool XYZbeforeandthereitwentlikethis.”

Result?WHYdidyoubuythisnewtoolagain?

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 24: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

PresentationLayerRenaminghappensonlyinthepresentationlayer.

KeepingalotoftechnicalUPPER_CASE_NAMESandSURROGATE_KEYSunlesssomeonecomplainsandthenonlychangeinthepresentationlayerratherthanthebusinesslayer

Why? Techiedevelopersdon’tnecessarilythinkaboutbusinesslanguageandenduserneedsResult? • AllnamesmustbechangedNtimesforNpresentationlayerrepresentationsofeachobjectineachSubjectAreaetc.• Life-cyclemanagementandmaintenanceofcatalogobjectsbecomesanightmare

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 25: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

PresentationLayer– Aliashandling• Changesneverproperlypropagatedtoandreflectedinthepresentationcatalogue

– CatalogManagerwithcommandlineinterfaceunderused• Tensofaliasesforeachpresentationlayerobject

withmostofthembeingreferencedNtimesinthepresentationcatalogue

• Worstcase:Presentationlayerobjectnamesgetreassignedandexistingpresentationcatalogueobjectseffectivelyreferencedifferentcolumnsthanoriginallyintended

Page 26: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Aliashandling#2Why? • Impactisunderestimated–“It’sjustanaliassowhat?”• DifferentdevelopersforRPDandpresentationcatalogueResult?• XMLpointstobothaliasesandactualnames• Nameconflicts&invalidateXMLreferences• Presentationcatalogueobjectskeepworkingimplicitlyuntilsomeonetouchesthealiases

• Lineagesolutionsnevertakealiasesintoaccount• Impactanalysisbecomesdifficult/meaningless

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 27: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Aliashandling#312cversionsmitigatethissomewhat

www.dimensionality.ch @Nephentur #obihackers |freenode

Renamingcanstillbe(re-)enabledintheAdminToolthough

Page 28: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

#Failcategories• The3RPDlayers• System,DevOps andsecurity• Multidimensional• Front-end• Analyses+dashboard• Goingjusttoofar

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 29: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

System,DevOps andSecurityNotturningonUsageTracking

Why?• TablesusednottothelikingofcorporateDBAsandtheirown“bestpractices”• “Whatfor?”• LegalconstraintsincertaincountriesResult? NoUTstatistics,noSummaryAdvisorandgenerallynowayofknowingwhat’shappeningwithoutlogfileanalysis:

• Monitoringperformance,systemusage,bottlenecksandpeaks• Usagepatternsandgeneralusage(ornon-usage!)ofthecatalogobjects• Impactanalysisforupgradeplanning• etc.

Page 30: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

System,DevOpsandSecurity#2Notsimplyleveraging usingtheSampleApp UsageTrackingsolution

Why? • “Wecanbuilditbetter”.• Manypeoplestilldon’tknowSampleApp andthecontentitoffers.Result? • Re-inventingthewheelistheultimatewasteoftime.• Home-brewsolutionhardlyeverascompleteorintegrated.• Additionaly, SampleApp contains tons of additional lifecycle and administraton content pre-built and for free

TurningoncachingforperformanceWhy? It’saquickfixandaneasysmokescreentohideactualissuesintheDB.Result? • Withoutpropercachepurgingandseedingstrategystaledataisassured.• TheACTUALproblemforperformanceisneveraddressedandwillpersist!

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 31: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

System,DevOpsandSecurity#3Turningoffloggingforperformancereasons

Why?Manyofblogs,articlesand“performancechecklists”repeatthisblindlyResult?• D’uh;justneveraskmetodiagnoseanythingifyoudothat• AntonyHeljula completelydispelledthismythwithaverydetailedanalysisandpresentationsoyoudon’thavetodoit!

TryingtosolvesourceperformanceissuesinOracleBIinsteadofend-to-endWhy? • DBteam:“Webuiltthedatamarts andthey’refine.• ETLteam:“OracleBImustbeabletodothisasourOtherProduct doesit.”• Generally:ThinkingthatOBIphysicallytransformsandstoresdataResult?Againtheactualsourceofperformanceissuesisn’ttackled

Page 32: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

System,DevOpsandSecurity#4UsingOBItosolvedataqualityissues

Example? CAST,CASEWHEN,FILTERassmokescreensintheRPDoranalysesWhy? Asaboveplus:OBImakesdataqualityissuesvisibleandisheldresponsibleResult?• Performancedegradation• Dataqualityissuesarehiddenratherthansolved• Additionalerrorswhensourcedatachanges• Disappearingdatawhennewsourcedataoutsidethehardcodedcases• ELSEstatementbecomestheonlypossiblesavior(“Invalidconversion”)

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 33: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

System,DevOpsandSecurity#5StoringallusersandgroupsintheWLS-embeddedLDAP

Why?Itexistsandthere’snoneedtointegrateResult?• Nointegrationwithcorporatesecurity• Deploymentbecomesevenmore“interesting”• Nopropermechanismforpasswordexpiration,checkandmanagement

Notusingsourcecontrolforallyourartifacts(RPD,catalog,customfiles)Why?Admineffortperceivedaswasteoftime/non-productiveResult?• Deploymentpainswhenchasingfilesandconfigurations• Evertriedtogobacktoacertainstateofanenvironment?• Hat-tiptoRobinMoffat:SourceControlandConcurrentDevelopmentforOBIEE

Page 34: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

System,DevOpsandSecurity#6Manualsecuritymanagementonuserbasisratherthanapplicationroles

Why?GroupstorolesplusinheritancemorecomplicatedtodesignResult?Muchmoreadmineffort;tradingbrainpowerforlabour

CheatyourwayaroundimproperLDAPstructuresviaWLSsecurityrealmqueries

Why?InternalITsecuritydepartmentsandexistingsecuritystandards/setupsResult?Loginslowsdown

(((&(uid=%u)(objectclass=person))(&(|(uid=user0001)(uid=user0002)(uid=user0003)(uid=user0004)(uid=user0005)(uid=user0006)…(uid=user1000)))

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 35: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

#Failcategories• The3RPDlayers• System,DevOps andsecurity• Multidimensional• Front-end• Analyses+dashboard• Goingjusttoofar

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 36: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Multidimensional/CuuuubesWhy?• Multidimensionalsourcesarethoughttobehave

exactlylikeallothers• “We’realreadydoingBIwithcubessowhyshould

therebeanyissue?”• Pullin“everythingHyperionbecauseit’sanother

analyticalOracleproductanditmustwork”– Guesswhat?ManyHyperionproductsaren’tanalyticalinnature…

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 37: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Multidimensional#2Result?• HugeperformanceimpactsuptotakingdownHyperionservers• Irresponsiveandunusablefront-end• Cubesaren’tnecessarilysuitedfordynamicanalyticalaccess:

– Sparsecubes– ExtremelyspecificstoredmemberswhichrequireNobligatorydimensions+level+member references

ineachquery– Dynamiccalculations

• AnalysesmustbebuiltlikereportswithNfixedaxisplusfixedmemberselectiononlevels

• LossofhabitualdynamicnavigationpossibilitiesofOBI

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 38: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Multidimensional#3• Measurehierarchyvsflattenedmeasures

www.dimensionality.ch @Nephentur #obihackers |freenode

Measurecolumns

NOmeasurehierarchy!

DimDim Dim Fact

Fact

Page 39: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Multidimensional#4• Directlyaccessingcubespurpose-builtfor

Hyperionapplicationsforanalyticalanalyses(pivot,drill,slice/dice,memberselection)…

• Accessinghugelysparsecubes(Essbase orMSAS)withmassiveamountsofextremelycomplexdynamiccalculationsforanalyticalanalyses

• ExpectingthatOBIEEisaperfectlynativeMDXgeneratortosmoothoutEPM/reportingoutlinebuilds

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 40: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

#Failcategories• The3RPDlayers• System,DevOps andsecurity• Multidimensional• Front-end• Analyses+dashboard• Goingjusttoofar

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 41: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Front-endusageUsingOBIasanExcelexportingtool

Why?• EveryonehasExcel• DataontheirExcelsheetsmakesusersfeelsecure•“BIsystemsnevergiveyouenough.”•“Imustabletochangethedata.”Result?• DatapushedDB->OBIS->OBIPS->Browser->Excel• Datamultipliedinstaticformandopentochangeforeveryone

Multi-millionrowsettingsandhundredsofcolumnsininstanceconfig.xmlWhy?SeeaboveResult?TakingdownwholeOBIfarmswhengenerating5mrow,200columnPDFsbasedonananalysiswithalternatingrowhighlightingandconditionalicons.

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 42: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

Front-endusage#2UseOBIasadataentrytool(insteadofAPEXetal)

Why?• “OBIisawebapplicationandmustsupportthis”.• “ButOracleprovideswrite-backfunctionality!Nowmakeitworkwithfieldvalidationandpick-lists.”• “Wedon’twanttobuyanothertool.”• “Wedon’twanttouseanothertool.”Result?

Page 43: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

Front-endusage#3Prettymuchrandomsettingofpresentationcatalogaccesspermissions

Why?• “Wewillonlyshowpeoplehowtousedashboards.”• “OurITguyshavesetthisup;andanywaysmostofourdataisvisibletoanybody.”Result?•AnybodywitheitheraccesstothecataloginterfaceorabasicknowledgeofURLscanaccessanythinghewants•Sameholdstrueforalluserpopulationswithdashboardcreationrights;publicorinpersonalfolder•“Funny”situationswhereBIConsumers caneliminateBIAdministrators fromaccesspermissions

Page 44: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

#Failcategories• The3RPDlayers• System,DevOps andsecurity• Multidimensional• Front-end• Analyses+dashboard• Goingjusttoofar

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 45: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

AnalysesanddashboardsLeaving50columnsinthe"Excluded"sectionofanalyses

Why? Uncleandevelopment,“wemaystillneedthis”attitudeResult?• AllcolumnsretrievedfromtheDBeverytime• “Exclude” meanstheviewsandvisualizations– notthequery

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 46: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Analysesanddashboards#2Settingallanalysesto"IncludeNullValues"=TRUEbydefault

Why? • “Wemightmisssomethingotherwise.”• Smoothoverdataqualityand/ormodellingissuesResult?Asusual:performance.

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 47: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

Analysesanddashboards#3Complexpost-calculationsandanalysisbasedaggregationsonhugedatastreamshandedtotheOBIPresentationServer

Example?MillionsofrowshandedtotheOBIPStocreatea15rowtableviewWhy?• NoaccesstoRPD• Separatedteams/rolesfor“back-end”and“front-end”• Silomentalitiesandpoorcommunication• HesitationtochangetheRPDforfearofdamagingexistingsolutions• Out-of-synchdevelopmentcyclesResult?• Again:performance,maintenance• AlltheclevernessoftheOBIserver’ssyntaxandquerytuningiseliminated

Page 48: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

Analysesanddashboards#4• Clutterthedashboardswith30promptswithoutdefaults• Puttingalldashboardobjectsinseparatecondition-drivensections• Over-use(nested)viewselectors,columnselectorsoneverypage

– Pseudolibertyinsteadofthought-outcontenttellingaspecificstory– End-userconfusion“Whichofmyproblemsdoesthissolveagain?”

• ConstantlyreshufflingthepresentationcatalogfolderstructureandobjectswithoutproperlyadjustingtheXMLreferences

• Agentnotificationspam

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 49: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

#Failcategories• The3RPDlayers• System,DevOps andsecurity• Multidimensional• Front-end• Analyses+dashboard• Goingjusttoofar

www.dimensionality.ch @Nephentur #obihackers |freenode

Page 50: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode

Goingjusttoofar• GivingDirectDatabase

Requestcapabilitytousersandprovidingthemwiththeconnectionpoolnames

• Showingandgivinguserstheaccessto&IssueRawSQL• Usinghackstointeractwith

thedesktopPCfromabrowser• UsingJShackstomakeOBIEE

reactlikeanERP/dataentrysystem(masks,requiredfields,fielddependenciesandvalidations)

Page 51: Doing Oracle Analytics THIS Way? STOP IT · 2019. 10. 21. · BMM #2 Creating multi-fact models with non-conformed dimensionality without properly configuring LTS content and levels

www.dimensionality.ch @Nephentur #obihackers |freenode