DronaBlog

Tuesday, April 27, 2021

How to define chargeback model for snowflake ?

 Are you planning to implement snowflake and interested in knowing about how to plan your snowflake expenses ? Are you also would like to know what are the expenses occurs for snowflake implementation? If so,then you reached right place. In this article we will see what is snowflake chargeback model, what are the snowflake components where expenses occurs and how to plan those.so Let's start 





What is snowflake chargeback model?

snowflake operates with a flexible pay-as-you-go model. For traditional data solution we have initial fixed cost and later adds with service and maintains cost . Here snowflake gives flexibility to increase or decrease the cost based on usage. what we have to do is , just create an account and start using it . However , if we do not plan properly the snowflake bill will go high.

Factors to consider about pay 

a) How to Pay : We  have to decide in advance about paying snowflake credits. We need to decide whether each project will pay for usage or enterprise level payment.

b) Snowflake discount : Snowflake provides discount on the volume of purchased credit so consider making consolidated purchase.





Snowflake component with expenses?

Here is list of Snowflake components which produces expenses -

1. Warehouse

2. Snowflake

3. Materialized views

4. Cloud services

5. Data transfers

6. Storage

How to reduce snowflake expenses?

a) Very first thing to consider for reducing snowflake expenses is minimize the usage across enterprise i.e use only much you need

b) Plan for all potential expenses from each of the snowflake components

c) Track snowflake expenses to determine how much consumption has occurred & how to charge it.

d) Create naming convention for database objects which will help to identify owner and associate budget .

e) Maintain the snowflake expenses tracking

Learn more about snowflake here -




Friday, April 9, 2021

How to fix ORA-00604-Error occurred at recursive SQL level 1

 Are you working on a project where the oracle database is being used for implementation? Are you also facing an ORA-00604 and looking for fixing this error? If so, then you reached the right place. In this article, we are going to see how to fix ORA-00604-Error that occurred at recursive SQL level 1.





What is ORA-00604?

The error message ORA-00604-Error occurred at recursive SQL level 1 is commonly noticed in the application logs or identified by oracle user. This error message is a little complex and has its own challenges to fix. Let's understand what is the root cause of it.

The root cause of ORA-00604 

There are several causes of this error, however, the main cause is processing a recursive SQL statement. you might have a question what is the recursive statement? A recursive statement SQL statement that is applied to internal dictionary tables.

Example of ORA-00604

Assume that you are using Oracle 11g or 12c and you are getting 'ORA -00604-Error occurred at recursive SQL level 1' where table or view does not exist one of the causes for this is a trigger. The trigger might be 

1) to insert records into an audit log table or

2) to fire DDL statements or

3) to drop the audit log table Let's see possible option to fix this error





 How to fix ORA-00604 - 

Option 1:- Analyze and fix trigger error in order to determine if the error is related to DB trigger, execute statement below-

ALTER SYSTEM SET "_system_trig_enabled"=FALSE; 

Find the trigger which causes the issue & disables it.

Option 2:- syntax error in the SQL generated in the application. If an ORA error caused because of an error or bug in the  SQL code then reach out to developers of the code & fix it.

Option 3:- Oracle support If the error still persists then reach out to the oracle support team.


Learn more about oracle in detail here -












Sunday, March 21, 2021

Understanding Timeline in Informatica MDM

Timeline is one of the useful features in Informatica Master Data Management. It enables us to manage various versions of the business records. The timeline is totally different from the history of the records updates and inserts. In this article, we will focus on Timeline granularity and Timeline actions features. So let's dive in.


Timeline Granularity

In Informatica MDM, We use time measurement such as years, months, days, etc to define effective periods for versions of records. This time measurement is nothing but timeline granularity. We can define timeline granularity as a year, month, day, hour, minute, or seconds.




Timeline Action

The timeline action is nothing but an action to perform for entities for which you track data change events. We can perform add, edit actions on a record and edit effective period. 

a. Timeline action = 1 --> This value is set if we update the data
b. Timeline action = 2 --> This value is set if we update Effective Period
c. Timeline action = 4 --> This value is set if we Add Effective Period

Versioning Sequence :

The stage table column VERSION_SEQ  is set to 1 by default and gets changed based on the new update.


Learn more interesting facts about Informatica MDM Timeline



Monday, February 15, 2021

What are the different phases of Informatica MDM Implemantion


Are you planning to implement the Informatica Master Data Management project? Are you looking for what are the details you need to capture? If so, then you reached the right place. In this article, we will understand what are the phases of Informatica MDM implementation. We will also see what will be the outcome of each phase.


Introduction:

There are 5 phases in Informatica Master Data Management implementation.




1. Discovery Phase
2. Design Phase
3. Development Phase
4. Testing Phase
5. Deployment Phase



Let's understand each of these phases one by one.


A. Discovery Phase:

We need to perform the activities below as part of the discovery phase -
  • Perform data profiling
  • Conduct interviews and workshops 
  • Document solution requirements 
  • Define conceptual architecture 
  • Define the logical data model 

What will be output?
The output of this phase will be 1. Functional Requirements Specification 2. Testing Plan


B. Design Phase:

We need to perform the activities below as part of the Design phase -
  • Define detailed business rules 
  • Develop system design specifications for all technology components 
  • Develop Traceability Matrix 
  • Establish DEV Environment 

What will be output?
The output of this phase will be 1. System Design Specification 2. Traceability Matrix

C. Development  Phase:

We need to perform the activities below as part of the Development phase -
  • Configure and develop MDM components
  • Perform unit testing
  • Develop Test Scripts 
  • Develop Test Schedule 
  • Update Traceability Matrix 
  • Establish QA and PROD Environment 

What will be output?
The output of this phase will be 1. Configured and developed MDM components 2. Test Scripts 3. Traceability Matrix





D. Testing Phase:

We need to perform the activities below as part of the Testing phase -
  • Execute System Testing 
  • Execute Rules Testing 
  • Execute Integration Testing 
  • Execute User Acceptance Testing 
  • Develop Test Summary Report 

What will be output?
The output of this phase will be 1. Tested, production-ready MDM solution 2. Test Script Results 3. Test Summary Report 

E. Deployment Phase:

We need to perform the activities below as part of the Deployment phase -
Deploy the Solution into the Production Environment 
Execute the initial IDL Initiate 
Gray Area Reconciliation 

What will be output?
The output of this phase will be  1. Deployed solution Initial data loaded and ready for reconciliation





You can learn more about Informatica Master Data Management here -



Thursday, January 21, 2021

Informatica MDM Installation Checklist


 Are you looking for an article about how to prepare a checklist for Informatica MDM Installation? You might have gone through the Informatica MDM Installation guide and must be facing issues from where to start. The best way to start is nothing preparing checklist. In this article, we will see what are the main topics to consider for check and we will also see a sample checklist file.





Introduction

After going through more than 100 pages in the Installation guide, I realized that we need to prepare a checklist for each component of Informatica MDM. Informatica MDM comes with Hub Server, Process Server, Informatica Data Director Configuration Manager, Provisioning Tool, Business Process Management i.e. Active VOS, Elastic Search, Application Server (such as Jboss, WebSphere, Weblogic), Database (such as SQL Server, DB2, Oracle). Each of these components has a separate set of instructions. Sometimes we get lost or overwhelmed with all these instructions. So take a long breath and start documenting the main section as like mentioned in our next section

Components to consider for installation

The number of components that are needed for installation is based on the business needs. However, there few components are commonly required irrespective of business need e.g. Process Server, Hub Server. So first document all possible components which you are planning to install. Here is a sample list of components. 


Informatica MDM Installation checklist

The checklist contains details about each of the components which are captured in the previous section. e.g. Create the MDM Hub Master Database section will have details about database name, server name, port, and credentials. You can access the complete checklist here.


For reference, the checklist will look like as below





If you are looking for more details about Informatica MDM then here is a video for Informatica MDM.







Tuesday, January 19, 2021

Join Conditions in Snowflake

 Are you looking for an article about the type of Join conditions in Snowflake? Are you also would like to understand these different types of join conditions in detail? If so, then you reached the right place. In this article, we will understand various join conditions used in Snowflake.





Introduction:

As like DBMS, Snowflake supports various types of join conditions. Join condition allow us to combine data from two or more tables. In Snowflake, there is no association between the tables using the primary key and foreign keys but we can still use the join condition.


Type of Join in Snowflake:

  • Inner Join
  • Outer Join
    • Left Outer Join
    • Right Outer Join
    • Full Outer Join
Let's understand each Type of Join with help of the Venn diagram

Understanding Syntax for Join Condition

Using the join condition in the SELECT statement is command practice. After writing the SELECT statement in the FROM clause we need to provide a table name then followed by the JOIN keyword. We also need to provide details on which column we need to perform join by using an ON clause. Here is the syntax for the join condition in Snowflake.




A. Inner Join

The Inner join in Snowflake is used to return rows from both tables which satisfy the condition. 

Example:
SELECT CUST.CUST_NBR
, CUST.FIRST_NAME
, CUST.LAST_NAME
, ADDR.AD_LINE_1
, ADDR.COUNTRY
FROM CUSTOMER CUST
INNER JOIN ADDRESS ADDR
ON CUST.CUST_NBR = ADDR.CUST_NBR.

The above query returns the elements which common between the CUSTOMER and ADDRESS tables.


B. Outer Join

If two tables do not contain all the records then we use an OUTER JOIN. Each table contains records even if the other table does not contain any corresponding record. The outer Join is subcategorized as 
  1. Left Outer Join
  2. Right Outer Join
  3. Full Outer Join
Let's understand these Outer join one by one.

1. Left Outer Join

The LEFT JOIN in Snowflake returns all the rows from the table on the left side of the equation even if there are no matching rows in the table on the right side of the equation.



Syntax

SELECT CUST.CUST_NBR
, CUST.FIRST_NAME
, CUST.LAST_NAME
, ADDR.AD_LINE_1
, ADDR.COUNTRY
FROM CUSTOMER CUST
LEFT OUTER JOIN ADDRESS ADDR
ON CUST.CUST_NBR = ADDR.CUST_NBR.





2. Right Outer Join


The RIGHT JOIN in Snowflake returns all the rows from the table on the right side of the equation even if there are no matching rows in the table on the left side of the equation
.
Syntax
SELECT CUST.CUST_NBR
, CUST.FIRST_NAME
, CUST.LAST_NAME
, ADDR.AD_LINE_1
, ADDR.COUNTRY
FROM CUSTOMER CUST
RIGHT OUTER JOIN ADDRESS ADDR
ON CUST.CUST_NBR = ADDR.CUST_NBR.

3. Full Outer Join

The FULL OUTER JOIN in Snowflake returns all the rows from both tables irrespective of condition match.
Syntax
SELECT CUST.CUST_NBR
, CUST.FIRST_NAME
, CUST.LAST_NAME
, ADDR.AD_LINE_1
, ADDR.COUNTRY
FROM CUSTOMER CUST
FULL OUTER JOIN ADDRESS ADDR
ON CUST.CUST_NBR = ADDR.CUST_NBR.


















Learn more about Snowflake here

Saturday, December 26, 2020

How to create Orchestration Project in Informatica Active VOS Designer?

 Are you looking for the details about how to create Orchestration Project in Informatica Active VOS Designer? If so, then you reached the right place. In this article, we will see how to create our first Orchestration project. We will also discuss various types of Orchestration project we can create using Designer.





Step 1: Go to Active VOS Designer tool and then select File > New > Orchestration Project, and click Next.

 



 

Step 2: A new dialog box will open. Provide a name to the project and then click on ‘Next’ button.



 

Step 3: New Orchestration Project template will be shown on the screen and it includes

Default Orchestration, Java Enabled Orchestration, Tutorial, Tutorial Completed, Human Approval, Human Approval Completed, On Event Adjust Threshold, User Reports and Custom Function and XQuery

Select Default Orchestration and Click on ‘Finish’ Button



 





Step 4: The project will be displayed in the Project Explorer view in the Designer tool



 

Step 5: Expand the project by clicking an arrow on the left side of the Project Name. We will see multiple folders under the project and those are Service References, BPEL, deploy, form, sample-data, schema, test, WSDL, XQuery, XSL. All these folders will be empty. Each of these folders has a specific purpose. Project-specific files are stored in each of these relevant folders.








Learn more about Active VOS here -





 

 

Understanding Survivorship in Informatica IDMC - Customer 360 SaaS

  In Informatica IDMC - Customer 360 SaaS, survivorship is a critical concept that determines which data from multiple sources should be ret...