Exercising Data Governance Best Practices – How to Stay the Course

Have you ever planned to wake up early in the morning to work out, but instead chose to lie in bed and catch up on some sleep? This can happen even after you have committed—mentally, at least—to a new workout regimen.

That’s because the hard part isn’t resolving to do something new; it’s adjusting your daily habits and generating enough momentum to carry the changes forward. This requires discipline and drive.

The same challenges apply to data governance initiatives. If you have ever been part of a data governance program that hesitated, backfired or stopped completely in its tracks, you know what I’m talking about. Companies are accruing ever-increasing amounts of data and want to be able to transform all that information into insights the same way you want to get in shape. The first step is data governance, but getting your organization to buy-in to a new program conceptually is the easy part. Taking action and sticking to it can be much more challenging.

Indeed, many organizations believe that simply implementing technology—like a Master Data Management system—will improve the health of their data. But if you simply buy workout equipment, do you get healthier? Tools will help streamline your organizational processes and complement information governance and information management, but building and maintaining a culture that treats data as an asset to your organization is the key to ongoing success.

Below are some key factors to building good habits to generate momentum once your data governance program is underway:

1. Impart a sense of urgency for the program.

For every organization with a plan to manage its data assets, there needs to be a sense of urgency to keep the plan in place. The reasons are unique from organization to organization, but they might be driven by compliance, customer satisfaction, sales, revenues, or M&A. Regardless of the reason, it needs to resonate with senior leadership and ideally be tied to the company’s strategic goals in order to be most effective.

2. Communicate, communicate, communicate.

The cornerstone to a successful data governance program is a well-organized (cross-departmental) communication plan. A solid plan helps remove the silos and maintain cross departmental support for the initiative. Seek your champions throughout the organization and meet with key stakeholders regularly to document their pain points. It is important to get people engaged early to keep the excitement going.

3. Operationalize change within the organization.

Your delivery will need to be agile in nature because the plan you put in place will naturally evolve. The goal is to learn what works within your organization early on to ensure you deliver value quickly and the process is sustainable moving forward. Complete tasks iteratively and agree upon a small set of high-value data attributes to aid in validating your data governance process. In addition, manage your data elements to ensure their best quality.

4. Make the plan as RACI as possible.

Actively listen to your supporters and put together a plan that encompasses a RACI (Responsible, Accountable, Consulted & Informed) model so that everyone on the team knows their role across the process. This plan will keep your team focused and guide your initiatives moving forward. You’ll raise your odds of success by forming a strong governance organizational structure with roles and responsibilities in place (for data ownership, stewardship and data champions), along with approvals that complement your existing change management process.

4. Measure, Communicate, Repeat.

Keep in mind that “you can’t manage what you don’t measure.” You’ll need to face the facts and communicate your findings. It’s wise to document and implement KPIs (Key Performance Indictors) so that you can measure the progress of your initiative over time. Linking the KPIs to revenue or sales loss, for example, can be a strong indicator to help drive change. As you learn more about your data, it’s important to communicate what’s meaningful to your stakeholders and continue to move forward.

Similar to continuing on a workout regimen, data governance demands a discipline that takes time and patience to fine tune. This requires changing years of undisciplined behaviors regarding data within your organization, and the change will not happen overnight. Changing these behaviors is an ongoing process that needs to resonate throughout an organization’s culture in order for success to occur.

In addition, it’s important to keep things fresh. When working out, you need to rotate though different core muscle groups and vary the routine to keep things interesting and progressive.  It’s the same with data governance initiatives. Don’t let people get bored with the same repetitive activities day in and day out. Try conducting data discovery sessions where team members present findings from an internal or external dataset that would be interesting to other team members. You can also share successes and learnings from past data related projects to drive discussion.  Another suggestion is to discuss future cross-departmental data projects (or “wish list” items) that can lead into great data roadmap discussions.  The objective is to keep everyone engaged and finding value in meetings so that the team continues to show up and make progress.

Remember that data governance is a journey that requires commitment and hard work. As with exercise, just working out for a month is a great start, but it’s with continued dedication that you really start to notice the change. If you want to take your organization to the next level, you need to develop the discipline toward information management that your organization requires for long-term sustainable success. For those with little experience in implementing or maintaining a data governance plan, experienced consultants can be of great value.

Strive Can Help With Your Data Governance Needs! 

Here at Strive Consulting, our subject matter experts’ team up with you to understand your core business needs, while taking a deeper dive into your organization’s growth strategy. Whether you’re interested in modern data integration or an overall data and analytics assessment, Strive Consulting is dedicated to being your partner, committed to success. Learn more about our Data & Analytics practice HERE.

Contact Us

Part II: How to Effectively Share Snowflake Data with Non-Snowflake Users

Have you ever been asked to share information with a client or customer, while having to support various cloud platforms? Can this be done efficiently, and most importantly, effectively? In our previous publication around how to effectively share data, Strive walked through a step by step guide in how to utilize the Snowflake Secure Data Share. But what if you’re not a Snowflake customer? Don’t worry… we’ve got you covered.

Did you know that within Snowflake, you can setup a data share with other Snowflake customers, as well as with non-Snowflake customers? If you are looking to create a share with other Snowflake customers, then you’re in luck! We’ll outline the simple steps it takes to not only share with Snowflake Customers, but also dive into solutions needed to span across non-Snowflake customers, and additionally across various cloud platforms.

First: Ground Rules and Limitations

Let’s discuss some ground rules and limitations while creating a share within Snowflake for non-Snowflake customers.

  1. When sharing a database or any other object, the share is read only. This means the consumers cannot update, delete, or create new objects in the share.
  2. Time travel and cloning are not supported on shared databases, nor any other schema/tables within the shared database.
  3. Re-sharing a share is not permitted by consumers for security reasons.

Let’s look at an example

Let’s say you were asked to share sales information to various internal and external data consumers with the following requirements:

  • Data needs to be secure to all target consumers, regardless of data or cloud platform.
  • Each consumer should only see the data to which they have access.
  • Data should be up-to-date and accurate.

Here is an excellent opportunity to leverage a Reader Account within Snowflake. What is a Reader Account? A Reader Account allows you, as a Data Provider, to share data with non-Snowflake consumers. It’s not entirely free lunch as, unlike a direct share where the consumers pay for the compute on the data share, Reader Accounts are owned by the Data Producer, and the Producer’s account pays for the compute used.

A common question asked is, “Do consumers who use the Reader Account have access to other objects that are not shared?” The answer is no. Think of a Reader Account as a sub account that only has permissions to objects that have been shared AND, as the name insinuates, Readers Accounts cannot make changes to any shared objects.

Now, lets setup a Reader Account:

Step 1: Create Reader Account

Results:

Note:

  • The reader account used in the command (reader_sales) is not the name you use to actually access the account. The account name is also known as a locator, and is generated by Snowflake during account creation (QR18951 in this example)
  • The reader account created will leverage the exact same Snowflake Edition as the provider has and is provisioned in the same region as the provider, as well.
  • There is an initial limit of 20 reader accounts that a given provider can create. If you need more than that, just simply reach out to Snowflake Support.

Step 2: Login and Setup

Login using the credentials that were setup for the Reader Account in the earlier step. If additional security is needed to set up within a share, Data Provider would be selected. You can also select Data Consumer in order to view personal shares.

Let’s now setup our users

In this example, this will consist of all our sales users.

Step 3: Setup Users

As an Account Admin, within your Reader Account, you can setup users that will have access to the shares and should then grant assigned roles as well. Keep in mind, the Reader Account has SYSADMIN, PUBLIC, and SECURITYADMIN, and any other roles can be created.

Step 4: Create Warehouse

In the command below, a new warehouse is being created called sales_reader_wh as an XSmall.

Step 5: Create a Database based on the Share

Now that we have users created, and our warehouse set up, we must create a database based on the share from the provider account. Let’s say the provider account that granted the share and Reader Account is j44789 and the share is called ‘sales_share’.

Step 6: Setup all Access Privilege

Once our database is created from the share, we should grant access needed for the different roles. You must make sure to do a couple of things to allow the data to be queried:

  • Grant usage on the data warehouse (sales_reader_wh)
  • Grant imported privileges on the database created based on the share.

Outside of this, privileges can be added or removed as needed.

See how quick and simple that was?

Snowflake allows us to simply create managed Reader Accounts. From there, login to the Reader Account, create users, warehouses, databases from shares, grant privileges, etc. With just a few command statements, a Reader Account can be accessed by the users and the Account Admin of the Reader Account can grant access as needed to certain roles. Additionally, it’s highly recommended to setup resource monitors in order to limit credits used on your account. The Account Admin can create monitors which can limit the number of credits used by Reader Accounts, or even suspend a warehouse once a percentage of credits is used.

Using Snowflake, this can all be done in a matter of minutes and allows ease of access to sales data for both internal and external vendors. Leveraging such a powerful tool, we can now setup data shares to both consumers and Reader Accounts, as well. Strive is proud to partner with Snowflake to help organizations unlock true business value and help businesses get, and share, the data they need.

Interested in sharing secure data with without Snowflake?

Strive Consulting is a business and technology consulting firm, and proud partner of Snowflake, having direct experience with Snowflake Data Share. Our team of experts can work hand-in-hand with you to determine if leveraging the Secure Data Share is right for your organization. Check out Strive’s additional Snowflake thought leadership here.

About Snowflake

Snowflake delivers the Data Cloud – a global network where thousands of organizations mobilize data with near-unlimited scale, concurrency, and performance. Inside the Data Cloud, organizations unite their siloed data, easily discover and securely share governed data, and execute diverse analytic workloads. Join the Data Cloud. Snowflake.com.

Part I: How to Effectively Share Data Using a Secure Data Share in Snowflake

Sharing is defined as “to use, occupy, or enjoy (something) jointly with another”. So, whether you’re a child sharing toys with a friend, or an organization looking into how to efficiently share secure data, effectively passing objects between others is a clear fact of life.

Organizations across the globe are in a constant battle to share data quickly. Since storage is cheap, one solution has always been to simply copy the data to anyone who needs it, thus creating data fragmentation throughout the organization – not to mention driving our security and compliance teams crazy. Snowflake offers a number of ways to directly share your data with others in a secure and governed manner by setting up a Secure Data Share.

The following steps will help walk you through how to leverage the Snowflake Secure Data Share for all of your private data-sharing needs, without building complex processes or copying any data. This feature is available on all Snowflake editions at no additional cost.

Step 1: Create an empty Share

For security purposes, you must be an Account Admin in order to create any share within Snowflake. Before setting up a Share it is important to ensure you are following internal security, compliance, and regulatory policies on the data you plan to Share.

Next, naming your share. Make sure to be consistent with any of your naming, an example could be using the suffix of “_s”. You can see the command create share which includes the name of our share called projects_s below.

Data Share name

Step 2: Add Objects to your Share by Granting Privileges

This Share will grant a real-time, read-only access into the data without any additional copying, so make sure to select the proper objects that you would like to share with your consumers. You are able to share an entire database, schema, or a specific object (such as a table or view).

As a best practice for any external shares, gather data into a single database and leverage secure view(s). Take into consideration that this may have some performance impacts, but as a result of creating these secure views, limits access to the consumers from viewing underlying tables and calculations (if this is a concern for you). When you are deciding whether to leverage a secure view of not, weigh the trade-off between data privacy/security and query performance. Now, add all of you objects to your share. Below are the commands to grant USAGE privilege to the database and schema you are going to share objects. Finally, you need to grant specific select privileges to the objects you would like to share.

Usage

usage

Note: You cannot grant anything other than select on shares.

Step 3: Add one or more accounts to your new Share

The final step is to add consumers to the Share. As a provider of data, you can add specific Snowflake accounts to the Share or setup Reader Accounts. If you are sharing with other Snowflake users, keep in mind that data isn’t being copied and consumers are NOT paying for storage, however they do pay for compute within their accounts. If setup for a Reader Account is needed, additional steeps may be required.

When adding accounts, it’s good to first show all the grants currently assigned to the share. This way you can check that proper object sharing is happening before adding any consumers. Lastly, execute the alter share command and included the Snowflake accounts you would like to share with. The line below will show us all grants on our existing Share and provide access to account XXXX and YYYYY.

Note: Snowflake does support sharing across cloud platforms and regions as well if you need to share across cloud platforms where your source account is located. This does require a replication DB to be setup, however before doing so please confirm our organization does not have any legal or regulatory restrictions as to where your data can be transferred or hosted.

If you no longer want to share data with an account, simply remove the account from the Share.

Wrapping Up

Providing a clear walk through on how to effectively set up a secure Data Share within Snowflake is just one example of how Strive acts as a bridge between our clients and our channel partners. We’re able to facilitate relationship building and technical/digital expertise, while keeping our clients and their customers at the heart of all business decisions.

The technical steps outlined above hopefully shed light on just how impactful a Snowflake Data Share can be to organizations and individuals alike in their data needs. Snowflakes’ first-class platform distributes data in a secure and fast fashion, without creating additional data fragmentation. If only getting children to share video game consoles could be this easy!

Interested in sharing secure data with Snowflake? Let’s Talk!

Strive Consulting is a business and technology consulting firm, and proud partner of Snowflake, having direct experience with Snowflake. Our team of experts can work hand-in-hand with you to determine if leveraging the Secure Data Share is right for your organization. Check out Strive’s additional Snowflake thought leadership here.

About Snowflake

Snowflake delivers the Data Cloud – a global network where thousands of organizations mobilize data with near-unlimited scale, concurrency, and performance. Inside the Data Cloud, organizations unite their siloed data, easily discover and securely share governed data, and execute diverse analytic workloads. Join the Data Cloud. Snowflake.com.

The Snowflake Data Marketplace: Easy and Innovative

Snowflake Data Marketplace, an easy and innovative way to share data! Have you heard about the latest disruptor within the Data Cloud Market space today? The Snowflake Data Marketplace is taking on legacy ways of managing and governing datasets by simplifying the process. Think of what the cloud did to on-premise computing – this is what the Data Marketplace is doing to data management. An exciting time to be a “Data Person”, right?

You may be asking yourself what does this mean for my specific data needs? Let’s break it down into three simple questions about your current data platform: Has (or will) your organization ever needed to consume 3rd party data? Think geographic, economic, or social data sets that can provide insights into your customers behavior. Does your organization struggle with data silos, which limit the availability of data throughout the organization? Is all of your data trusted, governed, and in a state where it can be easily accessible for reporting & analytics.

Has your organization ever considered monetizing or publishing its data assets for other organizations to consume? Most data-driven organizations view their data as one of their largest assets, so how can you leverage this asset to drive additional revenue streams?

If you answered yes to any of these questions, the Data Marketplace may be the solution you need to quickly identify and address your business challenges.

Enter Snowflake.

Within the Snowflake Data Marketplace, consumers can select data they are looking to integrate into their own ‘Snowflake Clusters’ by category (ex. Business, Finance, Government, Health etc.). Once an organization identifies said category, the latest source data is automatically accessible with a click of a button. This helps you focus on developing insights and improving your time to market, without having to clean, extract, or transform the data. Since the data sits in a Snowflake account, an organization can easily join with internal data sets to drive seamless business insights without taking on additional storage costs, saving organizations money and ensuring access to the most up-to-date information.

With the newly added capabilities of the Snowflake Data Marketplace, current and future Snowflake customers can create and host their own data exchange. This allows consumers to break down data silos and share data in a highly governed and secure environment within, or even outside of, their organization.

Let’s look at an example.

A recent client case study surrounding the Covid-19 pandemic highlights how the Snowflake Data Marketplace alleviates headache and unnecessary measures. Our client was leveraging traditional ways of integrating various data sets to gather insights into how the pandemic was impacting their business. This required data be put through a series of cleansing steps, complex transformations, and integration processes before beginning the development of dashboards. In many cases, the data was outdated, causing departments to “short cut” processes and produce silos of fragmented data.

Sound familiar? This integration exercise tends to require many analysts and engineers working together to compile, analyze, and transform data sets into a format that can be used and trusted for their analytic needs. This coordination and labor take time and resources that many organizations, our client included, just don’t have. With the Snowflake Data Marketplace, organizations can leverage data sources like Starschema, a Covid-19 data set that curates and prepares analytics within any Snowflake account in a matter of seconds. Companies may also find a need to leverage additional datasets in analysis, such as weather data, which is easily accessed from WeatherSource on the Data Marketplace. This game changer enables organizations to focus on what truly matters to their business, without getting stuck in the weeds.

What makes the Snowflake Data Marketplace a revolutionary platform?

It’s virtual and frictionless, therefore there is no need to copy or replicate existing data. The cost of trying to maintain, store, and use data in a fragmented environment is extremely high in comparison to data that is stored, shared, and retrieved from the Data Marketplace. Customers allocate data for sharing and grant permissions according to an individual need. Recipients can then process against data in place without ever gaining physical custody. This means data is always up to date, has zero latency, and augmentations by the providers are instantly available to the recipients. This in turn dramatically lowers cost of trying to store, maintain, and transform data in a 3rd party data lake. The Data Marketplace simplifies and reduces time to market, which will enable your organization to focus more on your own business and customer.

So, what have we learned?

If your organization is suffering from legacy, time consuming data integration, take a closer look at the Snowflake Data Marketplace. It’s important to evolve and develop your data and analytics needs to ensure your business is optimizing and operating at the highest level possible.

Categories: blog, Data, Thought Leadership