Various researches have revealed that whenever we hear an object, we retrieve it using an image from our brain. For instance, if I ask you “Do you like apples?” . You won’t think of the alphabets “a”, “p”, “p”,”l”,”e”, rather you will recall all relevant information regarding apple using the image of an apple. This is how possibly our data processing in our brain work. Of course it is complicated and highly efficient. Now if ask you “What is a database?”, you will mostly think of a collection of tables related to each other. If the same question was posed to a person in 1990s, possibly he would have only thought of a single big table from which they retrieve all the information.But today we have really moved on from this simplistic definition of databases.
This article will help you understand what type of database exist in this industry currently. I also did an interesting exercise of plotting these database types in a tree structure with a time axis. This will help you visualize how database definition and application changed with time.
We are too used to timelines on Facebook. I thought it will be a good idea to start this article on a similar line. Following is a tree which will help you map all types of popular database management system in a timeline:
The timeline varies from 1980s to current date and is not exhaustive of all forms of data management systems. However, we will be able to cover most of the popular data management system.
This is probably the easiest to understand but at present rarely used. You can think of this as a single huge table. Such type of datasets were used long back in 1990s, when data was only used to retrieve information in case of concerns. Very primitive analytics were possible on these database.
Soon people starting realizing that such tables will be almost impossible to store on a longer run. The Flat File brought in a lot of redundant data at every entry. For instance, if I want to make a single data-set with all products purchased at a grocery store with all information of the customer and product, we will have every single row consisting of all customer and product information. Wherever we have a repeat product or customer, we have repeat data. People thought of storing this as different tables and define a hierarchy to access all the data, which will be called as hierarchical database.
Hierarchical Database is very similar to your folder structure on the laptop. Every folder can contain sub-folder and each sub-folder can still hold more sub-folders. Finally in some folders we will store files. However, every child node (sub-folder) will have a single parent (folder or sub-folder). Finally, we can create a hierarchy of the dataset :
Hierarchical databases, however can solve many purposes, its applications are restricted to one-to-one mapping data structures. For example, it will work well if you are using this data structure to show job profile hierarchy in a corporate. But the structure will fail if the reporting becomes slightly more complicated and a single employee reports to many managers. Hence, people thought of database structures which can have different kinds of relations. This type of structure should allow one-to-many mapping. Such table came to be known as Relational database management system (RDBMS).
Following is an example RDBMS data structure :
As you see from the above diagram, there are multiple keys which can help us merge different data sets in this data base. This kind of data storage optimizes disc space occupied without compromising on data details. This is the data base which is generally used by the analytics industry. However, when the data looses a structure, such data base will be of no help.
NoSQL is often known as “Not Only SQL”. When people realized that unstructured text carry tonnes of information which they are unable to mine using RDBMS, they started exploring ways to store such datasets. Anything which is not RDBMS today is loosely known as NoSQL. After social networks gained importance in the market, such database became common in the industry. Following is an example where it will become very difficult to store the data on RDBMS :
Facebook stores terabytes of additional data every day. Let’s try to imagine the structure in which this data can be structured :
In the above diagram, same color box fall into same category object. For example the user, user’s friends, who liked and Author of comments all are FB users. Now if we try to store the entire data in RDBMS, for executing a single query which can be just a response of opening home page, we need to join multiple tables with trillions of row together to find a combined table and then run algorithms to find the most relevant information for the user. This does not look to be a seconds job for sure. Hence we need to move from tabular understanding of data to a more flow (graph) based data structure. This is what brought NoSQL structures. We will discuss NoSQL databases in our next article. We will also compare various types of NoSQL databases to understand the fitment of these databases.
Databases form the foundation of analytics industry. Even if we don’t know each one of them in detail, we should have an overview of the entire spectrum of databases. In this article we discussed the popular types of datasets and how the need of databases evolved with time. In the next article we will continue the same discussion and take it a step further by understanding types of NoSQL databases.
Did you find the article useful? Share with us your experiences with different types of databases. Do let us know your thoughts about this article in the box below.
Tavish Srivastava, co-founder and Chief Strategy Officer of Analytics Vidhya, is an IIT Madras graduate and a passionate data-science professional with 8+ years of diverse experience in markets including the US, India and Singapore, domains including Digital Acquisitions, Customer Servicing and Customer Management, and industry including Retail Banking, Credit Cards and Insurance. He is fascinated by the idea of artificial intelligence inspired by human intelligence and enjoys every discussion, theory or even movie related to this idea.
Library Management System using MYSQL
What is Database and Why Do We Need It?
NoSQL Databases : Simplified
5 Popular NoSQL Databases Every Data Science Pr...
Understanding the need for DBMS
Demystifying NoSQL: Your Complete Interview Guide
A beginner’s Guide to Database: Part 1
Everything You Should Know About NoSQL Databases
SQL vs NoSQL Databases – A Key Concept Ev...
What is relational about Relational Databases?
We use cookies essential for this site to function well. Please click to help us improve its usefulness with additional cookies. Learn about our use of cookies in our Privacy Policy & Cookies Policy.
Show details
This site uses cookies to ensure that you get the best experience possible. To learn more about how we use cookies, please refer to our Privacy Policy & Cookies Policy.
It is needed for personalizing the website.
Expiry: Session
Type: HTTP
This cookie is used to prevent Cross-site request forgery (often abbreviated as CSRF) attacks of the website
Expiry: Session
Type: HTTPS
Preserves the login/logout state of users across the whole site.
Expiry: Session
Type: HTTPS
Preserves users' states across page requests.
Expiry: Session
Type: HTTPS
Google One-Tap login adds this g_state cookie to set the user status on how they interact with the One-Tap modal.
Expiry: 365 days
Type: HTTP
Used by Microsoft Clarity, to store and track visits across websites.
Expiry: 1 Year
Type: HTTP
Used by Microsoft Clarity, Persists the Clarity User ID and preferences, unique to that site, on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID.
Expiry: 1 Year
Type: HTTP
Used by Microsoft Clarity, Connects multiple page views by a user into a single Clarity session recording.
Expiry: 1 Day
Type: HTTP
Collects user data is specifically adapted to the user or device. The user can also be followed outside of the loaded website, creating a picture of the visitor's behavior.
Expiry: 2 Years
Type: HTTP
Use to measure the use of the website for internal analytics
Expiry: 1 Years
Type: HTTP
The cookie is set by embedded Microsoft Clarity scripts. The purpose of this cookie is for heatmap and session recording.
Expiry: 1 Year
Type: HTTP
Collected user data is specifically adapted to the user or device. The user can also be followed outside of the loaded website, creating a picture of the visitor's behavior.
Expiry: 2 Months
Type: HTTP
This cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected includes the number of visitors, the source where they have come from, and the pages visited in an anonymous form.
Expiry: 399 Days
Type: HTTP
Used by Google Analytics, to store and count pageviews.
Expiry: 399 Days
Type: HTTP
Used by Google Analytics to collect data on the number of times a user has visited the website as well as dates for the first and most recent visit.
Expiry: 1 Day
Type: HTTP
Used to send data to Google Analytics about the visitor's device and behavior. Tracks the visitor across devices and marketing channels.
Expiry: Session
Type: PIXEL
cookies ensure that requests within a browsing session are made by the user, and not by other sites.
Expiry: 6 Months
Type: HTTP
use the cookie when customers want to make a referral from their gmail contacts; it helps auth the gmail account.
Expiry: 2 Years
Type: HTTP
This cookie is set by DoubleClick (which is owned by Google) to determine if the website visitor's browser supports cookies.
Expiry: 1 Year
Type: HTTP
this is used to send push notification using webengage.
Expiry: 1 Year
Type: HTTP
used by webenage to track auth of webenagage.
Expiry: Session
Type: HTTP
Linkedin sets this cookie to registers statistical data on users' behavior on the website for internal analytics.
Expiry: 1 Day
Type: HTTP
Use to maintain an anonymous user session by the server.
Expiry: 1 Year
Type: HTTP
Used as part of the LinkedIn Remember Me feature and is set when a user clicks Remember Me on the device to make it easier for him or her to sign in to that device.
Expiry: 1 Year
Type: HTTP
Used to store information about the time a sync with the lms_analytics cookie took place for users in the Designated Countries.
Expiry: 6 Months
Type: HTTP
Used to store information about the time a sync with the AnalyticsSyncHistory cookie took place for users in the Designated Countries.
Expiry: 6 Months
Type: HTTP
Cookie used for Sign-in with Linkedin and/or to allow for the Linkedin follow feature.
Expiry: 6 Months
Type: HTTP
allow for the Linkedin follow feature.
Expiry: 1 Year
Type: HTTP
often used to identify you, including your name, interests, and previous activity.
Expiry: 2 Months
Type: HTTP
Tracks the time that the previous page took to load
Expiry: Session
Type: HTTP
Used to remember a user's language setting to ensure LinkedIn.com displays in the language selected by the user in their settings
Expiry: Session
Type: HTTP
Tracks percent of page viewed
Expiry: Session
Type: HTTP
Indicates the start of a session for Adobe Experience Cloud
Expiry: Session
Type: HTTP
Provides page name value (URL) for use by Adobe Analytics
Expiry: Session
Type: HTTP
Used to retain and fetch time since last visit in Adobe Analytics
Expiry: 6 Months
Type: HTTP
Remembers a user's display preference/theme setting
Expiry: 6 Months
Type: HTTP
Remembers which users have updated their display / theme preferences
Expiry: 6 Months
Type: HTTP
Used by Google Adsense, to store and track conversions.
Expiry: 3 Months
Type: HTTP
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
Expiry: 2 Years
Type: HTTP
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
Expiry: 2 Years
Type: HTTP
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
Expiry: 2 Years
Type: HTTP
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
Expiry: 2 Years
Type: HTTP
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
Expiry: 2 Years
Type: HTTP
Save certain preferences, for example the number of search results per page or activation of the SafeSearch Filter. Adjusts the ads that appear in Google Search.
Expiry: 2 Years
Type: HTTP
These cookies are used for the purpose of targeted advertising.
Expiry: 6 Hours
Type: HTTP
These cookies are used for the purpose of targeted advertising.
Expiry: 1 Month
Type: HTTP
These cookies are used to gather website statistics, and track conversion rates.
Expiry: 1 Month
Type: HTTP
Aggregate analysis of website visitors
Expiry: 6 Months
Type: HTTP
This cookie is set by Facebook to deliver advertisements when they are on Facebook or a digital platform powered by Facebook advertising after visiting this website.
Expiry: 4 Months
Type: HTTP
Contains a unique browser and user ID, used for targeted advertising.
Expiry: 2 Months
Type: HTTP
Used by LinkedIn to track the use of embedded services.
Expiry: 1 Year
Type: HTTP
Used by LinkedIn for tracking the use of embedded services.
Expiry: 1 Day
Type: HTTP
Used by LinkedIn to track the use of embedded services.
Expiry: 6 Months
Type: HTTP
Use these cookies to assign a unique ID when users visit a website.
Expiry: 6 Months
Type: HTTP
These cookies are set by LinkedIn for advertising purposes, including: tracking visitors so that more relevant ads can be presented, allowing users to use the 'Apply with LinkedIn' or the 'Sign-in with LinkedIn' functions, collecting information about how visitors use the site, etc.
Expiry: 6 Months
Type: HTTP
Used to make a probabilistic match of a user's identity outside the Designated Countries
Expiry: 90 Days
Type: HTTP
Used to collect information for analytics purposes.
Expiry: 1 year
Type: HTTP
Used to store session ID for a users session to ensure that clicks from adverts on the Bing search engine are verified for reporting purposes and for personalisation
Expiry: 1 Day
Type: HTTP
Cookie declaration last updated on 24/03/2023 by Analytics Vidhya.
Cookies are small text files that can be used by websites to make a user's experience more efficient. The law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies, we need your permission. This site uses different types of cookies. Some cookies are placed by third-party services that appear on our pages. Learn more about who we are, how you can contact us, and how we process personal data in our Privacy Policy.
Edit
Resend OTP
Resend OTP in 45s
You guys are doing a great job, every time I visit your blog I am clear on few more things be it the career decisions or the actual analytic concepts. The blog posts are to the point and concise.
Good One....I liked this
I am an Analytics student and looking forward to your next article. Great for learning .. Appreciate if you could include more use cases and examples for various types of NOSql DBS. Thanks
Very informative...
sure