Services comparison

This guide highlights key differences and benefits of using Adobe Developer App Builder services over services available within Adobe Commerce. It provides a comparison of services used in both platforms and outlines the differences in their implementation and usage.

For more comparison information, refer to:

Persistent Storage

This section compares the persistent storage solutions used in Commerce to those in App Builder.

Commerce

Commerce uses MySQL as its primary database for storing and managing structured data, while Redis is used for caching and session management.

MySQL

MySQL is a relational database management system (RDBMS) used to store and manage structured data.

data-variant=info
data-slots=text
Modifying the default MySQL database can cause upgrade issues. Adobe recommends using App Builder with state database for simple app-specific data or a third-party database for more complex needs.

Features:

Use Cases:

Redis

Redis is an in-memory data structure store used as a database, cache, and message broker.

Features:

Use cases:

App Builder

App Builder provides built-in persistent storage solutions that are designed to be simple, efficient, and integrated with the Adobe I/O Runtime environment.

App Builder State Storage

State Database is a key-value store provided by Adobe I/O Runtime to store and manage stateful data.

Features:

Use cases:

State Database allows you to store information required for operational microservices. It is ideal for storing simple, unstructured data. However, for more complex data storage needs, either App Builder Database Storage or an external databases such as MySQL are often necessary.

State Database is a straightforward and efficient way to store basic data in key-value pairs. This type of storage is highly suitable for:

These features allow for quick access and retrieval of data, making it an excellent choice for scenarios where the data structure is not complex.

data-variant=info
data-slots=text
The maximum TTL for all Application State entities is limited to 365 days.

App Builder Database Storage

Database Storage is a managed document style database service provided by Adobe I/O Runtime.

Features:

Use cases:

Database Storage provides convenient and robust document storage for your App Builder microservices. It is recommended when an application needs much more than a key-value store for its business logic, but the complexity and operational overhead of a relational database is not needed.

App Builder Database Storage is essential for:

External Databases for Complex Solutions

When a microservice requires more advanced data management capabilities, such as intricate querying, transactional support, or relational integrity, consider external databases. MySQL, a widely-used relational database, is a prime example of an external database that can handle these requirements.

External databases are essential for:

File storage

This section compares the file storage solutions between Commerce and App Builder.

Commerce

Commerce uses local file systems or cloud-based storage solutions to manage files.

Use cases:

For massive data flows, you can consider external storage as an option.

App Builder

Recommended method:

App builder uses an Adobe I/O Runtime service to store and manage files.

Features:

Use cases:

For massive data flows, you can consider external storage as an option.

Search and OpenSearch

This section compares the search capabilities between Adobe Commerce and App Builder.

Commerce

App Builder

Recommended method:

Adobe App Builder does not come with a built-in full-text search service. However, developers can integrate external search services or implement custom search functionalities using multiple tools and technologies:

Integrating OpenSearch: Developers can deploy OpenSearch as an external service and integrate it with their App Builder applications to provide robust search capabilities.

data-variant=info
data-slots=text
By default, App Builder does not have an integrated search solution, you will need to integrate your own solution.