Feature

Backendless Database

At A Glance

Backendless Database is a secure, scalable and dynamic persistence solution. Backendless Database is also visual, requiring no code for setup or API integration with your application. 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 automatically based on the data you save via 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 Code Generators, you can instantly download client-side code that is mapped to your database schema to 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. Data types that can be stored in Backendless Database include the basics such as strings and integers as well as more complex types, such as spatial data and JSON.

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.

Generated and Auto-Incremented Columns

Generated columns allow you to create database columns that function much like formulas in your favorite spreadsheet application. This lets you automatically populate data based on your chosen conditions and/or calculations. When you add a generated column, you provide a formula using a rich “expression language” and the database automatically calculates the results based on the data in your database. There is a very rich that supports a variety of functions to work on data. Similarly, auto-incremented columns automatically increment by 1, ensuring objects are given a unique numerical identifier based upon the order in which they are added to the data table.

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.

Visual Data Modeler

The Visual Data Modeler allows you to do all of the above schema management tasks visually. You can easily craft the perfect schema, and visually map data relations. The Modeler gives you the power to rearrange and rename columns, update column data types, and perform any other actions necessary to ensure your data model fits your application’s needs.

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. This includes limiting what team members with access to your Backendless app can see in their Console. 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 the Schema Editor, you can set one-to-one and one-to-many relationships between data tables or between data tables and files or geopoints. In your Data Browser, you can build relationships between objects. These relationships can connect data stored in Backendless Database, files in the File repository, and even geospatial 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 includes an essential resource for composing, debugging and validating REST requests for your data tables or Views 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.

Backendless automatically generates the client-side code for any executed REST request.