Abstract
Contents
- Introduction
- 1. Relevance of the topic
- 2. Purpose and objectives of the study, planned results
- 3. Research and development overview
- 3.1 Overview of the Remote Data Access (RDA) client-server model
- 3.2 Overview of the Data Base Server (DBS) model
- 3.3 Application Server (AS) model overview
- 4. Defining development tools
- 4.1 Software for working with remote server and database
- 4.2 Implementing the subsystem's Web interface
- 4.3 Database software
- Conclusions
- List of sources
Introduction
In the modern world, any activity requires large amounts of information, and therefore there is a need for funds, which provide efficient, fast and intuitive work with it. For this purpose, bases are widely used data on various kinds of enterprises and institutions. An analysis of the workflow of an average enterprise showed that each organization has a developed document management system, work with which should be ensured by modern, reliable and intuitive software.
At the same time, a large role in changing and increasing the use of databases was played by the Internet, which currently unites more than 53% of the world's population and this is 4.1 billion people all over the world and this number continues to grow. It acts today as a leading business tool, thanks to which it became possible get new opportunities for combining Web-technologies and database technologies [12].
1. Relevance of the topic
The global introduction and formation of network technologies, the tendency to share computing resources imposes your imprint on the principles of building a database (DB). The use of network technologies has made it possible to significantly expand information systems, increase the number of users and ensure integrity within each system.
Distributed database technology, which is now widely used, facilitates the reverse transition from centralized data processing to decentralized.
Different access models have different effects on the hardware load and, as a result, on the speed of work with distributed databases, which entails an increase in the processing time and subsequent execution of search queries.
2. Purpose and objectives of the study, planned results
The aim of the master's work is to research and develop models of access to distributed databases to reduce the time to search for information.
To achieve this goal, it is necessary to solve the following tasks:
- to analyze various existing variants of models of access to distributed databases;
- determine the most effective access model in terms of reducing the time required to search for information;
- based on the results of the work, develop a subsystem / application that implements the model of access to distributed databases to reduce the time to search for information.
3. Research & Development Overview
Currently, there are two classes of databases: desktop and server. Working with a small database located on a PC that is not connected to the local network (desktop version of the database) is no longer typical for the present time.
Computers are connected to local networks. Even if a database is being developed for a small company, there are always geographically remote specific users.
A distributed database consists of its constituent parts located on separate network nodes in accordance with some criterion.
A distributed database, sometimes referred to as a distributed / parallel database or in the English abbreviation, DDB is a directly integral database, and not an arbitrary set of files that are separately located on different network nodes and is a distributed file system (FS). Data is DDB only if it is related in accordance with a certain structural formalism, a relational model, and access to them is provided by a common high-level interface.
Distributed databases can have different levels of replication - from complete absence of data duplication, to complete duplication of all data in absolutely all distributed copies (for example, blockchain) [6].
Transparency technology: distribution (including fragmentation and replication) of a database across many nodes is invisible to users. This feature is called transparency, and the way data is distributed and replicated across multiple computers connected by a network is the basis for implementing the concept of data independence from the storage environment. This is achieved through several types of transparency:
- transparency of the network, and thus transparency of distribution;
- replication transparency;
- fragmentation transparency;
- transparency of access, which means that users deal with a single logical image of the database and implement access to distributed data in the same way as if they were stored centrally.
3.1 Remote Data Access (RDA) client-server architecture
Calculations and data processing in this case occur on the server where the database itself is located. Typically Web based applications are an example of the next step in development of database administration - creation of a client-server architecture.
This always entails the need to increase the server capacity to fulfill the main advantages of this type of architecture:
- reducing the load on the network by transferring only part of the information needed by the user, and not the whole database;
- reducing the waiting time by optimizing the query by the SQL server;
- higher degree of information security due to the fact that data integrity control takes place on the server and is uniform for all users.
The role of the client is to interact with the user, provide a friendly interface, form a request, establishing connection with the server to send the request and receive the final result (Figure 3.1):
A distinctive feature as well as the main advantage of this type of application is platform independence. This means that the user can access the data using any operating system, since only a browser is required to render the user interface, which is usually already installed by default.
For example, one of the most well-known software tools, Php My Admin, is a free open source DBMS application. The program is considered the standard among webmasters, because is written in PHP and is suitable for managing My SQL and Maria DB over the Internet thanks to a wide range of possible operations. Frequently used operations (database management, tables, columns, relationships, indexes, users, permissions) can be executed through the user interface, while it is still possible to directly execute any SQL statement [10].
To understand the operation of the server, you need to have an idea of ??the interaction of its components, so Figure 3.2 shows a view of the logical architecture of My SQL (Php My Admin).
3.2 Database Server Model (DBS)
Another direction in client-server technologies is associated with the increasing use of distributed computing. They are implemented on the basis of an application model server, in which the network software (SW) is divided into two parts and more, any of which is capable of running on a separate computer. Highlighted parts of the application communicate with each other, exchanging messages in a preset format. In this case, a two-tier client-server the architecture becomes three-tier.
As a rule, the third level (link) in a three-level the architecture becomes an application server, in which case the elements are distributed in the following way (Figure 3.3):
- Information presentation - on the client side.
- Application component - on a dedicated application server (optionally serving as middleware).
- Resource management - on the database server, which provides the requested data.
Thus, the main concept of the client-server architecture is to divide the network remote application into several parts, each of which provides an individual set of services. Elements of this kind of application can be executed on different PCs, performing server and (or) client functions. This makes it possible to increase the reliability, performance and security of network applications and the network as a whole [9].
3.3 Application Server (AS) Model
An application component is implemented as a group of processes that perform application functions, and is called the Application Server (AS) (Figure 3.4).
Information resources are accessed by a resource manager (for example, a SQL server). From the application components, such resources as databases, queues, mail services, etc. are available. AS located on the computer where the resource manager functions, eliminates the need to send SQL queries over the network, which increases system performance.
RDA and DBS models rely on a two-tier separation of functions:
- in the RDA model, the application functions are given to the client program (the application component is merged with the presentation component);
- in the DBS model, the DBMS kernel assumes responsibility for their implementation (the application component is integrated into the component for accessing information resources).
The AS-model implements a three-tier function separation scheme. Here the application component is highlighted as the most important isolated application element. Comparing models, AS has the most flexibility and versatility [11].
4. Defining development tools
To implement the Web-oriented subsystem, the Node software platform, also known as Node .js, was chosen based on the V.8 engine (translating Java Script into machine code), transforming JavaScript from a highly specialized language into a general-purpose language. Node .js adds a feature like Java Script interaction with devices I / O through its own API (written in C ++), in addition, it has the ability to connect various external libraries written in all popular languages, providing calls to them from Java Script - code (Figure 4.1).
In addition, it has a number of significant advantages that fully meet the task:
- is suitable for creating various types of applications (web applications, desktop applications, games, automation scripts, complex payment systems);
- an extensive standard language library and a large selection of third-party libraries;
- simplicity and conciseness of the code makes it easier to further maintain programs written in Python, for example, compared to Java or C ++;
- Python executes code faster due to a large portion of the standard library written in C, unlike other dynamically typed programming languages ??(PHP, Ruby, JavaScript);
- Most Linux operating systems and any modern macOS already have Python preinstalled;
- low threshold of entry, easy to learn and use.
To optimize and accelerate the development of the subsystem, a framework was used - a special software platform, which allows many software components to be linked together for ease of use.
Namely, the Foundation framework is a responsive interface. Foundation provides a responsive grid and comp HTML onents, CSS UI, templates and code snippets including typography, forms, buttons, navigation and other interface elements, and additional functionality provided by Java Script extensions.
The Foundation framework is the most popular and most often used when creating websites. This is due to the convenience further support of the resource, in particular for cases where it is required constantly update the information, as in this project with a distributed database. Other important benefits are:
- high development speed;
- the presence of many additional components, so-called applications that simplify development and provide more extensive functionality;
- the ability to reuse previously created modules by using models and views;
- supports the main databases - My SQL, Postgre SQL and Oracle;
- ease of use of the MVC (Model-View-Controller) design pattern;
- availability of mechanisms to facilitate unit testing.
Foundation in this project will be used mainly as a css framework. Together with the foundation-cli console utility that provides an optimal interface [7].
4.1 Remote Server and Database Software
Depending on the software chosen, the work on the server side will depend, since the software is the basis for how the interaction of the subsystem will be developed directly with the database and the remote server (Figure 4.2).
In particular, for the work and ensuring the relationship of the Web - interface of the subsystem with the server responds with scripts written in PHP (English Hypertext Preprocessor).
PHP is a programming language used to write web applications. This language is constantly being improved, most of the developers use it for work. At the moment there is also an opportunity to use object-oriented programming.
PHP has a lot of functionality, its main task is focused on writing scripts that run on the server side. He is able, for example, to perform: form processing, create dynamic pages, work with cookies.
Three main areas can be described where this language is used: creating scripts to execute them on the server, executing scripts created in cmd (command line) and writing GUI applications.
PHP can not only create HTML fragments, but also generate images of PDF-files and Flash-movies, produce various text data, form a cache of dynamic content. One of the significant advantages is the ability to choose between using procedural or object-oriented programming (OOP) or even collaborative.
It is also worth noting that PHP is available for most operating systems, including Linux, various Unix modifications, Microsoft Windows and mac OS, RISCOS and many others. PHP also includes support for most modern web servers such as IIS, Apache and others [2].
The software itself for working with the database is built through an FTP server on which script files written in PHP are located (Figure 4.3).
4.2 Implementation of the subsystem's Web interface
The implementation of the user interface in the project is carried out using tools such as HTML (Hyper Text Markup Language - "hypertext markup language") - a standardized markup language for hypertext documents and CSS (English Cascading Style Sheets) - a formal language for describing the appearance of a document, written using markup language [5]. The figure 4.4 shows the operation of the web application.
4.3 Database software
My SQL (relational database management system) was selected as used in this project based on analysis as well as mainly based on the fact that it supports a convenient and an easy-to-use graphical interface compatible with almost any server - php My Admin (Figure 4.5) [1].
Connecting to a database in PHP in this way is done using the code shown in Figure 4.6..
Conclusions
At this stage of the master's work, an analysis of various existing options for models of access to distributed databases was carried out.
The most effective access model from the point of view of reducing the information search time has been determined.
Development tools and the principle of creating an application were defined that implements a model of access to distributed databases to reduce the time to search for information.
References
- PhpMyAdmin [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- Âðàíà Äæåéêîá. Database management in a single PHP file [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- RazorSQL [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- SQLABS [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- Òóëü÷èíñêèé Àíòîí. Ñîçäàíèå Web-èíòåðôåéñà äëÿ ñèñòåì, èñïîëüçóþùèõ ÁÄ [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- Òóðîâà Âèêòîðèÿ. Ìåòàäàííûå(Metadata) - Áàçû äàííûõ: îñíîâíûå ïîíÿòèÿ [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- Âñå î PHP, MySQL è íå òîëüêî! [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- ÏÎÐÒÔÎËÈÎ ÁÄ Ùåâåë¸â Ä.Â. [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- Íàöèîíàëüíûé îòêðûòûé óíèâåðñèòåò. Ëåêöèÿ 10: Ðàñïðåäåëåííàÿ îáðàáîòêà äàííûõ [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- Àðõèòåêòóðà ìîäåëåé óäàë¸ííîãî äîñòóïà. Òóïîëåâà À.Í.[Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- Èíòåðíåò ëåêöèè. Ðàñïðåäåëåííûå ÁÄ. [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà
- Áàçû äàííûõ. Ìàëåâ Â.Â. [Ýëåêòðîííûé ðåñóðñ]. – Ðåæèì äîñòóïà: Ññûëêà