Appbase Launches Real-Time, Events-Based Database API

Appbase, a database-as-a-service (DBaaS) startup, has just announced the public launch of the Appbase platform and real-time events based database API. The Appbase API allows developers to build scalable applications that include real-time events functionality and collaborative and full-text search features.

Appbase aims to combine the most essential database technologies into a platform that simplifies database access and allows developers to quickly build real-time applications with powerful search and collaborative features. Developers can use the Appbase API to incorporate database functionality such as full-text search, numeric-range queries, geospatial queries and sort queries into their applications. Appbase is participating in the Techstars Cloud 2015 program in San Antonio, and the platform has been in private beta since Sept. 10. At the time of this writing, more than 130 applications have been built using Appbase, and over 4.9 million Appbase API calls have been made.

appbase-dashboard

Screenshot of the Appbase developer dashboard.

While DBaaS is fairly new, there are quite a few providers already in the space, including Orchestrate, ScaleDB, AWS (Aurora) and Oracle. There are some similarities between the Appbase and Orchestrate DBaaS platforms. However, several things differentiate the Appbase platform from Orchestrate. We reached out to Appbase co-founder Siddharth Kothari, who explained to ProgrammableWeb the differences between Appbase and Orchestrate:

Appbase is a real-time, events-based API, similar to a distributed Socket.IO. Listening on an Appbase vertex or an edge is similar to subscribing to a channel: You keep getting all the updates on that vertex/edge via a WebSocket. Orchestrate, on the other hand, serves use cases that are more geared towards non-real-time systems.

In terms of customers, they are aiming for the infrastructure and back-end developers, whereas we aim to bring in both front-end and back-end developers. We facilitate front-end development by having a JavaScript SDK and an easy OAuth API where developers can use us on the front end and authenticate via Google, FB, Dropbox, GitHub, et al. Appbase can be used without any server setup. Orchestrate, at the moment, cannot.

The popularity of graph databases has grown rapidly in recent years, as has graph analysis, which is used to understand and visualize connected data. According to the Appbase documentation, Appbase is a directed graph where users deal with vertices/edges. Appbase is not a property graph; the concepts of edges and edge names are different. They do share the same concept of vertex, however.

appbase-status

Appbase live status/uptime monitoring board shows uptime, response time, average performance per day over the past seven days and more.

Said Kothari:

On the data model, property graph is typically used by many databases such as TitanDB and others that are based on the blueprints spec. Unlike property graph, an edge in Appbase cannot store any data. Edges are only used for connecting vertices (nodes) and can optionally have a priority. A priority is essentially a secondary index that a developer can use to sort the data.

For example, an interesting use case here would be a global rank board. I would model the node as containing the meta information related to the rankings, such as number of users, top score, median score, etc. The score itself would be stored by linking an edge from the rank node to the user's node, with priority value as the score itself. This allows me to get information such as "the top 10 scores" [and] "all scores above 100.3" instantly, as we keep a secondary index based on the priority value. A much more common use case is ordering based on time stamp, which is very relevant for building chat systems.

Developers can use Appbase to create applications that analyze and visualize interconnected data. Said Kothari:

Since Appbase allows modeling of data as a graph, it is highly suited for the graph visualization- and analysis-based use cases. You can easily hook a recommendation engine that fetches real-time data from Appbase (as an input sensor), performs some computation and then store the results back, available in real time. Given Appbase's real-time, events-based API, batch querying is not a recommended use case.

Appbase makes it possible for developers to build real-time applications that incorporate database functionality without the need for multiple databases or an existing server setup. Appbase can also be used with existing back-end infrastructure or on the client. Appbase is attempting to become a "Twilio for databases," combining the best features from popular database, server and communication platforms such as Redis, Elasticsearch and Socket.IO, which can be accessed programmatically using a single API.

Data is becoming increasingly complex and interconnected; many developers are using the vast amount of Internet of Things-generated data to create innovative real-time applications that often utilize graph databases, graph analysis and other nontraditional database technologies. It will be interesting to see what kind of success Appbase achieves with its all-in-one, real-time, events-based database API.

For more information about the Appbase platform and API, visit Appbase.io.

Janet Wagner is a freelance technical writer and contributor to ProgrammableWeb covering breaking news, in-depth analysis, and product reviews. She specializes in creating well-researched, in-depth content about APIs, machine learning, deep learning, computer vision, analytics, GIS/maps, and other advanced technologies.

Comments