mirror of https://gitee.com/bigwinds/arangodb
updated documentation
This commit is contained in:
parent
cf583b061e
commit
8ebb9f54ea
|
@ -12,6 +12,11 @@ ArangoDB 1.4. ArangoDB 1.4 also contains several bugfixes that are not listed
|
||||||
here - see the @EXTREF{https://github.com/triAGENS/ArangoDB/blob/devel/CHANGELOG,CHANGELOG}
|
here - see the @EXTREF{https://github.com/triAGENS/ArangoDB/blob/devel/CHANGELOG,CHANGELOG}
|
||||||
for details.
|
for details.
|
||||||
|
|
||||||
|
Foxx {#NewFeatures14Foxx}
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
Multiple Databases {#NewFeatures14MultipleDatabases}
|
Multiple Databases {#NewFeatures14MultipleDatabases}
|
||||||
----------------------------------------------------
|
----------------------------------------------------
|
||||||
|
|
||||||
|
@ -126,7 +131,7 @@ working earlier without waiting for the operation to finish.
|
||||||
|
|
||||||
Asynchronous requests are queued on the server and executed by the server as soon
|
Asynchronous requests are queued on the server and executed by the server as soon
|
||||||
as possible. The maximum size of the queue can be bounded by using the startup option
|
as possible. The maximum size of the queue can be bounded by using the startup option
|
||||||
`-scheduler.maximal-queue-size`.
|
`--scheduler.maximal-queue-size`.
|
||||||
|
|
||||||
The results of asynchronously executed requests are either dropped immediately by the
|
The results of asynchronously executed requests are either dropped immediately by the
|
||||||
server (i.e. _fire and forget_) or are stored in memory for later retrieval by the
|
server (i.e. _fire and forget_) or are stored in memory for later retrieval by the
|
||||||
|
@ -139,3 +144,68 @@ Replication{#NewFeatures14Replication}
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
See @ref UserManualReplication for details.
|
See @ref UserManualReplication for details.
|
||||||
|
|
||||||
|
Web Interface Improvements {#NewFeatures14WebInterface}
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
The web interface now provides a graph viewer on the **Graphs** tab. The graph viewer
|
||||||
|
can be used to explore and navigate an existing ArangoDB graph. It supports both
|
||||||
|
graphs in the `_graphs` system collection as well as user-defined graphs that are
|
||||||
|
composed of an arbitrary vertex and edge collection.
|
||||||
|
|
||||||
|
The **Dashboard** tab in the web interface provides an overview of server figures, which
|
||||||
|
can be adjusted to user needs. New figures are polled by the web interface in a
|
||||||
|
configurable interval, and can be graphed as time-series.
|
||||||
|
|
||||||
|
The new **API** provides the full documentation of ArangoDB's built-in HTTP API.
|
||||||
|
This allows browsing the ArangoDB API locally without the need to refer to the
|
||||||
|
arangodb.org website for documentation.
|
||||||
|
|
||||||
|
The **Applications** tab in the web interface provides an improved overview of installed
|
||||||
|
and available Foxx applications.
|
||||||
|
|
||||||
|
The **AQL Editor** now provides some example queries and allows saving user-defined queries
|
||||||
|
for later reuse.
|
||||||
|
|
||||||
|
The details view of collections in the web interface now shows more detailed figures
|
||||||
|
and also a collection's available indexes. Indexes can be created and deleted directly
|
||||||
|
from the web interface now.
|
||||||
|
|
||||||
|
Command-Line Options added {#NewFeatures14Options}
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
|
The following command-line options have been added for _arangod_ in ArangoDB 1.4:
|
||||||
|
|
||||||
|
* `--scheduler.maximal-queue-size`: limits the size of the asynchronous request
|
||||||
|
execution queue. Please have a look at @ref NewFeatures14Async for more details.
|
||||||
|
|
||||||
|
* `--server.authenticate-system-only`: require authentication only for requests
|
||||||
|
going to internal APIs, that is URLs starting with `/_` (e.g. `/_api/...`).
|
||||||
|
|
||||||
|
* `--server.disable-replication-applier`: start the server with all replication
|
||||||
|
appliers disabled. This might be useful if you want to fix a replication setup problem.
|
||||||
|
|
||||||
|
* `--server.disable-replication-logger`: start the server with all replication
|
||||||
|
loggers disabled. This might be useful if you want to fix a replication setup problem.
|
||||||
|
|
||||||
|
* `--log.requests-file`: log incoming HTTP requests to a file
|
||||||
|
|
||||||
|
* `--log.content-filter`: restrict log output to messages containing a specific
|
||||||
|
string only. This is a debugging option.
|
||||||
|
|
||||||
|
* `--log.source-filter` (renamed from `--log.filter`): restrict trace/debug log
|
||||||
|
output to messages originated by specific C/C++ source files. This is a debugging option.
|
||||||
|
|
||||||
|
|
||||||
|
The following command-line options have been added for _arangosh_ in 1.4:
|
||||||
|
|
||||||
|
* `--server.database`: allows specifying the database name for the connection
|
||||||
|
|
||||||
|
* `--prompt`: allows setting a user-defined prompt in arangosh. A `%d` in the
|
||||||
|
prompt will be replaced with the name of the current database.
|
||||||
|
|
||||||
|
|
||||||
|
The following command-line options have been added for _arangoimp_ in 1.4:
|
||||||
|
|
||||||
|
* `--server.database`: allows specifying the database name for the connection
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,10 @@ TOC {#NewFeatures14TOC}
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
- @ref NewFeatures14Introduction
|
- @ref NewFeatures14Introduction
|
||||||
|
- @ref NewFeatures14Foxx
|
||||||
- @ref NewFeatures14MultipleDatabases
|
- @ref NewFeatures14MultipleDatabases
|
||||||
- @ref NewFeatures14Endpoints
|
- @ref NewFeatures14Endpoints
|
||||||
- @ref NewFeatures14Async
|
- @ref NewFeatures14Async
|
||||||
- @ref NewFeatures14Replication
|
- @ref NewFeatures14Replication
|
||||||
|
- @ref NewFeatures14WebInterface
|
||||||
|
- @ref NewFeatures14Options
|
||||||
|
|
|
@ -7,7 +7,113 @@ Upgrading to ArangoDB 1.4 {#Upgrading14}
|
||||||
Upgrading {#Upgrading14Introduction}
|
Upgrading {#Upgrading14Introduction}
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
1.4 is currently alpha, please do not use in production.
|
1.4 is currently beta, please do not use in production.
|
||||||
|
|
||||||
|
Filesystem layout changes {#Upgrading14FileSystem}
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
|
The introduction of the "multiple databases" feature in ArangoDB 1.4
|
||||||
|
has caused some changes in how ArangoDB organises data in the filesystem.
|
||||||
|
The changes may be relevant when upgrading from an earlier version of
|
||||||
|
ArangoDB to 1.4.
|
||||||
|
|
||||||
|
If you upgrade from an existing ArangoDB 1.3 to 1.4, or from an older
|
||||||
|
version of 1.4 to the beta or stable 1.4 version, ArangoDB will move some
|
||||||
|
files and directories in the database and the applications directory around
|
||||||
|
so the result matches the required new layout.
|
||||||
|
|
||||||
|
As usual when upgrading an existing ArangoDB instance, it may be necessary
|
||||||
|
to force the upgrade by starting the server once with the `--upgrade` option.
|
||||||
|
|
||||||
|
This will automatically make the server run the upgrade tasks, which will
|
||||||
|
move files around if required.
|
||||||
|
|
||||||
|
It is good practice to do a full backup of your data and applications directories
|
||||||
|
before upgrading.
|
||||||
|
|
||||||
|
Please note that if you have your own scripts or procedures in place that directly
|
||||||
|
work on ArangoDB files or directories, you might need to ajdust them so they
|
||||||
|
use the new file and directory locations of ArangoDB 1.4.
|
||||||
|
|
||||||
|
Changes in the data directory
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
If you only access the database and collection files via ArangoDB commands and
|
||||||
|
don't ever access the files in it separately, you may want to skip this section.
|
||||||
|
You should read on if you work on/with the files in the database directory with
|
||||||
|
tools other than ArangoDB (e.g. Unix commands, backup tools).
|
||||||
|
|
||||||
|
Before 1.4, there was only one database in an ArangoDB instance, and ArangoDB
|
||||||
|
stored the data of all collections in directories directly underneath the main
|
||||||
|
data directory.
|
||||||
|
|
||||||
|
This "old" filesystem layout looked like this:
|
||||||
|
|
||||||
|
<data directory>/
|
||||||
|
<collection-abc>/
|
||||||
|
<collection-xyz>/
|
||||||
|
...
|
||||||
|
|
||||||
|
With multiple databases in 1.4, the filesystem layout is now:
|
||||||
|
|
||||||
|
<data directory>/
|
||||||
|
databases/
|
||||||
|
<database-123>/
|
||||||
|
<collection-abc>/
|
||||||
|
<collection-xyz>/
|
||||||
|
<database-456>/
|
||||||
|
<collection-abc>/
|
||||||
|
<collection-xyz>/
|
||||||
|
|
||||||
|
As you can see above, there is now an intermediate directory named _databases_
|
||||||
|
inside the data directory, and each database resides in its own sub-directory
|
||||||
|
underneath the _databases_ directory.
|
||||||
|
|
||||||
|
Database directory names use a numeric id part, e.g. `database-12345`.
|
||||||
|
To tell which database directory belongs to which database, you can check the file
|
||||||
|
`parameter.json` inside a database directory (by the way: collections work the same,
|
||||||
|
and you can determine the name of a collection by looking into the `parameter.json`
|
||||||
|
file in a collection's directory).
|
||||||
|
|
||||||
|
Changes in the apps directory
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
Due to the multiple databases feature, there are also changes with respect to where
|
||||||
|
Foxx applications need to be organised in the filesystem. If you have not yet used
|
||||||
|
Foxx in ArangoDB already, you can safely skip this section.
|
||||||
|
|
||||||
|
Foxx applications in previous versions of ArangoDB resided in the application directory,
|
||||||
|
with each Foxx application being contained in a directory directly underneath the main
|
||||||
|
application directory like this:
|
||||||
|
|
||||||
|
apps/
|
||||||
|
<app name>/
|
||||||
|
<app name>/
|
||||||
|
...
|
||||||
|
|
||||||
|
With multiple databases in ArangoDB 1.4, Foxx applications can be installed per database.
|
||||||
|
This requires Foxx applications to reside in database-specific directories.
|
||||||
|
|
||||||
|
apps/
|
||||||
|
databases/
|
||||||
|
<database name>/
|
||||||
|
<app name>/
|
||||||
|
<app name>/
|
||||||
|
...
|
||||||
|
<database name>/
|
||||||
|
<app name>/
|
||||||
|
...
|
||||||
|
...
|
||||||
|
system/
|
||||||
|
<app name>/
|
||||||
|
...
|
||||||
|
|
||||||
|
The directories of individual applications will thus be moved underneath the correct
|
||||||
|
database sub-directory in the directory `apps/databases`.
|
||||||
|
There is also the option of using so-called *system applications*. These are not
|
||||||
|
database-specific but shared between all databases. ArangoDB is shipped with one
|
||||||
|
system application named *aardvark*, which is ArangoDB's web-based admin interface.
|
||||||
|
|
||||||
|
|
||||||
Troubleshooting {#Upgrading14Troubleshooting}
|
Troubleshooting {#Upgrading14Troubleshooting}
|
||||||
=============================================
|
=============================================
|
||||||
|
@ -39,6 +145,29 @@ the same IP address, so ArangoDB will try to bind to the same address twice
|
||||||
Other obvious bind problems at startup may be caused by ports being used by
|
Other obvious bind problems at startup may be caused by ports being used by
|
||||||
other programs, or IP addresses changing.
|
other programs, or IP addresses changing.
|
||||||
|
|
||||||
|
Problem: Find out the storage location of a database / collection
|
||||||
|
-----------------------------------------------------------------
|
||||||
|
|
||||||
|
To tell which directory belongs to which named database and which collection, you
|
||||||
|
can use a Bash script like this:
|
||||||
|
|
||||||
|
cd /path/to/data/directroy
|
||||||
|
for db in `find databases -mindepth 1 -maxdepth 1 -type d`;
|
||||||
|
do
|
||||||
|
echo -n "- database directory \"$db\", name ";
|
||||||
|
grep -o -E "name\":\"[^\"]+\"" "$db"/parameter.json | cut -d ":" -f 2;
|
||||||
|
|
||||||
|
for c in `find $db/ -mindepth 1 -maxdepth 1 -type d`;
|
||||||
|
do
|
||||||
|
echo -n " - collection directory \"$c\", name ";
|
||||||
|
grep -E -o "name\":\"[^\"]+\"" "$c/parameter.json" | cut -d ":" -f 2;
|
||||||
|
done;
|
||||||
|
|
||||||
|
echo;
|
||||||
|
done
|
||||||
|
|
||||||
|
The above script should print out the names of all databases and collections
|
||||||
|
with their corresponding directory names.
|
||||||
|
|
||||||
Removed Features {#Upgrading14RemovedFeatures}
|
Removed Features {#Upgrading14RemovedFeatures}
|
||||||
==============================================
|
==============================================
|
||||||
|
|
Loading…
Reference in New Issue