Why I created a blog

Its been many years since I first created this blog. It has remained true to Essbase and related information over those years. Hopefully it has answered questions and given you insight over those years. I will continue to provide my observations and comments on the ever changing world of EPM. Don't be surprised if the scope of the blog changes and brings in other Hyperion topics.


Friday, March 17, 2017

Essbase Cloud Service - Is it here or isn't it?



For over a year now, I’ve been beta testing Essbase Cloud service and it has gone through a lot of change in that time. When I first looked at it, it was to be a SaaS offering like PBCS. That changed multiple times to become PaaS.  At Oracle Open World, when I did a session with Gabby Rubin, things started to change even more. We were talking about the integration of Data Visualization and Essbase. So now we don’t have EssCS but finally the release of OAC or Oracle Analytics Cloud (notice no service at the end). Will the Essbase part be called EssCS or just Essbase in OAC? Only time and Oracle will tell.

View my Play it forward video “What is OAC?” at Play it forward videos http://bit.ly/WhatIsOAC.

OAC is a suite of products built to work together.  I think this is the direction Oracle is going. Rather than release individual products for the Cloud, release suites and let the user decide what to enable and use.

What does OAC have in it? Well my beloved Essbase, Data Visualization, BICS, and a couple of other products.

As I said, this is a PaaS offering. This means a lot of things. For the User Admin:

1.       Responsibility for determining what patches to apply and when. No forced patches like PBCS.

2.       The need to set up backups (again no forced down time)

3.       Responsibility to schedule operating system patches

 

A set of users will have access to the server (designated by the client). If really large files or special files need to be put on the server, FTP is available.

 

As I write this, it is pre-GA (by the time you read it, the product will be GA) so I don’t have the final pricing. I do know it will be priced by OCPU (Oracle CPU). Each OCPU is accompanied by a corresponding number of OCPUs you want and for how long. What is nice is this makes the environment elastic. You can get 4 OCPUs for everyday work, but at quarter end, bump it to 8 for 2 weeks because of extra processing. Then at the end, bring it back down. There are different rates based on hourly usage or monthly usage you can choose. From what I understand, again subject to change, there will be two setups. A Standard environment and an Enterprise environment. The difference is additional functionality in the Enterprise version for (wait for it)…an additional cost.  I’m not going to comment on what the features are as they have been changing frequently. When the price list is released, we will know more. 

So let’s talk about what OAC has to offer. I’m going to concentrate on Essbase since it is my first love and others are talking about the other products in the suite. This is Essbase 12c which means it is a fully functional hybrid model. No more work arounds for functions that turn the database into BSO mode or cross dimensional calculations. All of the cubes are Unicode enabled by default. Others are talking about features like unstructured data loads and tying it to DV so I won’t mention them here. For those of you who want to migrate your on-prem Essbase cubes to the Cloud, how is it done?

There is a new stand-alone version of LCM that can be downloaded and used to create a backup of the on-prem cube for upload. It is different from LCM in Shared Services, as it actually exports everything needed for an Essbase cube. There are a couple of gotchas in migration. All substitution variables now have to be application specific and configuration file settings are application specific as well. There is another new tool EssCLI (Essbase Call Level interface) similar to EPMAutomate for uploading the LCM extract, moving files around, running load rules and scripts, and downloading files back to on-prem.

Next, the way you build cubes is different. In this release, you will install a Cube Designer extension to Smart View in Excel.  You can export and import DBX files which are excel files with the settings of a cube and all of the dimension information. The dimensions can be built in either a parent-child or generation format. This is not the same interface that Planning and PBCS use. It is richer and has graphical components.  There is a web based UI as well where changes can be made.

Essbase now has sandboxing and Scenario management built in. While we have talked for years about how you can do “what Iffing” in Essbase, you can truly now do it as it is built into the product. What is nice about the sandboxes is they are lightweight, not in functionality, but in data storage.  The sandboxes hold overrides from the base scenario so little additional data is stored keeping cube sizes small. In on-prem, we had to copy data to new scenarios, replicating all of it, and it could be painful. What is also impressive is that you can run calculations against the sandboxes and it behaves as if all of the data is there. Access to sandboxes is controlled through the new scenario management feature. The owner of the sandbox decides who can participate in the sandbox either to collaborate or be an approver of the data. The data can be merged back into the base data in multiple ways.

I don’t want to set unrealistic expectations as everything is not rainbows and unicorns, as this is the first release. There are things that will not be there initially. First, with load rules, you will be able to edit them using JSON in a text editor, but the UI is not there yet.  Second, I hope you have a good understanding of calculation scripts and formula syntax. Currently the editor (in both the UI and Cube Designer) is nothing more than a text editor with a validation to say that the script is good. The bells and whistles are not there yet for autocomplete, inserting from a function list, and color coding. The ability to upload or run your MaxL scripts is in the EssCLI documentation but is not enabled yet. If you want to upload MaxL scripts, you will have to use FTP to get it on the server and log onto the server to execute it or schedule it through CRON. This is a Linux server so anything done in a batch script will have to be converted to shell scripting and in Linux, things are case sensitive. In testing, I was bitten multiple times in Cube Designer and EssCLI where I had the wrong case and got errors.

So, as usual, I have been honest and told you the good and what needs to be improved. So what is my take on Essbase in the Cloud - would I migrate to it?  I think there are specific use cases where I would immediately go to the Cloud:

1.       If I don’t have Essbase already and I want to don’t have resources for on-prem Essbase (IT, servers, or other)

2.       I want to allow my users to take the data dumps they have now and are turning into pivot tables, to upload them into Essbase and do almost immediate analysis on the (collaborate, shared source of data)

3.       I have on-prem Essbase with a few cubes. The data for these should be flat file based as this version does not support SQL loads (yet).

4.       I want to gain the ability to use DV and BICS to analyze my data more graphically.

I am excited for the future of OAC and expect really good things to be added after the initial release. I’ll be blogging on more specific items as they get enhanced and/or I’ve had more chance to work in the GA version. I’m hesitant to say anything now as we all know what is in a beta version is not always in the GA version, and sometimes things show up in GA that we never saw in testing

 

If you want to learn more about OAC, check out the blog hop participant posts below! What is a blog hop? A blog hop is a group of bloggers who all get together to blog on a particular topic. We share each others blog posts in an attempt to share a lot of great information in one place. Enjoy!
 




Friday, March 3, 2017

Three Little Words


Others and I answer a lot of questions on the Oracle Technical Network and other forums and there is a ubiquitous little phrase that sends chills down our spines when someone is asking a question. What could be so bad that it sends terror down our spines?  “Nothing has changed”. Well that was the start, but the chilling words? “Just one thing” Why do I start this post with this? 

I was at a client doing a technical review of their environment this week.  (Names, PAG files sizes, dimension hierarchies are all fake to protect the innocent) We were doing some performance testing and somewhat related to the testing, but in production, they were having an issue with a BSO cube.  Their process is to export the level zero data, Clear the cube, “Deploy” the cube, reload the data and aggregate the cube.  

During this process, the cube grew from ~60 gig to ~180 gig. Of course I asked the question, what changed? The initial response was “nothing…” then a few minutes later “well just one little thing.” What was that one little thing? They explained to me most of the data is loaded into one member in the hierarchy (let’s call it No_ZZZZ). They continued that No_ZZZZ was a level zero child of the dimension ZZZZ. So the hierarchy looked like:



“All we did was to move No_ZZZZ to be a sibling of F2”



From this we had a deep discussion about how blocks are created.  Let’s make an assumption that all other dimensions have only one member in them (wouldn’t that simple design be nice?). In the first example, if I aggregate and all of the data exists in No_ZZZZ I will create one new block - ZZZZZ

In the second case, 4 additional blocks are created – d1, aaaa, Total_zzzz and ZZZZ.  In my simple case, going from 2 blocks to 5 is huge. Imagine when you consider real dimensions where you are aggregating a large number of members in the other dimensions. It makes it very easy for a cube to grow tremendously with just a simple change.  

The moral of the story? Well there are two First you have to understand the impact of any change you make no matter how small it may seem. You need to test and not just assume the change is minimal. Second, if an issue occurs, it is typically because of some change somewhere. Before asking, research to try to figure out what might be causing the issue. It might be “Just one little thing”