How to Interact With ArangoDB

Learn about the different ways you can use and communicate with ArangoDB

How to Communicate with the Server

The core component of ArangoDB is the ArangoDB server (arangod) that stores data and handles requests. You have different options for talking to the server, through the web interface, command-line tools, drivers, and the server’s REST API.

Web Interface

The easiest way to get started with ArangoDB is to use the included web interface. The ArangoDB server serves this graphical user interface (GUI) and you can access it by pointing your browser to the server’s endpoint, which is http://localhost:8529 by default if you run a local server.

The web interface lets you perform all essential actions like creating collections, viewing documents, and running queries. You can also view graphs and the server logs and metrics, as well as administrate user accounts.

Interactive Command-line Interface (CLI)

If you are a developer, you may feel more comfortable to work in a terminal. You can use arangosh, an interactive shell that ships with ArangoDB, and its JavaScript API, to interact with the server. You can also use it for automating tasks.

Drivers and Integrations

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.

Integrations combine a third-party technology with ArangoDB and can be seen as a translation layer that takes over the low-level communication with the server.

REST API

Under the hood, all interactions with the server make use of its REST API. A REST  API is an application programming interface based on the HTTP protocol that powers the world wide web.

All requests from the outside to the server need to made against the respective endpoints of this API to perform actions. This includes the web interface, arangosh, as well as the drivers and integrations for different programming languages and environments. They all provide a convenient way to work with ArangoDB, but you may use the low-level REST API directly as needed.

See the HTTP documentation to learn more about the API, how requests are handled and what endpoints are available.

Set Up and Deploy ArangoDB

ArangoDB Starter (arangodb binary) helps you set up and deploy ArangoDB instances on bare-metal servers and supports all ArangoDB deployment modes, a single server instance and cluster.

In addition to the Starter, there are also other ways that you can use to deploy ArangoDB:

How to Get Data In and Out of ArangoDB

With the arangoimport command-line tool, you can import data from JSON, JSONL, CSV, and TSV formats into a database collection in ArangoDB. Thanks to its multi-threaded architecture and bulk import capabilities, you can import your data at high speeds.

Similarly, with arangoexport you can export data from your database collection to JSON, JSONL, CSV, TSV, XML, and XGMML formats.

There are also other alternatives, such as using drivers to write custom importers or directly using the server’s HTTP API.

How to Back Up and Restore Data in ArangoDB

arangodump is a command-line tool that lets you create backups of your data and structural information in a flexible and efficient manner and can be used for all ArangoDB deployment modes. With arangodump, you can create backups for selected collections or for all collections of a database, including system collections. Additionally, you can back up the structural information of your collections (name, indexes, sharding, etc.) with or without the data stored in them.

To restore backups created by arangodump, you can use arangorestore. Similarly to the backup process, you can restore either all collections or just specific ones and choose whether to restore structural information with or without data.

arangobackup is a command-line tool that enables you to create instantaneous and consistent hot backups of the data and structural information stored in ArangoDB, without interrupting the database operations. It can be used for all ArangoDB deployment modes. It is only available in the Enterprise Edition.