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}
|
||||
for details.
|
||||
|
||||
Foxx {#NewFeatures14Foxx}
|
||||
-------------------------
|
||||
|
||||
TODO
|
||||
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
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 NewFeatures14Foxx
|
||||
- @ref NewFeatures14MultipleDatabases
|
||||
- @ref NewFeatures14Endpoints
|
||||
- @ref NewFeatures14Async
|
||||
- @ref NewFeatures14Replication
|
||||
- @ref NewFeatures14WebInterface
|
||||
- @ref NewFeatures14Options
|
||||
|
|
|
@ -7,7 +7,113 @@ Upgrading to ArangoDB 1.4 {#Upgrading14}
|
|||
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}
|
||||
=============================================
|
||||
|
@ -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 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}
|
||||
==============================================
|
||||
|
|
Loading…
Reference in New Issue