Update user technical documentation

Summary: Document durability and RPM installation in user docs

Reviewers: buda, mtomic, ipaljak

Reviewed By: buda, mtomic

Differential Revision: https://phabricator.memgraph.io/D1345
This commit is contained in:
Teon Banek 2018-04-09 14:31:52 +02:00
parent eff843bbcc
commit 79b9c0a647
5 changed files with 83 additions and 7 deletions

View File

@ -14,7 +14,7 @@ data structures, multi-version concurrency control and asynchronous IO.
* [Quick Start](quick-start.md)
* [Examples](examples.md)
* [Drivers](drivers.md)
* [Storable Data Types](data-types.md)
* [Data Storage](storage.md)
* [openCypher Query Language](open-cypher.md)
* [Import Tools](import-tools.md)
* [Upcoming Features](upcoming-features.md)

View File

@ -39,9 +39,9 @@ when starting Memgraph using the `--durability-directory` option.
--durability-enabled=false --snapshot-on-exit=false
```
When using Memgraph installed from DEB package, you may need to stop the
currently running Memgraph server before you can import the example. Use the
following command:
When using Memgraph installed from DEB or RPM package, you may need to stop
the currently running Memgraph server before you can import the example. Use
the following command:
```
systemctl stop memgraph

View File

@ -253,7 +253,7 @@ You can still use the `RETURN` clause to produce results after writing, but it
is not mandatory.
Details on which kind of data can be stored in *Memgraph* can be found in
**Storable Data Types** chapter.
**Data Storage** chapter.
#### CREATE

View File

@ -7,11 +7,16 @@ basic queries against the database.
The Memgraph binary is offered as:
* Debian package for Debian 9 (Stretch) and
* Debian package for Debian 9 (Stretch);
* RPM package for CentOS 7 and
* Docker image.
After downloading the binary, proceed to the corresponding section below.
NOTE: Currently, newer versions of Memgraph are not backward compatible with
older versions. This is mainly noticeable by unsupported loading of storage
snapshots between different versions.
#### Docker Installation
Before proceeding with the installation, please install the Docker engine on
@ -92,6 +97,47 @@ systemctl stop memgraph
Memgraph configuration is available in `/etc/memgraph/memgraph.conf`. After
changing the configuration, Memgraph needs to be restarted.
#### RPM Package Installation
If you downloaded the RPM package of Memgraph, you can install it by running
the following command.
```
rpm -U /path/to/memgraph-<version>.rpm
```
After the successful installation, Memgraph can be started as a service. To do
so, type the following command.
```
systemctl start memgraph
```
To verify that Memgraph is running, run the following command.
```
journalctl --unit memgraph
```
It is expected to see something like the following output.
```
Nov 23 13:40:13 hostname memgraph[14654]: Starting 8 workers
Nov 23 13:40:13 hostname memgraph[14654]: Server is fully armed and operational
Nov 23 13:40:13 hostname memgraph[14654]: Listening on 0.0.0.0 at 7687
```
Memgraph is now ready to process queries, you may now proceed to
[querying](#querying). To shutdown Memgraph server, issue the following
command.
```
systemctl stop memgraph
```
Memgraph configuration is available in `/etc/memgraph/memgraph.conf`. After
changing the configuration, Memgraph needs to be restarted.
### Querying
Memgraph supports the openCypher query language which has been developed by
@ -142,7 +188,7 @@ To learn more about the openCypher language, visit **openCypher Query
Language** chapter in this document. For real-world examples of how to use
Memgraph visit **Examples** chapter. If you wish to use a programming language
to execute queries on Memgraph, go to the **Drivers** chapter. Details on what
can be stored in Memgraph are in **Storable Data Types** chapter.
can be stored in Memgraph are in **Data Storage** chapter.
We *welcome and encourage* your feedback!

View File

@ -1,3 +1,33 @@
## Durability and Data Recovery
*Memgraph* uses two mechanisms to ensure the durability of the stored data:
* write-ahead logging (WAL) and
* taking periodic snapshots.
Write-ahead logging works by logging all database modifications to a file.
This ensures that all operations are done atomically and provides a trace of
steps needed to reconstruct the database state.
Snapshots are taken periodically during the entire runtime of *Memgraph*. When
a snapshot is triggered, the whole data storage is written to disk. The
snapshot file provides a quicker way to restore the database state.
Database recovery is done on startup from the most recently found snapshot
file. Since the snapshot may be older than the most recent update logged in
the WAL file, the recovery process will apply the remaining state changes
found in the said WAL file.
NOTE: Snapshot and WAL files are not (currently) compatible between *Memgraph*
versions.
Behaviour of the above mechanisms can be tweaked in the configuration file,
usually found in `/etc/memgraph/memgraph.conf`.
In addition to the above mentioned data durability and recovery, a
snapshot file may be generated using *Memgraph's* import tools. For more
information, take a look at **Import Tools** chapter.
## Storable Data Types
Since *Memgraph* is a *graph* database management system, data is stored in