Georgi Pashev

Programmer, Software Engineer, Scientist, Entrepreneur

  • Increase font size
  • Default font size
  • Decrease font size
Georgi Pashev

Graph Database Management System

E-mail Print PDF

 

GDBMS

 

Project's doxygen: Graph database management system

 

Main characteristics:

  1. Fuly transactional

  2. Supports formalism called labeled directed attributed hypergraph

  3. Users management, sessions, transactions are separated by the transport system, so that different transport system can be used in future

  4. Its own procedural language for definition of triggers and user scripts

  5. Type definition subsystem, which supports class object-like hierarchy structures, arrays definitions, simple types aliases definitions

GDBMS is designed and implemented to support Graph Database formalism called Directed, labeled hyper-graph, which increases the power of the set of applicable tasks which can be solved by such a system. More efficient disk usage is also achieved by using the formalism: 2 or more edges can be represented as 1 hyper-edge. Another important feature of the system is that each of the nodes and edges can be of different user types. User types can be user defined structures, arrays or simple type aliases for integers or strings. The system is transactional, user authentication and authorization, sessions and transactions management. The transactional subsystem is quite sophisticated unlike the transactional subsystems of other lookalike graph database systems. It insures that only those edges or nodes, which have been added or altered by the transaction are in the transactional folder and/or locked by the transaction. Information about the transaction history is maintained, and when transaction close command is received, some edge/node operations dependencies are resolved and handled: Insert after update, update after insert, update after update, for instance. Data is stored in xml based hash table, which balances the relative complexity of search operations and insert and alter operations and achieves easier transactional lock of files when needed. If binary trees were used, much effort on balancing the trees would be required, when insert and update operations occur.The hybrid data model which has relational and hierarchical characteristics is also easily achieved by using multiple hash tables.

Search and iteration operations support limiting the number of results when too big graphs are iterated.

Extreme path queries support relative path user specification to a valid value in a valid type path in the type hierarchy for a node.

The metric in terms to the extreme path queries is a valid type path to a numeric value in each edge, which is used by Dijkstra algorithms to determine which of the paths is longest or shortest. The metric can be determined in a user trigger, specified in a user defined script by a formula or directly, depending on the user application.

The web service interface remote methods, which directly support call of each operations is obsolete and the user is encouraged to use the methods, which allow script interpretation and user script triggers registration and interpretation.

As a conclusion we can claim that the system has everything needed to serve as a basis of a numerous set of applications, which are graph based or hypergraph oriented: routing protocols simulations; map tasks; social networks graphs; Set oriented tasks (Hyperedges can be viewed as a sets of nodes), etc.

The user is able to define its own event handlers. The language is procedural. It supports its own flow identifier operator for graphflow queries for nodes and edges, which is used in combination with foreach operator.

 

About Me

E-mail Print PDF

 

 

 

European curriculum vitae

format

 

 

 

Personal information

 

Name

 

Pashev, Georgi Petrov

Address

 

13 Ul Georgi Voiteh, 4000 Plovdiv, Bulgaria

Telephone

 

0895662140

Fax

 

 

E-mail

 

This e-mail address is being protected from spambots. You need JavaScript enabled to view it

 

Nationality

 

Bulgarian



Date of birth

 

[10, 05, 1988 ]

 

Work experience

 

Dates (from – to)

21.10.2011 up to now

Name and address of employer

Dextro – Research Ltd. http://dextro-research.eu

Main activities and responsibilities

EMS Runtime environment

My participation in the project is in a crucial part: development of the runtime environment, runtime process evaluation, own interpreter development.

Project's website: http://dextro-research.eu/project/

 

The project builds upon existing EMSG technology- an established Client-Server workflow management platform

The new and improved EMSG platform focuses on improving and expanding the platform, achieving better automation and platform scalability.

The EMSG software platform is suitable for development of highly complex information systems which must remain responsive and operational in intense workload conditions.

EMSG can help overcome problems caused by lack of resources in centralized information systems, especially with regard to multiple similar business organizations or multiple departments in a single business.

EMSG can lower the cost of initial development as well as the cost of ongoing support and further development and expansion.



 

 

 

Work experience

Dates (from – to)

 

07.2011 up to now

Name and address of employer

 

Self - employed

Main activities and responsibilities

 

Development of GDBMS (Graph Database Management System). Online documentation available here: http://gpashev.100webspace.net/documentation/html/

GDBMS

Main characteristics:

  1. Fully transactional

  2. Supports formalism called labeled directed attributed hypergraph

  3. Users management, sessions, transactions are separated by the transport system, so that different transport system can be used in future

  4. Its own procedural language for definition of triggers and user scripts

  5. Type definition subsystem, which supports class object-like hierarchy structures, arrays definitions, simple types aliases definitions

GDBMS is designed and implemented to support Graph Database formalism called Directed, labeled hyper-graph, which increases the power of the set of applicable tasks which can be solved by such a system. More efficient disk usage is also achieved by using the formalism: 2 or more edges can be represented as 1 hyper-edge. Another important feature of the system is that each of the nodes and edges can be of different user types. User types can be user defined structures, arrays or simple type aliases for integers or strings. The system is transactional, user authentication and authorization, sessions and transactions management. The transactional subsystem is quite sophisticated unlike the transactional subsystems of other lookalike graph database systems. It insures that only those edges or nodes, which have been added or altered by the transaction are in the transactional folder and/or locked by the transaction. Information about the transaction history is maintained, and when transaction close command is received, some edge/node operations dependencies are resolved and handled: Insert after update, update after insert, update after update, for instance. Data is stored in xml based hash table, which balances the relative complexity of search operations and insert and alter operations and achieves easier transactional lock of files when needed. If binary trees were used, much effort on balancing the trees would be required, when insert and update operations occur. The hybrid data model which has relational and hierarchical characteristics is also easily achieved by using multiple hash tables.

Search and iteration operations support limitation of the number of results when too big graphs are iterated/searched.

Extremal path queries support relative path user specification to a valid value in a valid type path in the type hierarchy for a node.

The metric in terms to the extreme path queries is a valid type path to a numeric value in each edge, which is used by Dijkstra algorithms to determine which of the paths is longest or shortest. The metric can be determined in a user trigger, specified in a user defined script by a formula or directly, depending on the user application.

The web service interface remote methods, which directly support call of each operations is obsolete and the user is encouraged to use the methods, which allow script interpretation and user script triggers registration and interpretation.

As a conclusion we can claim that the system has everything needed to serve as a basis of a numerous set of applications, which are graph based or hyper-graph oriented: routing protocols simulations; map tasks; social networks graphs; Set oriented tasks (Hyper-edges can be viewed as a sets of nodes), etc.

The user is able to define its own event handlers. The language is procedural. It supports its own flow identifier operator for graph-flow queries for nodes and edges, which is used in combination with foreach operator.

 

 

 

Dates (from – to)

 

28.05.2011 up to now

Name and address of employer

 

CID-ATLAS EOOD

Plovdiv 4000, Ul. Kapitan Raicho 73A

Main activities and responsibilities

 

Programmer. Development of various Database Applications for Desktop and web usage, which automate its customer services.

 

Education and training

 

 

Dates (from – to)

 

2007-09-10 - 2011-07

Name and type of organization providing education and training

 

Technical University Sofia – Branch Plovdiv

Principal subjects/occupational

skills covered

 

This major is targeted at training skilled professionals in the field of design, development, maintenance and usage of computer systems. Discrete mathematics, organisation of the computation process, microprocessor systems, computer architecture, operating systems, methods of information transfer, computer networks, programming, databases, information systems, programming environments, etc. are in the core of this degree programme.

Students go through basic training and continue in specialized modules, as they can opt for part of the subjects according to their interests, plans and abilities.

Graduates of these degree programmes work in all fields of industry, service sector, administration, banking, etc. where computer systems, information technologies and microprocessor control are developed, implemented and used. Other possible career opportunities include government, public and private organisations dealing with manufacture, assembly or sale of computer systems and devices.

 

Title of qualification awarded

 

Bachelor of Computer Engineering,

Master of
Computer Engineering

Level in national classification

(if appropriate)

 

Bachelor,

Master

 

Personal skills

and competences

Acquired in the course of life and career but not necessarily covered by formal certificates and diplomas.

 

Mother tongue

 

Bulgarian



Other languages



 

 

English

Reading skills

 

excellent

Writing skills

 

excellent

Verbal skills

 

good

 

 

 

 

German

Reading skills

 

basic

Writing skills

 

basic

Verbal skills

 

basic

 

Technical skills

and competences

With computers, specific kinds of equipment, machinery, etc.

 

Experience with:



Qt-creator, kdevelop, kdbg, valgrind, etc.

C/C++ programming (g++, gcc (including inline assembly) for Linux and



Windows; Microsoft Visual C++ 9.0 Express Edition



(including inline assembly);)



C++, C# .Net programming;



NASM

, MASM

Assembly language for PIC Microcontrollers



PHP, MySQL, HTML, CSS, Javascript





 

 

Driving licence(s)

 

Cat B

 

 

 

 

 

 

 

Search