Big Data Modeling | Complete Overview of Data Modeling


What is Big Data Modeling?

Data modeling is the method of constructing a specification for the storage of data in a database. It is a theoretical representation of data objects and relationships between them. The process of formulating data in a structured format in an information system is known as data modeling. It facilitates data analysis, which will aid in meeting business requirements.

Data modeling necessitates data modelers who will work closely with stakeholders and potential users of an information system. The data modeling method ends in developing a data model that supports the business information system’s infrastructure. This method also entails comprehending an organization’s structure and suggesting a solution that allows the organization to achieve its goals. It connects the technological and functional aspects of a project.

Why is Data Modeling necessary?

To ensure that we can easily access all books in a library, we must classify them and place them on racks. Likewise, if we have a lot of info, we’ll need a system or a process to keep it all organized. “Data modeling” refers to the method of sorting and storing data.”

A data model is a system for organizing and storing data. A data model helps us organise data according to service, access, and usage, just like the Dewey Decimal System helps us organise books in a library. Big data can benefit from appropriate models and storage environments in the following ways:

Performance: Good data models will help us quickly query the data we need and lower I/O throughput.

Cost: Good data models can help big data systems save money by reducing unnecessary data redundancy, reusing computing results, and lowering storage and computing costs.

Efficiency: Good data models can significantly enhance user experience and data utilization performance.

Quality: Good data models ensure that data statistics are accurate and that computing errors are minimized.

As a result, a big data system unquestionably necessitates high-quality data modeling methods for organizing and storing data, enabling us to achieve the best possible balance of performance, cost, reliability, and quality.

Why use a Data Model?

Data Model

  • Data interpretation can be improved by using a visual representation of the data. It gives developers a complete image of the data, which they can use to build a physical database.
  • The model correctly depicts all of an organization’s essential data. Data omission is less likely thanks to the data model. Data omission can result in inaccurate results and reports.
  • The data model depicts a clearer picture of market requirements.
  • It aids in developing a tangible interface that unifies an organization’s data on a single platform. It also aids in the detection of redundant, duplicate, and incomplete data.
  • A competent data model aids in ensuring continuity across all of an organization’s projects.
    It enhances the data’s quality.
  • It aids Project Managers in achieving greater reach and quality control. It also boosts overall performance.
  • Relational tables, stored procedures, and primary and foreign keys are all described in it.

Data Model Perspectives

Conceptual, logical, and physical data models are the three types of data models. Data models are used to describe data, how it is organized in a database, and how data components are related to one another.

Data Model Perspective

Conceptual Model

This stage specifies what must be included in the model’s configuration to describe and coordinate market principles. It focuses primarily on business-related entries, characteristics, and relationships. Data Architects and Business Stakeholders are mainly responsible for its development.

The Conceptual Data Model is used to specify the scope of the method. It’s a tool for organizing, scoping, and visualizing company ideas. The aim of developing a computational data model is to develop new entities, relationships, and attributes. Data architects and stakeholders typically create a computational data model.

The Conceptual Data Model is held by three key holders.

  • Entity: A real-life thing
  • Attribute: Properties of an entity
  • Relationship: Association between two entities

Let’s take a look at an illustration of this data model.

Consider the following two entities: product and customer. The Product entity’s attributes are the name and price of the product, while the Customer entity’s attributes are the name and number of customers. Sales is the connection between these two entities.

  • The Conceptual Data Model was created with a corporate audience in mind.
  • It offers an overview of corporate principles for the whole organization.
  • It is created separately, with hardware requirements such as location and data storage space and software requirements such as technology and DBMS vendor.

Conceptual Models

Logical Model

The conceptual model lays out how the model can be put into use. It encompasses all types of data that must be captured, such as tables, columns, and so on. Business Analysts and Data Architects are the most prominent designers of this model.

The Logical Data Model is used to describe the arrangement of data structures as well as their relationships. It lays the groundwork for constructing a physical model. This model aids in the inclusion of extra data to the conceptual data model components. There is no primary or secondary key specified in this model. This model helps users to update and check the connector information for relationships that have been set previously.

The logical data model describes the data requirements for a single project, but it may be combined with other logical data models depending on the project’s scope. Data attributes come with a variety of data types, many of which have exact lengths and precisions.

  • The logical data model is created and configured separately from the database management system.
  • Data Types with accurate dimensions and precisions exist for data attributes.
  • It specifies the data needed for a project but, depending on the project’s complexity, interacts with other logical data models.

Logical Model

Top 80+ frequently asked Data Modeling Interview questions!

Big Data Hadoop Training

  • Master Your Craft
  • Lifetime LMS & Faculty Access
  • 24/7 online expert support
  • Real-world & Project Based Learning

Physical Model

The physical model explains how to use a database management system to execute a data model. It lays out the process in terms of tables, CRUD operations, indexes, partitioning, etc. Database Administrators and Developers build it. 

The Physical Data Model specifies how a data model is implemented in a database. It attracts databases and aids in developing schemas by duplicating database constraints, triggers, column keys, other RDBMS functions, and indexes. This data model aids in visualizing the database layout. Views, access

profiles, authorizations, primary and foreign keys, and so on are all specified in this model.

The majority and minority relationships are defined in the Data Model by the relationship between tables. It is created for a specific version of a database management system, data storage, and project site.

  • The Physical Data Model was created for a database management system (DBMS), data storage, and a project site.
  • It contains table relationships that address the nullability and cardinality of the relationships.
  • Views, access profiles, authorizations, primary and foreign keys, and so on are all specified here.

Physical Model

Realted Article: CAP Theorem in Big Data!

Types of Data Models

While there are several different data modeling approaches, the basic principle remains the same with all models. Let’s take a look at some of the most commonly used data models:

Hierarchical Model

This is a database modeling technique that uses a tree-like structure to organise data. Each record in this table has a single root or parent. When it comes to sibling documents, they’re organized in a specific way. This is the physical order in which the information is stored. This method of modeling can be applied to a wide range of real-world model relationships. This database model was popular in the 1960s and 1970s. However, owing to inefficiencies, they are still used infrequently.

The hierarchical model is used to assemble data into a tree-like structure with a single root that connects all of the data. A single root like this evolves like a branch, connecting nodes to the parent nodes, with each child node having just one parent node. The data is structured in a relational system with a one-to-many relationship between two different data types in this model. For example, in a college, a department consists of a set of courses, professors, and students.

Hierarchical Models

Relational Model

In 1970, an IBM researcher suggested this as a possible solution to the hierarchical paradigm. The data path does not need to be defined by developers. Tables are used to merge data segments in this case directly. The program’s complexity has been minimized due to this model. It necessitates a thorough understanding of the organization’s physical data management strategy. This model was quickly merged with Structured Query Language after its introduction (SQL).

A typical field maintains the Relational Model aids in the organization of two-dimensional tables and the interaction. Tables are the data structure of a relational data model. The table’s rows contain all of the information for a given category. In the Relational Model, these tables are referred to as relations.

Relational Models

Network Model

The Network Model is an enhancement of the Hierarchical Model, allowing for various relationships with related records, implying multiple parent records. It will enable users to build models using sets of similar documents following mathematical set theory. A parent record and the number of child records are included in this set. Each record is a member of several sets, allowing the model to define complex relationships. The model can express complex relationships since each record can belong to several sets.

Network Models

Object-oriented Database Model

A set of objects are aligned with methods and functions in the Object-oriented Database. There are characteristics and methods associated with these objects. Multimedia databases, hypertext databases, and other types of object-oriented databases are available. Even if it incorporates tables, this type of database model is known as a post-relational database model since it is not limited to tables. These database models are referred to as hybrid models.

Wish to make a career in the world of Datastage? Start with Datastage Online Training!

Cloud Computings, big-data-modeling-description-4, Cloud Computings, big-data-modeling-description-9

Subscribe to our YouTube channel to get new updates..!

Entity–Relationship Model

The Entity-Relationship Model (ERM) is a diagram that depicts entities and their relationships. The E-R model generates an entity set, attributes, relationship set, and constraints when constructing a real-world scenario database model. The E-R diagram is a graphical representation of this kind.

An entity may be an object, a concept, or a piece of data stored in relation to the data. It has properties called attributes, and a set of values called domain defines each attribute. A relationship is a logical connection between two or more entities. These connections are mapped to entities in several ways.

Consider a College Database, where a Student is an entity, and the Attributes are Student details such as Name, ID, Age, Address, and so on. As a result, there will be a relation between them.

Entity–Relationship Model

Object-relational Model

The object-relational model can be thought of as a relational model with enhanced object-oriented database model features. This kind of database model enables programmers to integrate functions into a familiar table structure.

An Object-relational Data Model combines the advantages of both an Object-oriented and a Relational database model. It supports classes, objects, inheritance, and other features similar to the Object-oriented paradigm and data types, tabular structures, and other features similar to the Relational database model. Designers may use this model to integrate functions into table structures.

Facts and Dimensions

To understand data modelling, one must first grasp its facts and dimensions.

Fact Table: It’s a table that lists all of the measurements and their granularity. Sales, for example, maybe additive or semi-additive.

Dimension Table: It’s a table containing fields with definitions of market elements and is referenced by several fact tables.

Dimensional Modeling: Dimensional modeling is a data warehouse design methodology. It makes use of validated measurements and facts and aids in navigation. The use of dimensional modeling in performance queries speeds up the process. Star schemas are a colloquial term for dimensional models.

Dimensional Modeling-Related Keys

While learning data modeling, it’s critical to understand the keys. There are five different types of dimensional modelling keys.

  • Business or Natural Keys: It is a field that uniquely defines an individual. Customer ID, employee number, and so on.
  • Primary and Alternate Keys: A primary key is an area that contains a single unique record. The consumer must choose one of the available primary keys, with the others being alternative keys.
  • Composite or Compound Keys: A composite key is one in which more than one field is used to represent a key.
  • Surrogate Keys: It is usually an auto-generated field with no business meaning.
  • Foreign Keys: It is a key that refers to another key in some other table.

The process of data modeling entails the development and design of various data models. A data definition language is then used to convert these data models. A database is created using a data definition language. This database will be referred to as a wholly attributed data model at that stage.

Benefits and Drawbacks of Data Models

Benefits:

  • With data modeling, the functional team’s data objects are appropriately presented.
  • Data modeling enables you to query data from a database and generate various reports from it. With the aid of reports, it indirectly contributes to data analysis. These reports can be used to improve the project’s quality and efficiency.
  • Businesses have a large amount of data in various formats. For such unstructured data, data modeling offers a structured framework.
  • Data modeling enhances business intelligence by requiring data modelers to work closely with the project’s realities, such as data collection from various unstructured sources, reporting specifications, spending patterns, and so on.
  • It improves coordination within the business.
  • The documentation of data mapping is aided during the ETL method.

Drawbacks:

  • The development of a data model is a time-consuming process. Should understand the physical characteristics of data storage.
  • This method necessitates complex application creation as well as biographical truth information.
  • The model isn’t particularly user-friendly. Small improvements in the method require a significant rewrite of the entire application.

Big Data Hadoop Training

Weekday / Weekend Batches

Conclusion

Data models are created to store data in a database. The primary goal of these data models is to ensure that the data objects generated by the functional team are correctly denoted. As previously stated, even the little improvement in the system necessitates improvements to the entire model. Despite the problems, the data modelling concept is the first and most important step of database design since it describes data entities, relationships between data objects, and so on. A data model discusses the data’s market rules, government regulations, and regulatory enforcement in a holistic manner.

Related Article:



Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


What is XPath in Selenium – Table of Content

What is XPath in Selenium?

Selenium is an open-source, most popular web automation testing tool that supports multiple browsers & OS. XPath in Selenium is an XML Path and a syntax useful for locating an element on a web page. Locating any element on the web page uses XML path or XPath expression. Further, XPath in Selenium is useful for navigating through the HTML structure of the web page. 

Moreover, XPath uses HTML DOM structure to find any element on a web page for both HTML and XML documents. 

The syntax for XPath In Selenium 

XPath in Selenium holds the element’s location on the web page. The basic syntax for XML Path Selenium is as follows-

Xpath=//tagname[@attribute="value"]

The meaning of each expression in the syntax is-

  • // : Choose the existing node.
  • Tagname: Particular node’s tagname.
  • @: This symbol denotes the “Select” attribute.
  • Attribute: Node’s attribute name.
  • Value: Attribute’s Value.

Become a master of Selenium by going through this HKR Selenium Training!

XML Document

The XML documents are the text files that contain XML data, including elements and other markups, in a sequential package. Further, it can include a wide variety of data such as numbers databases, numbers of a mathematical equation, etc. You can understand XML document with an example:-

 Kumar

   AK & Co.

    032456123

Here, the above code is divided into two parts- Document Prolog & Document Elements. Let us discuss them in brief.

Document Prolog

The document prolog appears at the top of the document, beforE the root document element. It includes XML and Document type declaration. 

Document Elements

These major building blocks of XML segregate the document into different sections. Each of these document sections perform a particular purpose. Moreover, you can easily segregate a document into different sections so that search engines can use it. Further, these document elements can be the containers having text and other elements combined. 

Types of XPath

  1. Absolute XPath:
  2. Relative XPath:
Absolute XPath

In Selenium, the absolute XPath is the direct path to find the element. This Xpath begins with the “/” (Slash) symbol and helps select the element from the root. The major drawback of this XPath is that if you change the path of the element or attribute, the absolute XPath will fail.

Relative XPath:

The Relative XPath in Selenium begins with the double forward slash “//” symbol and from the middle of the HTML DOM. You can search elements anywhere on the web page as it doesn’t need to write a lengthy Xpath. This XPath is mainly considered as it is not a complete path from the root element.

For example: //input[@id=‘ap_email’]

Suppose You launch Google Chrome and navigate to google.com. Then locate the search bar utilising XPath. By analysing the web element there is an input tag and attributes like class and id. Utilise the tag name and given attributes to create XPath that will locate the search bar.

If you want to Explore more about Selenium? then read our updated article – Selenium Tutorial

What-is-xpath-in-Selenium-1

Click the Elements tab and press Ctrl + F to open a search box in chromes developers tool.  Write XPath string selector and it will try to search based on that criteria. In the image given above, it has an input tag.  //input implies tagname. Use the name attribute and pass ‘q’ as its value. It provides XPath expression as shown below:

//input[@name=’q’]

XPath string

It has focused on the element that implies this specific element was located utilising XPath.

If you want to Explore more about Selenium? then read our updated article – Selenium Tutorial!

Check out our Latest Tutorial video. Register Now Selenium Online Course to Become an expert in Selenium.

                

Acquire Selenium with jenkins certification by enrolling in the HKR Selenium with jenkins Training program in Hyderabad!

Selenium Certification Training

  • Master Your Craft
  • Lifetime LMS & Faculty Access
  • 24/7 online expert support
  • Real-world & Project Based Learning

XPath Functions

Automation utilizing Selenium is unquestionably an incredible innovation which gives numerous approaches to distinguish an article or component on the website page. Be that as it may, in some cases we do deal with issues in recognizing the articles on a page that have similar credits. Some cases can be: components having similar credits and names or with more than one button with similar name and ids. It’s trying to train selenium to distinguish a specific item on a website page and it is the place where XPath functions to serve as the hero. 

Frequently asked Selenium Interview Questions and Answers !!

Types of XPath Functions

Selenium involves different functions. The three of the most broadly utilized functions are given below:

1) Basic XPath

The basic XPath expression selects nodes or a list of many nodes based on various elements or attributes such as ID, Name, ClassName, etc. It selects them from the XML documents. The syntax we can use for the basic XPath is –

Xpath=//input[@name="uid"
2.Contains()

It is a method used in XPath expression when the value of an attribute or element dynamically changes. You can easily find the elements with a partial text using the “Contains” feature in the XPath expression. Now understand this with the below example.:-

Xpath=//*[contains(@type,'sub')]

The above example denotes that the full value of the element type is submitted, but we use the partial text ‘sub’ here to find the element. Thus, in the above example, we tried to find the element by giving a partial text of the attribute “submit”. 

3) Using OR & AND

Here, we use two conditions, first or second condition, among which one condition must be “True” to execute it. This method is still applicable if any one or both conditions are “true”. It means that any conditions should be true to find the element. The expression we can use for this is-

Xpath=//*[@type="submit" or @name="btnReset"]

The above XPath expression will help determine whether a single or both conditions are ‘True’.

Similarly, in the “And” XPath expression, also we use two conditions, but both conditions should be “true” to locate the element. If any one of the conditions becomes “false”, then the expression cannot find the element. The syntax we can use for this function is-

Xpath=//input[@type="submit" and @name="btnLogin"]
4) Xpath Starts-with

The function Xpath-Starts-with() in the Xpath functions is useful to find the element whose attribute value changes in some conditions. Here the value changes with the refresh of the page or by performing dynamic actions on the webpage. In this method, the initial text of the attribute should be in parallel to locate the element whose attribute value changes interactively. 

Further, you can also find the elements whose attribute value doesn’t change or remain static. You can understand this function’s use by the following example:-

Xpath=//label[starts-with(@id,'message')]

The above syntax shows that two different elements start with the initial id “message”. Here, you can use the Xpath-starts with function to check whose attribute value changes or remains static.

Become a master of Selenium by going through this HKR Selenium Training in Delhi!

HKR Trainings Logo

Subscribe to our YouTube channel to get new updates..!

5) XPath Text() Function

In Selenium WebDriver, the function XPath Text() is a built-in function useful to locate elements based on the web element’s text. Using this function, you can find the same text element. Moreover, the elements that you locate must be in a string format.

Xpath=//td[text()='UserID']

Using the above expression having text function, you can locate the element that will show the exact match of the text.

6) XPath axes methods

This method in XPath functions is useful for finding complex or changing elements. However, we can see the following XPath axes methods which we can use:-

  1. a) Following- It is useful to select all the elements in the document of the existing node(). The expression you can use for this method is-
 Xpath=//*[@type="text"]//following::input
  1. b) Ancestor- The ancestor axes method is useful to select all the ancestor elements of the existing node, like parents, grandparents, etc. Here, the expression you can use is-
Xpath=//*[text()='Enterprise Testing']//ancestor::div
  1. c) Child- This axes method selects all the child elements in the documents’ current node. The expression you can use here is-
Xpath=//*[@id='java_technologies']//child::li
  1. d) Preceding- This method helps select the nodes that come before the existing ones. Here is the example expression:-
Xpath=//*[@type="submit"]//preceding::input

The above expression helps to identify all the input elements before the currently given nodes.

  1. e) Following-sibling- This method helps to select the following siblings of the existing node. All the siblings will be equivalent to the existing node, and the method will find the sibling next to the existing node. Moreover, the syntax you can use here for this method is-
xpath=//*[@type="submit"]//following-sibling::input
  1. f) Parent- It helps to select the parent from the existing node of the element. The following is the syntax you can use here.
Xpath=//*[@id='rt-feature']//parent::div

Many div(s) match with the parent, but if you want to focus on a specific element. For this you can use the below xpath syntax-

Xpath=//*[@id='rt-feature']//parent::div[1]
  1. g) Self- In this method, it selects the existing node where it selects itself only. That means the node here is the “self”. The expression you can use for self is-
Xpath =//*[@type="password"]//self::input
  1. h) Descendant- It helps to select the descendants of the existing element where it recognizes all the element descendants of the existing element. 
Xpath=//*[@id='rt-feature']//descendant::a

Selenium Certification Training

Weekday / Weekend Batches

Conclusion

XPath or an XML Path is used to locate any element or navigate through the HTML structure of a webpage. It is generally used for automation purposes and in cases where it is difficult to find elements using locators like name, class, ID, etc. However, it is the most important among the locators useful in Selenium to identify web elements. Also, it is a handy locator for the testers of web pages.

Thus, learning about XPath in Selenium will help you quickly identify a web element on a web page. 

Related Articles:



Source link