Skip to content

DOC-742 | Single Edition #681

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 34 additions & 63 deletions site/content/3.12/about-arangodb/features/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,27 @@ description: >-
aliases:
- ../introduction/features
---
## Feature overview

- One database core for all graph, document, key-value, search, and vector needs
- A single composable query language for all data models
- Cluster deployments for high availability and resilience, with a multi-tenant
deployment option for the transactional guarantees and performance of a single server
- Performance options to smartly shard and replicate graphs and datasets for
optimal data locality
- Enhanced data security with on-disk and backup encryption, key rotation,
audit logging, and incremental backups without downtime

See the full [Feature list of the ArangoDB core database system](core.md).

## On-premises versus Cloud

### Fully managed cloud service

The fully managed multi-cloud
[ArangoGraph Insights Platform](https://dashboard.arangodb.cloud/home?utm_source=docs&utm_medium=cluster_pages&utm_campaign=docs_traffic)
is the easiest and fastest way to get started. It runs the Enterprise Edition
of ArangoDB, lets you deploy clusters with just a few clicks, and is operated
is the easiest and fastest way to get started.
It lets you deploy clusters with just a few clicks, and is operated
by a dedicated team of ArangoDB engineers day and night. You can choose from a
variety of support plans to meet your needs.

Expand Down Expand Up @@ -63,74 +76,32 @@ Kubernetes cluster.

## ArangoDB Editions

### Community Edition
Up to version 3.12.4, the Community Edition of ArangoDB didn't include
certain query, performance, compliance, and security features. They used to
be exclusive to the Enterprise Edition.

ArangoDB is available in a **Community Edition** governed by the
[ArangoDB Community License](https://arangodb.com/community-license/).
From version 3.12.5 onward, the **Community Edition** includes all
Enterprise Edition features without time restrictions. It is governed by the
[ArangoDB Community License](https://arangodb.com/community-license). <!-- TODO: Link to new terms -->
You can download the extensively tested prepackaged binaries and official
Docker images for free.

- One database core for all graph, document, key-value, and search needs
- A single composable query language for all data models
- Extensible through microservices with custom REST APIs and user-definable
query functions
- Cluster deployments for high availability and resilience

See all [Community Edition Features](community-edition.md).

The Community Edition is a fully-featured version without time
restrictions and includes cluster support. It is limited to a 100 GB on dataset
size in production and you cannot use it for any commercial purposes, only
internal business purposes.

The source code of the Community Edition is available under the
[Business Source License 1.1 (BUSL-1.1)](https://github.com/arangodb/arangodb/blob/devel/LICENSE).
The use for commercial purposes and distribution is prohibited for production,
but development and testing is allowed without a license even for commercial use.
The dataset size is limited to a 100 GB. If you exceed the size limit, you get
warnings for two days and can bring the deployment back below 100 GB. If you don't,
then the deployment enters read-only mode for two days and then shuts down.

The **Enterprise Edition** is an ArangoDB deployment with an activated license.
It allows you to use ArangoDB for commercial purposes and removes the 100 GB
dataset size limit of the Community Edition.

The source code of ArangoDB is available under the
[Business Source License 1.1 (BUSL-1.1)](https://github.com/arangodb/arangodb/blob/devel/LICENSE),
excluding the source code of the formerly exclusive Enterprise Edition features.
Copying, modification, redistribution, non-commercial use, and commercial use in
a non-production context are always allowed. Additionally, you can deploy
BUSL-licensed ArangoDB source code for any purpose (including production) as
long as you are not creating a commercial derivative work or offering, or are
including it in a commercial product, application, or service. On the fourth
anniversary of the first publicly available distribution of a specific version,
the license changes to the permissive Apache 2.0 open-source license.

### Enterprise Edition

ArangoDB is also available in a commercial version, called the
**Enterprise Edition**. It includes additional features for performance and
security, such as for scaling graphs and managing your data safely.

- Includes all Community Edition features
- Performance options to smartly shard and replicate graphs and datasets for
optimal data locality
- Multi-tenant deployment option for the transactional guarantees and
performance of a single server
- Enhanced data security with on-disk and backup encryption, key rotation,
and audit logging
- Incremental backups without downtime and off-site replication

See all [Enterprise Edition Features](enterprise-edition.md).

### Differences between the Editions

| Community Edition | Enterprise Edition |
|-------------------|--------------------|
| ArangoDB Community License for prepackaged binaries and Docker images, BUSL-1.1 for the source code | Commercial License |
| Sharding using consistent hashing on the default or custom shard keys | In addition, **smart sharding** for improved data locality |
| Only hash-based graph sharding | **SmartGraphs** to intelligently shard large graph datasets and **EnterpriseGraphs** with an automatic sharding key selection |
| Only regular collection replication without data locality optimizations | **SatelliteCollections** to replicate collections on all cluster nodes and data locality optimizations for queries |
| No optimizations when querying sharded graphs and replicated collections together | **SmartGraphs using SatelliteCollections** to enable more local execution of graph queries |
| Only regular graph replication without local execution optimizations | **SatelliteGraphs** to execute graph traversals locally on a cluster node |
| Collections can be sharded alike but joins do not utilize co-location | **SmartJoins** for co-located joins in a cluster using identically sharded collections |
| Graph traversals without parallel execution | **Parallel execution of traversal queries** with many start vertices |
| Graph traversals always load full documents | **Traversal projections** optimize the data loading of AQL traversal queries if only a few document attributes are accessed |
| Inverted indexes and Views without support for search highlighting and nested search | **Search highlighting** for getting the substring positions of matches and **nested search** for matching arrays with all the conditions met by a single object |
| Only standard Jaccard index calculation | **Jaccard similarity approximation** with MinHash for entity resolution, such as for finding duplicate records, based on how many common elements they have |{{% comment %}} Experimental feature
| No fastText model support | Classification of text tokens and finding similar tokens using supervised **fastText word embedding models** |
{{% /comment %}}
| Only regular cluster deployments | **OneShard** deployment option to store all collections of a database on a single cluster node, to combine the performance of a single server and ACID semantics with a fault-tolerant cluster setup |
| ACID transactions for multi-document / multi-collection queries on single servers, for single document operations in clusters, and for multi-document queries in clusters for collections with a single shard | In addition, ACID transactions for multi-collection queries using the OneShard feature |
| Always read from leader shards in clusters | Optionally allow dirty reads to **read from followers** to scale reads |
| TLS key and certificate rotation | In addition, **key rotation for JWT secrets** and **server name indication** (SNI) |
| Only server logs | **Audit log** of server interactions |
| No on-disk encryption | **Encryption at Rest** with hardware-accelerated on-disk encryption and key rotation |
| Only unencrypted backups and basic data masking for backups | **Hot Backups**, **encrypted backups**, and **enhanced data masking** for backups |
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
---
title: Community Edition Features
menuTitle: Community Edition
title: Feature list of the ArangoDB core database system
menuTitle: Core Database
weight: 5
description: >-
The community variant of ArangoDB offers an extensive feature set including
cluster support for free
All features of the ArangoDB database system, available in both the
Community Edition and Enterprise Edition
aliases:
- ../../introduction/features/community-edition
- ../../introduction/features/enterprise-edition
- community-edition
- enterprise-edition
---
The Community Edition features are outlined below. For additional information,
see [arangodb.com/community-server/](https://www.arangodb.com/community-server/).

## General

- [**Graph Database**](../../concepts/data-models.md#graph-model):
Expand All @@ -23,9 +23,13 @@ see [arangodb.com/community-server/](https://www.arangodb.com/community-server/)
and evolve the data model easily. Documents can be organized in collections,
and collections in databases for multi-tenancy.

{{% comment %}}
TODO: Add a bullet point for multi-model? (unified query language, lower TCO, ...)
{{% /comment %}}
- **Native Multi-model**:
The capabilities of a graph database, a document database, a key-value store
in one C++ core with a unified query language for a lower TCO (total cost of
ownership). Easily change the data access strategy or even combine all
supported data models in a single query. Add full-text search with ranking on
top and mix it with graph traversals, geo queries, aggregations, or any other
supported access pattern.

- [**Data Format**](../../concepts/data-structure/_index.md#documents):
JSON, internally stored in a binary format invented by ArangoDB called
Expand Down Expand Up @@ -154,6 +158,23 @@ see [arangodb.com/community-server/](https://www.arangodb.com/community-server/)
machine learning models.
{{% /comment %}}

- [**Search highlighting**](../../index-and-search/arangosearch/search-highlighting.md):
Get the substring positions of matched terms, phrases, or _n_-grams.

- [**Nested search**](../../index-and-search/arangosearch/nested-search.md):
Match arrays of objects with all the conditions met by a single sub-object,
and define for how many of the elements this must be true.

{{% comment %}} Experimental feature
- **[`classification`](../../index-and-search/analyzers.md#classification) and [`nearest_neighbors` Analyzers](../../index-and-search/analyzers.md#nearest_neighbors)**:
Classification of text tokens and finding similar tokens using supervised
fastText word embedding models.
{{% /comment %}}

- [**Skip inaccessible collections**](../../aql/how-to-invoke-aql/with-arangosh.md#skipinaccessiblecollections):
Let AQL queries like graph traversals pretend that collections are empty if
the user has no access to them instead of failing the query.

## Transactions

- [**AQL Queries**](../../aql/data-queries.md#transactional-execution):
Expand Down Expand Up @@ -182,10 +203,69 @@ see [arangodb.com/community-server/](https://www.arangodb.com/community-server/)
Using cluster deployments, single-document operations are fully ACID, too.
Multi-document queries in a cluster are not ACID, except for collections with
a single shard. Multi-collection queries require the OneShard
feature of the Enterprise Edition to be ACID. <!-- TODO: can we put it like this? -->
feature to be ACID. <!-- TODO: can we put it like this? -->

## Performance

- [**SmartGraphs**](../../graphs/smartgraphs/_index.md):
Value-based sharding of large graph datasets for better data locality when
traversing graphs.

- [**EnterpriseGraphs**](../../graphs/enterprisegraphs/_index.md):
A specialized version of SmartGraphs, with an automatic sharding key selection.

- [**SmartGraphs using SatelliteCollections**](../../graphs/smartgraphs/_index.md):
Collections replicated on all cluster nodes can be combined with graphs
sharded by document attributes to enable more local execution of graph queries.

- [**SatelliteGraphs**](../../graphs/satellitegraphs/_index.md):
Graphs replicated on all cluster nodes to execute graph traversals locally.

- [**SatelliteCollections**](../../develop/satellitecollections.md):
Collections replicated on all cluster nodes to execute joins with sharded
data locally.

- [**SmartJoins**](../../develop/smartjoins.md):
Co-located joins in a cluster using identically sharded collections.

- [**OneShard**](../../deploy/oneshard.md):
Option to store all collections of a database on a single cluster node, to
combine the performance of a single server and ACID semantics with a
fault-tolerant cluster setup.

- [**Traversal**](../../release-notes/version-3.7/whats-new-in-3-7.md#traversal-parallelization-enterprise-edition)
[**Parallelization**](../../release-notes/version-3.10/whats-new-in-3-10.md#parallelism-for-sharded-graphs-enterprise-edition):
Parallel execution of traversal queries with many start vertices, leading to
faster results.

- [**Traversal Projections**](../../release-notes/version-3.10/whats-new-in-3-10.md#traversal-projections-enterprise-edition):
Optimized data loading for AQL traversal queries if only a few document
attributes are accessed.

- [**Parallel index creation**](../../release-notes/version-3.10/whats-new-in-3-10.md#parallel-index-creation-enterprise-edition):
Non-unique indexes can be created with multiple threads in parallel.

- [**`minhash` Analyzer**](../../index-and-search/analyzers.md#minhash):
Jaccard similarity approximation for entity resolution, such as for finding
duplicate records, based on how many elements they have in common

- [**`geo_s2` Analyzer**](../../index-and-search/analyzers.md#geo_s2):
Efficiently index geo-spatial data using different binary formats, tuning the
size on disk, the precision, and query performance.

- [**ArangoSearch column cache**](../../release-notes/version-3.10/whats-new-in-3-10.md#arangosearch-column-cache-enterprise-edition):
Always cache field normalization values, Geo Analyzer auxiliary data,
stored values, primary sort columns, and primary key columns in memory to
improve the performance of Views and inverted indexes.

- [**ArangoSearch WAND optimization**](../../index-and-search/arangosearch/performance.md#wand-optimization):
Retrieve search results for the highest-ranking matches from Views faster by
defining a list of sort expressions to optimize.

- [**Read from followers in clusters**](../../develop/http-api/documents.md#read-from-followers):
Allow dirty reads so that Coordinators can read from any shard replica and not
only from the leader, for scaling reads.

- [**Persistent Indexes**](../../index-and-search/indexing/basics.md#persistent-index):
Indexes are stored on disk to enable fast server restarts. You can create
secondary indexes over one or multiple fields, optionally with a uniqueness
Expand Down Expand Up @@ -247,6 +327,27 @@ see [arangodb.com/community-server/](https://www.arangodb.com/community-server/)

## Security

- [**Auditing**](../../operations/security/audit-logging.md):
Audit logs of all server interactions.

- [**Encryption at Rest**](../../operations/security/encryption-at-rest.md):
Hardware-accelerated on-disk encryption for your data.

- [**Encrypted Backups**](../../components/tools/arangodump/examples.md#encryption):
Data dumps can be encrypted using a strong 256-bit AES block cipher.

- [**Hot Backups**](../../operations/backup-and-restore.md#hot-backups):
Consistent, incremental data backups without downtime for single servers and clusters.

- [**Enhanced Data Masking**](../../components/tools/arangodump/maskings.md#masking-functions):
Extended data masking capabilities for attributes containing sensitive data
/ PII when creating backups.

- **Advanced Encryption and Security Configuration**:
Key rotation for [JWT secrets](../../develop/http-api/authentication.md#hot-reload-jwt-secrets)
and [on-disk encryption](../../develop/http-api/security.md#encryption-at-rest),
as well as [Server Name Indication (SNI)](../../components/arangodb-server/options.md#--sslserver-name-indication).

- [**Authentication**](../../operations/administration/user-management/_index.md):
Built-in user management with password- and token-based authentication.

Expand Down
Loading