Abstract

Contents

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:

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:

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:

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):

pic1
Figure 3.1 – Two-tier client / server database architecture

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).

pic1
Figure 3.2 – Logical Architecture 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.

pic1
Figure 3.3 – Three-tier client-server database architecture

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):

  1. Information presentation - on the client side.
  2. Application component - on a dedicated application server (optionally serving as middleware).
  3. 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

pic1
Figure 3.4 – Three-tier client-server database architecture

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:

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).

pic1
Figure 4.1 – Creating a local server to temporarily host the developing HTML page in Node .js

In addition, it has a number of significant advantages that fully meet the task:

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:

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).

pic1
Figure 4.2 – User interaction architecture

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).

pic1
Figure 4.3 – Location of PHP application scripts project files on FTP server

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.

pic1
Figure 4.4 – Scheme of the web application (animation: 12 frames, repetition cycles: 8, 140 kilobytes)

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].

pic1
Figure 4.5 – Php MyAdmin interface start page

Connecting to a database in PHP in this way is done using the code shown in Figure 4.6..

pic1
Figure 4.6 – PHP script that implements connection to My SQL

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