When and Why to migrate from spreadsheet to a Database
Tags: database, spreadsheet
Published: 2022-03-05 03:55:28

<!-- wp:paragraph -->
<p>As data becomes a focal parameter to consider before developing your solution. One must ask questions like </p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><li>When and why do we use a spreadsheet </li><li>When and why  do we shift to a database over a spreadsheet.</li></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>This blog will help you answer these questions.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>Q. What is data?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>Data is raw information. For example, your daily consumption of coffee.</strong> It is raw information about the amount of coffee you have consumed, but if <strong>you analyse it and gain insights from it</strong>. A few example would be,</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><li>Types of coffee beans or coffee flavour</li><li>How much sugar do you put into the coffee</li></ol>
<!-- /wp:list -->

<!-- wp:image {"align":"center","width":364,"height":364,"sizeSlug":"large"} -->
<figure class="wp-block-image aligncenter size-large is-resized"><img src="https://ciscocanada.files.wordpress.com/2013/09/cisco_blog_canada_coffee.png" alt="" width="364" height="364"/><figcaption>Image credits: https://ciscocanada.files.wordpress.com<br>/2013/09/cisco_blog_canada_coffee.png</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Now that we have differentiated between information and data.  </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>There are many formats to store and transfer data, these formats depend on the type of data.</strong> For example, one might write coffee ingredients directly on a piece of paper i.e unstructured or write it in a .csv file i.e structured or  a combination of both i.e semi-structured. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","width":540,"height":270,"sizeSlug":"large"} -->
<figure class="wp-block-image aligncenter size-large is-resized"><img src="http://programmerprodigycode.files.wordpress.com/2022/03/ecd9e-1sbcb7tf8jjwzchdtt_sodw.png" alt="" width="540" height="270"/><figcaption>Image credits: http://programmerprodigycode.files.wordpress.com/2022/03/ecd9e-1sbcb7tf8jjwzchdtt_sodw.png</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3>When to use a spreadsheet and when to shift?</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>So when deciding if a spreadsheet still makes sense, the first thing to talk about is the structure of the data. Are we dealing with a simple list? Are there nested values? So we use spreadsheets for <strong>flat data or structured or data represented using rows and columns</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Another parameter is the size of the data.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Imagine having to pass that giant spreadsheet to your colleagues and multiple people are gonna have to be working on it</strong>, maybe at the same time, then you start to have a lot more trouble. The set of following questions are going to arise</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><li> Who is going to own the data? </li><li>How do you make sure that there are not two edits going through at the same time? And maybe you have to merge them at the end or account for discrepancies between multiple copies. </li></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Maybe your company works with a solution that supports multi-tenancy, a big shout out to Google Cloud or Office 365 here for supporting multi-tenancy<strong>. But managing conflicts, managing traceability of multiple people managing the data starts to grow out of control</strong>. When you  introduce different permission sets to edit different fields or different sections of the spreadsheet, that's when, in my opinion, spreadsheets fall over the fastest. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"width":220,"height":348,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large is-resized"><img src="https://www.dynamicselect.co.uk/uploads/1/2/5/5/125589844/spreadsheetproblems_orig.png" alt="" width="220" height="348"/><figcaption>Image credits: https://www.dynamicselect.co.uk/uploads/1/2/5/5/125589844/spreadsheetproblems_orig.png</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>When thinking about if a spreadsheet makes sense, you need to think of how the data is gonna be used. Spreadsheets are at their strongest when you can see a lot of columns all at once to get a good feel for the data.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>When to shift away from spreadsheet</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>When multiple people in multiple systems are accessing and editing the same data, the integrity of the data becomes questionable. And if you're in a company that handles health care or financial information in particular, who added it and why is very important for when an auditor knocks on your door. <strong>So potentially understanding who is editing the data, what is that in the data, where did data come from, that is known as data integrity</strong> on a more complex level that's known as data lineage.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Databases vary much than that spreadsheets enable you to monitor, trace, control, and manage your data quality and integrity, especially because many of the databases come with built-in audit logs on a per-field basis. </strong>Typically what a database supports are complex reporting requirements.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Whereas a spreadsheet is fantastic at simple one-off reports or maybe manually updated, databases are when you need data that is updated nightly, hourly, secondly, or maybe it is updated by multiple processes owned by many people</strong>. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","sizeSlug":"large"} -->
<figure class="wp-block-image aligncenter size-large"><img src="https://memegenerator.net/img/instances/47689283.jpg" alt=""/><figcaption>Image Credits: https://memegenerator.net/img/instances/47689283.jpg</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>But just so you know, and to reiterate, the rule of thumb is if you need more complex reporting, go with the database over a spreadsheet. To learn more about Databases and storage, refer to one of my previous blogs:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><li><a href="https://programmerprodigy.code.blog/2021/03/02/introduction-to-cloud-databases/" target="_blank" rel="noreferrer noopener">https://programmerprodigy.code.blog/2021/03/02/introduction-to-cloud-databases/</a></li><li><a href="https://programmerprodigy.code.blog/2021/02/24/introduction-to-cloud-storage/" target="_blank" rel="noreferrer noopener">https://programmerprodigy.code.blog/2021/02/24/introduction-to-cloud-storage/</a></li><li><a href="https://programmerprodigy.code.blog/2021/06/28/intro-to-4-types-of-nosql-databases/" target="_blank" rel="noreferrer noopener">https://programmerprodigy.code.blog/2021/06/28/intro-to-4-types-of-nosql-databases/</a></li><li><a href="https://programmerprodigy.code.blog/2020/12/16/intro-into-database-management/" target="_blank" rel="noreferrer noopener">https://programmerprodigy.code.blog/2020/12/16/intro-into-database-management/</a></li></ol>
<!-- /wp:list -->