1
0
Fork 0
arangodb/Documentation/Books/Manual/GettingStarted
Frank Celler 17938b0cab cleanup 2016-06-17 17:34:11 +02:00
..
Installing cleanup 2016-06-17 17:34:11 +02:00
WebInterface frontend documentation 2016-06-16 16:17:37 +02:00
Arangosh.mdpp Add docu content for data model and introduction 2016-06-15 21:18:42 +02:00
Authentication.mdpp Fix more dead links. 2016-06-14 17:13:28 +02:00
ComingFromSql.mdpp Rename Users documentation to Manual 2016-05-24 16:09:21 +02:00
README.mdpp remove todo, its fixed. 2016-06-17 15:52:00 +02:00

README.mdpp

!CHAPTER Getting started

!SECTION Overview

This beginner's guide will make you familiar with ArangoDB.
We will cover how to

- install and run a local ArangoDB server
- use the web interface to interact with it
- store example data in the database
- query the database to retrieve the data again
- edit and remove existing data

!SUBSECTION Installation

Head to [arangodb.com/download](https://www.arangodb.com/download/),
select your operating system and download ArangoDB. You may also follow
the instructions on how to install with a package manager, if available.

If you installed a binary package under Linux, the server is
automatically started.

If you installed ArangoDB using homebrew under MacOS X, start the
server by running `/usr/local/sbin/arangod`.

If you installed ArangoDB under Windows as a service, the server is
automatically started. Otherwise, run the `arangod.exe` located in the
installation folder's `bin` directory. You may have to run it as administrator
to grant it write permissions to `C:\Program Files`.

For more in-depth information on how to install ArangoDB, as well as available
startup parameters, installation in a cluster and so on, see
[Installing](Installing/README.md).

!SUBSECTION Securing the installation

The default installation contains one database *_system* and a user
named *root*.

Debian based packages and the Windows installer will ask for a
password during the installation process. For all other installation
packages you need to execute

```
shell> arango-secure-installation
```

This will asked for a root password and sets this password.

!SUBSECTION Web interface

The server itself (*arangod*) speaks HTTP / REST, but you can use the
graphical web interface to keep it simple. There's also
[arangosh](../Administration/Arangosh/README.md), a synchronous shell
for interaction with the server. If you're a developer, you might
prefer the shell over the GUI. It does not provide features like
syntax highlighting however.

When you start using ArangoDB in your project, you will likely use an official
or community-made driver written in the same language as your project. Drivers
implement a programming interface that should feel natural for that programming
language, and do all the talking to the server. Therefore, you can most certainly
ignore the HTTP API unless you want to write a driver yourself or explicitly
want to use the raw interface.

To get familiar with the database system you can even put drivers aside and
use the web interface (code name *Aardvark*) for basic interaction.
The web interface will become available shortly after you started `arangod`.
You can access it in your browser at http://localhost:8529 - if not, please
see [Troubleshooting](../Troubleshooting/README.md).

By default, authentication is enabled. The default user is
`root`. Depending on the installation method used, the installation
process either prompted for the root password or the default root
password is empty (see [above](#securing-the-installation)).

![Aardvark Login Form](AardvarkLoginAuthentication.png)

Next you will be asked which database to use. Every server instance comes with
a `_system` database. Select this database to continue.

You should then be presented the dashboard with server statistics like this:

![Aardvark Dashboard Request Statistics](AardvarkDashboardRequestStatistics.png)

For a more detailed description of the interface, see [Web Interface](WebInterface/README.md).

!SUBSECTION Databases, collections and documents

Databases are sets of collections. Collections store records, which are referred
to as documents. Collections are the equivalent of tables in RDBMS, and
documents can be thought of as rows in a table. The difference is that you don't
define what columns (or rather attribures) there will be in advance. Every
document in any collection can have arbitrary attribute keys and
values. Documents in a single collection will likely have a similar structure in
practice however, but the database system itself does not require it and will
operate stable and fast no matter how your data looks like.

!SECTION ArangoDB programs 

The ArangoDB package comes with the following programs:
- `arangod`: The [ArangoDB database daemon](../Administration/Configuration/Arangod.md).
  This server program is intended to run as a daemon process and to serve the
  various clients connection to the server via TCP / HTTP.
  
- `arangosh`: The [ArangoDB shell](../Administration/Arangosh/README.md).
  A client that implements a read-eval-print loop (REPL) and provides functions
  to access and administrate the ArangoDB server.
  
- `arangoimp`: A [bulk importer](../Administration/Arangoimp.md) for the
  ArangoDB server. It supports JSON and CSV.
  
- `arangodump`: A tool to [create backups](../Administration/Arangodump.md)
  of an ArangoDB database in JSON format.
   
- `arangorestore`: A tool to [load data of a backup](../Administration/Arangorestore.md)
  back into an ArangoDB database.
  
- `arango-dfdb`: A [datafile debugger](../Troubleshooting/DatafileDebugger.md) for
  ArangoDB. It is primarily intended to be used during development of ArangoDB.
  
- `arangobench`: A [benchmark and test tool](../Troubleshooting/Arangobench.md).
  It can be used for performance and server function testing.