AQL¶
Язык запросов ArangoDB (AQL) может использоваться для извлечения и изменения данных, которые хранятся в ArangoDB.
Общий рабочий процесс при выполнении запроса заключается в следующем:
- Клиентское приложение предоставляет запрос AQL на сервер ArangoDB. Текст запроса содержит все, что ArangoDB должен скомпилировать набор результатов.
- Arangodb будет анализировать запрос, выполнять его и собирать результаты. Если запрос недействителен или не может быть выполнен, сервер вернет ошибку, которую клиент может обработать и отреагировать. Если запрос может быть успешно выполнен, сервер вернет результаты запроса (если есть) клиенту.
AQL является в основном декларативным языком, что означает, что запрос выражает достижение того, какой результат должен быть достигнут, но не то, как он должен быть достигнут. AQL стремится быть читаемым человеком и поэтому использует ключевые слова из английского языка. Другой целью дизайна AQL была независимость клиента, что означает, что язык и синтаксис одинаковы для всех клиентов, независимо от того, какой язык программирования могут использовать клиенты. Дополнительными целями проектирования AQL были поддержка сложных моделей запросов и различные модели данных, которые предлагает ArangoDB.
В своей цели AQL похож на SQL. AQL поддерживает чтение и изменение данных, но не поддерживает операции определения данных, такие как создание и сброс баз данных, коллекции и индексы. Это чистый язык манипулирования данными (DML), а не язык определения данных (DDL) или язык управления данными (DCL).
Синтаксис запросов AQL отличается от SQL, даже если некоторые ключевые слова перекрываются. Тем не менее, AQL должен быть легко понять для любого, у кого есть знания SQL.