ZZZ Base is a NoSQL database and knowledge management system.

It is versatile (multimodel) - supports the functionality of all types NoSQL databases:

documentary;

hierarchical;

graph;

object;

key-value;

new types can be added using the embedded in the base programming language.

Combines the following features:

hierarchical;

object-oriented;

distributed;

scalable;

suitable for processing both very small (few bytes) and incredibly large volumes of information (petabytes x n);

all items are indexed;

possibility to instantly search for the closest to nonexistent element - a difficult task for most common SQL and NoSQL databases with a large amount of elements;

functional, macro language similar to Lisp;

access rights;

easy to use from different programming languages;

client-server technology, and it is possible for a server to be a client on another server;

technology for sorting elements with complexity O(1);

instant search for an item in a host with a huge number of (trillion) items;

Commands governing the base

These commands allow the free selection of ZZZ servers and ZZZ bases as well as the movement in their sets/elements.
During navigation, you can delete and change sets/elements or enter subsets and supersets.

~+

Activates link to a ZZZ Server

The first parameter is the name of the host.
The second parameter is the port number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~-

Releases link to a ZZZ Server

The first parameter is the name of the host.
The second parameter is the port number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~>

Runs a remote program from a link to a ZZZ Server

The program should start with #
The first parameter is the name of the host.
The second parameter is the port number.
The third parameter is the program to be executed.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

Choice of a ZZZ base

~~+

Activates link to a ZZZ Base

If the base does not exist, the function creates it if one of the options is not included -ban base create or -ban base write from the command line of the ZZZ server! The first parameter is the base name.

A program using commands to access the ZZZ base:

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~-

Releases link to a ZZZ Base

The first parameter is the base name.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

Transaction protection + read/write control

~~v

Starts writing process in the ZZZ Base

Does not allow recording if option is on -ban base write from the command line of PPS server!
The first parameter is the base name.
The second parameter is the time in milliseconds to wait for activation of the recording process.
The third optional parameter is a user name.
The fourth optional parameter is a password.
The result is the process number that is greater than or equal to 0.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~^

Starts reading process in the ZZZ Base

The first parameter is the base name.
The second optional parameter is a user name.
The third optional parameter is a password.
The result is the process number that is greater than or equal to 0.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~.

Ends process for reading or writing in the ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~vx

Interrupts a write process in a ZZZ Base, leaving the database with unchanged content

The first parameter is the base name.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

Working with sets and elements of ZZZ base

~~+.

Adds an element to the current set of a ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the element itself.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~/.

Modifies the current element of a set in a ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number
The third parameter is the new value of the element itself.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~-.

Removes the current element of a set in a ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~^.

Reads the current element of a set in a ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>.

Moves to an element of a ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the value of the search item.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~(.)

Returns the length of an element of a ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>v

Moves to the subset of a ZZZ Base element

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>^

Moves to the superset of a ZZZ Base element

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>(.

Moves to the first element of the current ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>).

Moves to the last element of the current ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>+.

Moves to the next element of the current ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>-.

Moves to the previous element of the current ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>?

Moves to one of the closest to the requested item of the current ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the search item.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>(?

Moves to first one of the closest to the requested item of the current ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the search item.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>)?

Moves to last one of the closest to the requested item of the current ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the search item.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

Roads in ZZZ base

~~*...

Returns the path to the current element of a ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter specifies whether the function should retain the current position.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>...

Moves to an element along the specified path in ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the path to the element.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~^...

Reads an element of the specified path in ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the path to the element.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~?.

Checks for the presence of an element in the current ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the element.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~?...

Checks for the presence of a path in the current ZZZ Base set

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the path in the base.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~+...

Adds an item along the specified path in the ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the path to the element ending with the element itself.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

Symbols in ZZZ Base

~~>-@

Moves to the previous character of an element in ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>+@

Moves to the next character of an element in the ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>^@

Moves to the upper element symbol in the ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>v@

Moves to the lower symbol of an element in the PHS base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

Conversion of Roads from ZZZ Base

~~///...

Converts a road with dividers to a road in the ZZZ Base

The first parameter is the separator path.
The second parameter is the separator.

~~...///

Converts a path in a ZZZ Base to a road with separators

The first parameter is the separator.
The second parameter is the path.

Lock and unlock read / write items from ZZZ base

~~#v

Locks an element for writing (removing) in a ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~$v

Unlocks an element for writing (removing) in a ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~#^

Locks an element for reading in a ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~$^

Unlocks an element for reading in a ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~>./.

Moves set from path to another path in a ZZZ Base

The first parameter is the base name.
The second parameter is the process identifier number.
The third parameter is the path to the element ending with the element itself.
The fourth parameter is the path where we want to move the element.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

Commands to restrict access to a base

~~u+

Adds user with password and access mode to the current base and returns true on success

The first parameter is the base name.
The second parameter is the record identifier.
The third parameter is the user name.
The fourth parameter is the user password.
The fifth parameter is the user access mode to the current base and has one of the following values:

admin - has the right to change and add users, to record and read;

write - has the right to record and read;

read - has the right to read;

all other values restrict user access to the base.

It is desirable to add at least one user with access mode admin, if you do not add it, you will not be able to change the user information after the end of the current database entry process!
If you have at least one user with mode write you will be able to delete the workgroup with base users.

Adding users with access mode only read is tantamount to locking the base for recording.
Adding users with access mode other than admin, write, read is tantamount to locking the read and write base.
So before you lock the base in such a way it is advisable to make a copy of it.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~u/

Changes user name or password and returns true on success

The first parameter is the base name.
The second parameter is the record identifier.
The third parameter is the current user name.
The fourth parameter is the current user password.
The fifth parameter is the new user name.
The sixth parameter is the new user password.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt

~~u-

Removes user and returns true on success

The first parameter is the base name.
The second parameter is the record identifier.
The third parameter is the current user name.
The fourth parameter is the current user password.

The above program, written with commands for simplified access to the base developed in the TTM library: simplify.txt