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:
- Run the
arangod
executable directly - Docker containers
- Kubernetes
- Use installation packages
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.