Роль архитектора данных и design-паттерны проектирования моделей данных - Студенческий научный форум

XIV Международная студенческая научная конференция Студенческий научный форум - 2022

Роль архитектора данных и design-паттерны проектирования моделей данных

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Data Architecture

Architecture, in a more general sense, is called an ordered arrangement of the constituent elements, involving optimization of functionality, performance, manufacturability, cost, and aesthetics of the design or system being created.

The data architecture forms the foundation of data management. Since most organizations have volumes of data that cannot be comprehended by individual employees, there is an urgent need to present them at different levels of abstraction in such a way that they are understood, and management can make appropriate decisions regarding this data.

The purpose of data architecture is to serve as a bridge between a business strategy and its technological implementation.

Well-established practices of enterprise architecture management help the organization to clearly understand the current state of its information systems, make changes aimed at moving to the desired future state, ensure compliance with regulatory requirements, improve the efficiency and productivity of its work.

They strive to make architecture such that it brings value to the organization. The value is achieved by optimizing the required resources, operational and project efficiency, as well as expanding the organization's data usage capabilities.

Data Architect and its tasks

A data architect is an employee who is responsible for developing a data warehouse (choosing technology for storing data, drawing up a database development plan, etc.).

The key requirements for a data architect come from the preferences of employers, but often they are:

Experience in creating data models;

SQL proficiency at a high level;

Experience working with ETL tools;

Experience working with IT tools in the field of data management.

The data architect creates schemas of data management systems. After evaluating the company's potential data sources, the data architect develops a plan for their integration, centralization, protection, and maintenance. This allows employees to access important information in the right place and at the right time.

Architecture-solutions

Solution architecture is a direction that helps answer the question "how to do". Solution architects are responsible for the software product development process, i.e. they are looking for answers to such questions as: will it be possible to meet the deadlines and budget; how will the project go; how can the risks of program development be reduced, etc.

When implementing the solution architecture, the company's management can be confident that:

The software product being developed will have excellent performance because the solution architect focuses on all the small details;

There will be no problems in the process of interaction between superiors and subordinates because the solution architect explains to one what others want from them;

The company's resources will not be wasted, because the solution architect pays special attention to details and ensures that all the company's resources are optimally distributed;

The project will be completed without any difficulties because the solution architect is obliged to ensure the gradual and reliable completion of the project. The completion of the project is achieved by analyzing all possible risks and developing ways to solve them.

Thus, when implementing architecture solutions, the company pays for optimizing business processes and creating conditions for scaling.

Requirements for data models

Building a database is a complex process. When building any database, the architect must consider many aspects for the database to work successfully.

First, the data architect must rely on the terms of reference (TOR) that were put in front of him. The TOR specifies all the goals that need to be fulfilled for the customer to be satisfied.

Next, the architect must think over the database and develop it in such a way that it meets the basic requirements of the database, namely:

Database integrity - the requirement of completeness and consistency of data;

Multiple-use of data – the system should contain only the information necessary for the user, which will be relevant for a long time;

High speed of operation - fast response of the system to user requests;

Friendly interface - ease of use of the database by the user;

System security - data protection from unauthorized access.

BEAM (Business Event Activity Modeling) - an approach to designing models for analytical tasks

Business Event Activity Modeling (BEAM) is the collection of requirements for data warehouses to align the analysis of requirements with business processes, and not just with reports.

The principles of the BEAM concept are:

Communication with clients: business analytics is primarily based on communication with clients. The technical components are already secondary;

(Completion of work on time) Customer orientation (business): A well-designed system is good, but it must be completed on time. If the data warehouse is developed for too long, it will become outdated and will not be relevant to the end-user;

Easily changeable system: it is necessary to monitor the relevance of the system and periodically update it.

To determine the desired result, users need to ask the right questions, for example:

Who purchased the product;

When was the order placed;

Where was the product purchased;

How many items were purchased;

Why was this product purchased;

How the product was purchased (online or offline).

Answers to the above questions can help entrepreneurs collect data to analyze the actions of buyers. After the general questions, it is worth asking clarifying ones to get a more complete picture. With the help of the information received, you can create a "history" of the client.

Design-Data model design patterns

Design-design patterns are solutions to common problems in the field of data model development. Patterns are not ready-made solutions. Design patterns are a description of a problem solution that can be used in various situations.

Design patterns are classified by purpose. There are three main groups of patterns:

Generating patterns;

Patterns of behavior;

Structural patterns.

Generating patterns are designed to create objects, allowing the system to remain independent of both the generation process itself and the types of objects generated.

Generating patterns consist of:

Abstract factory;

Builder;

Factory method;

Singleton.

Abstract factory is a generative pattern that provides an interface for creating families of interrelated or interdependent objects without specifying their specific classes. The template is implemented by creating an abstract class Factory, which is an interface for creating system components. Then classes are written that implement this interface.

Picture 1 shows the Abstract Factory design pattern.

Builder provides a way to create a composite object.

Separates the construction of a complex object from its representation. As a result of the same design process, different representations can be obtained.

Picture 2 shows the Builder design pattern.

The factory method is a generative design pattern that provides an interface for subclasses to create instances of some class. At the time of creation, the heirs can determine which class to create. This allows you to manipulate abstract objects in the program code at a higher level.

Picture 3 shows the Factory Method design pattern.

Singleton is a static instance of the class. Designed to simplify ownership, control over the elements of the global state of the program, etc.

Picture 4 shows the Singleton design pattern.

Behavior patterns are designed to work with objects: creating relationships and responsibilities between them.

Behavior patterns consist of:

Observer;

PubSub.

The observer is a behavioral design pattern.

The meaning of the operability of this template is to create a mechanism for a class that allows an instance of an object of this class to receive notifications from other objects about changes in their state, thereby observing them.

Picture 5 shows the Observer design pattern.

PubSub is a behavioral message transmission design pattern in which message senders are not directly bound by the message sending program code to subscribers. Instead, messages are divided into classes and do not contain information about their subscribers, if any.

Picture 6 shows the PubSub design pattern.

Structural patterns are designed to build various connections between objects.

Structural patterns consist of:

Adapter;

Bridge;

Composite;

Decorator;

Façade;

Flyweight;

Proxy.

The adapter is a structural design pattern that allows objects with incompatible interfaces to work together.

Picture 7 shows the Adapter design pattern.

The bridge is a structural design pattern that divides one or more classes into two separate hierarchies, allowing them to be changed independently of each other.

Picture 8 shows the Bridge design pattern.

The compositor is a structural design pattern that allows you to group many objects into a tree structure and then work with it as if it were a single object.

Picture 9 shows the Compositor design pattern.

A decorator is a structural design pattern that allows you to dynamically add new functionality to objects.

Picture 10 shows the Decorator design pattern.

Faced is a structural design pattern that provides a simple interface to a complex class system, library, or framework.

Picture 11 shows the Faced design pattern.

Flyweight is a structural design pattern that allows you to fit more objects into the allocated RAM.

Picture 12 shows the Flyweight design pattern.

Proxy is a structural design pattern that allows you to substitute special substitute objects instead of real objects. These objects intercept calls to the original object, allowing you to do something before or after transferring the call to the original.

Picture 13 shows the Proxy design pattern.

Conclusion

A data architect is very important for any organization because he builds data management schemes. Data management schemes are necessary for any company because nowadays all enterprises store information in electronic form, and the data architect helps with building a convenient system and ensuring security in it. Design patterns are an excellent solution that can help in solving complex problems. Thanks to them, the work of data architects is easier, and all problems are solved much faster.

Parts of the article

Picture1 – Design pattern Abstract Factory

Picture2 – Design pattern Builder

Picture3 – Design pattern Factory Method

Picture 4 – Design pattern Singleton

Picture 5 – Design pattern Observer

Picture 6 – Design pattern PubSub

Picture 7 – Design pattern Adapter

Picture 8 – Design pattern Bridge

Picture 9 – Design pattern Compositor

Picture 10 – Design pattern Decorator

Picture 11 – Design pattern Faced

Picture12 – Design pattern Flyweight

Picture13 – Design pattern Proxy

Sources

Архитекторбазданных – Electronic resource: https://www.profguide.io/professions/architect_database.html (Date of application: 12.02.2022)

Многоуровневаяархитектура – Electronic resource: https://simpleone.ru/glossary/mnogourovnevaya-arhitektura/ (Date of application: 12.02.2022)

Требованияумоделиданных – Electronic resource: https://admpilna.ru/voprosi-i-otveti/trebovanija-k-modeli-dannyh#%D0%A2%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BA_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85 (Date of application: 12.02.2022)

How to Use the BRAM Approach in Data Analytic Projects – Electronic resource: https://towardsdatascience.com/how-to-use-the-beam-approach-in-data-analytic-projects-8a1604015cfd (Date of application: 13.02.2022)

Паттерныпроектирования (Design Patterns) – Electronic resource: http://cpp-reference.ru/patterns/ (Date of application:13.02.2022)

Solution Architect: ктоэтоикакиеунегообязанности – Electronic resource: https://merehead.com/ru/blog/solution-architect/ (Date of application: 13.02.2022)

DAMA-DMBOK: Свод знаний по управлению данными. Второе издание / Dama International [пер. с англ. Г. Агафонова].

Справочник «Паттерныпроектирования» – Electronic resource: http://design-pattern.ru/index.html (Date of application: 11.03.2022)

Просмотров работы: 8