Backendless Database

At A Glance

Backendless Database is a secure, scalable and dynamic persistence solution. We provide the best of the NoSQL and SQL worlds. As a NoSQL persistent storage solution, Backendless Database structure can be defined on the fly with tables and table columns being created based on the data you save with APIs. As an SQL-based solution, you get the benefit of using relational data, indexing, SQL searches, and aggregate functions. Backendless Console gives you a powerful graphical interface for working with your data, setting up constraints, and validators. Backendless Security lets you graphically assign permissions to user roles for data tables or individual objects. Using Backendless Code Generators, you can instantly download client-side code that is mapped to your database schema and save time when developing your application.

Backendless Database

Data Browser

You don’t need to be a database administrator to understand and work with your data. We made the data browser so easy to use, you can perform complex operations without any knowledge of SQL. We’ve made it 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.

Real-Time Database

With the click of a button, your applications can subscribe to receive real-time updates when objects are created, updated, or deleted in the database. Users will always have the most up-to-date information possible, and your database will always be in sync with what your users are seeing. Learn more about our Real-Time capabilities here.

Aggregate Functions

Let’s say you need to know the average age of users from a geographic area or the sum of all orders for a specific product. Using aggregate functions such as SUM, AVERAGE, COUNT, MIN or MAX, along with grouping the results, your app can rely on the power of the database to get the information you need in the format you want, no code required. Support for aggregate functions is built into Backendless APIs and is available for all supported client-side environments.

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, and establish constraints such as unique, indexed and required. Schema Editor lets you declare relations with other tables, geopoints, and files. You can even assign regular expression-based data validation.

Bulletproof Data Security

With Backendless, you are in control of the security that governs access to your data. Our security system supports multiple levels of protection. Security roles can be set to prevent access to data globally or at the table level. Additionally, you can establish an ACL policy at the individual object level. Backendless Console provides an intuitive user interface for managing security permissions. You can also use the Data Permission API to grant or reject access for users/roles to objects.

Cross-Platform Data and Data Morphing

Backendless Data Service APIs are available in all of our SDKs. Additionally, we provide REST access for all operations supported by the database. Backendless stores objects in a neutral format. That way, our SDKs can automatically convert objects to the native form for the client-side environment. For example, you can save an instance of your class using our SDK for Android, then retrieve the same object as a custom Swift or Objective-C class in your iOS app. These transformations work in any direction to or from any of our SDKs and apply to all supported client-side environments. You don’t need to use any additional external libraries to process intermediate formats like JSON – our app simply gets a strongly-typed object as a result of the API operations. Pure magic letting you be 100% productive and avoid writing redundant code.

Relational Data in Schema

Your application’s data model should reflect real-world relationships. If the database storage doesn’t let you maintain these relations, you will have to write some ugly code. That’s not the case with Backendless – we let you model your schema to be as close as possible to the application’s domain entities. With Backendless Schema Editor, you can set one-to-one and one-to-many relationships between data tables or between data tables and files or geopoints. With Data Browser, you can build relationships between your objects. These relationships can connect data stored in Backendless Database, files in the File repository, and even geolocation data.

Relation Retrieval API

There are times when your backend will have to provide information from multiple tables or data sources. You wouldn’t want to load an order without order items or a customer without an address. A support ticket without incident details would be less than useful, too. Loading an object with its related entities needs to be simple and intuitive. That’s why Backendless provides a variety of ways to retrieve related objects. You can choose between the auto-loading technique, lazy/multi-step loading, or setting the depth of relations. The APIs provide flexibility for you to use the best option for your app.

Built-In Paging Support

When your mobile or web app loads a lot of data, you run the risk of creating a suboptimal user experience for your customers. To help you streamline the performance of your app and improve the user experience, data paging is built into Backendless Database APIs. Using these APIs, you can control how many objects the database returns in a single “page” or “navigate” over a large set of database records and fetch any other page on demand.

Data Indexing

As your database grows in size, your queries may take longer to process. In Backendless Console, you can index the properties that you search by most often. Indexing improves the response time of the server when retrieving values from your data table. This allows you to search your data quickly and boosts the speed of queries that your app sends to your database.

Regex Data Validation

As an application developer, you want any data stored in your database to be clean. Whether that data is an email address, age, social security number or any other relevant information to your app, the data needs to be legitimate. Data validation can be performed by code that you write in your app, or by using validators we provide in Backendless Console. A Data Validator is assigned to a data table column. We provide a variety of pre-built validators, or you can create your own using the regular expression syntax.

REST Console

Backendless Console includes an essential resource for composing, debugging and validating your REST requests called REST Console. Using REST Console, you can:

  • build a REST query to create new data objects,
  • run SQL queries,
  • update or delete either single objects or perform bulk requests.
  • test and validate database results,
  • log in as a user of your app to see how the backend responds to your queries when handled under that user’s identity.

When you’re ready, Backendless can automatically generate the client-side code for any executed REST request.