Message:

Data Management

At a glance

Object persistence and data management operations are in the core of the majority of mobile apps. We took a very special care of designing one of our the most powerful core services. Backendless persistence is truly a crown jewel – completely object-oriented and cross-platform persistent system. It supports complex object hierarchies, persistence of relations between tables, SQL-based searches, table and object-based access control lists and many more features which will make you a truly empowered developer.

Browse all features or select one to view
Graphical Data Browser

You do not need to be a database administrator to understand and work with your data. We made the data browser so easy to use, you will be able to perform complex operations without any knowledge of SQL. It is trivially easy to create tables, define schema, add, delete and edit data objects, import and export data, create relations between objects, set security permissions, run queries, the list goes on and on..

Complete Object Persistence Solution

Create, Retrieve, Update or Delete objects of any kind! Let the system dynamically define your schema as you save plain objects, or complex hierarchies consisting of one-to-one and one-to-many relations. Use schema management tool to define your columns, set constraints and validators. There is no use-case which could not be handled by Backendless Data Service.

REST Console

Test drive your REST requests before you code them in your app. Our REST Console provides a graphical editor for generating REST requests and inspecting requests and response payloads. Login as a user of your app and see how the backend responds to your queries handled under user’s identity. Finally, generate client-side code for any executed query.

Cross Platform APIs

Data Service APIs are included into all our SDKs. Additionally, we provide REST access for all operations supported by the service. The API is cross platform and what is even more important – the data is also cross-platform. Objects saved from a device with a specific operating system, are available in the native form on the devices of other supported operating systems. The REST API is universally available in any environment capable to make an HTTP request which extends the power of Backendless to world of wearables and IoT.

Relational Data

Application data model must reflect the real world relations. if the persistent object storage you use does not let you maintain these relations, you will be forced to write some ugly code. Not with Backendless – we let you model your data to be as close as possible to the app domain entities. You can declare one-to-one and one-to-many relationships in schema editor, build relationships between the objects using Data Browser or let Backendless infer the relations from the objects you save using the APIs.

Data Auto-Morphing

Backendless stores objects in a neutral format, however, our SDKs automatically convert objects to the native representation suitable for the programmable environment of the client side. For example, you could save native Java objects in Backendless using our SDK for Android and retrieve exactly the same data as a native iOS object with our SDK for iOS. These transformations work in any direction from and to any of our SDKs. Developers do not need to use any additional external libraries to process intermediate formats like JSON for the reason that it is not needed – your app simply gets a strongly typed object as a result of the API operations. Pure magic letting you be 100% productive.

Built-In Paging Support

When your mobile app loads a lot of data, it runs the risk of being shutdown by the OS for allocating too much memory or it will impact the user experience. Data paging is the standard approach for making sure that app users can move along the workflow quickly and efficiently. Backendless Data Service API has a built-in support for paging that lets you control how much data is loaded in each “page”. This helps with the app performance and significantly streamlines the user experience.

Complex Object Hierarchy Retrieval

There are many examples when the backend must provide information from multiple tables or data sources. Indeed loading an order without order items, a customer without address or a support ticket without incident details would make things less than useful. On top of this, loading an object with other related entities must be simple and intuitive. Backendless provides multiple ways to retrieve related objects. A developer can choose between the auto-loading technique, lazy/multi-step loading or setting the depth of relations. The API is flexible enough to give you choices so you can use the best option in your app.

Schema Management

Backendless Data Browser includes a powerful Schema Editor where you can control all aspects of your data model design. You can easily define new columns, set default values, establish constraints such as unique, indexed and required. Schema Editor lets you declare relations with other tables or geopoints and even configure regex-based data validators.

Bulletproof Data Security

With Backendless you are in complete control of the security policy which governs access to your data. The security system is rich and supports multiple levels of protection. Security roles can be configured to reject access to data globally – a setting which applies to all data tables. Access to the individual data tables can be restricted for specific users or users who belong to a security role. Similarly, an ACL policy can be established at the individual object level. Backendless Console provides an intuitive user interface for managing security permissions. Alternatively, a special API can be used to grant or reject access for users/roles to objects.

Data to Geo Relations

When the entities in your app need to have the concept of location, you can easily establish relationships between a data table and the geopoint storage. A object stored in Backendless may have related geopoints which can be used in queries and loaded to the client app using the same mechanisms as the standard object relations.