1
0
Fork 0

updated documentation

This commit is contained in:
Jan Steemann 2013-10-01 15:04:20 +02:00
parent cf583b061e
commit 8ebb9f54ea
3 changed files with 204 additions and 2 deletions

View File

@ -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

View File

@ -2,7 +2,10 @@ TOC {#NewFeatures14TOC}
=======================
- @ref NewFeatures14Introduction
- @ref NewFeatures14Foxx
- @ref NewFeatures14MultipleDatabases
- @ref NewFeatures14Endpoints
- @ref NewFeatures14Async
- @ref NewFeatures14Replication
- @ref NewFeatures14WebInterface
- @ref NewFeatures14Options

View File

@ -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}
==============================================