Para Architecture
Para is a stateless, schemaless, 3-layer backend system with a REST API in front of it. The first layer is the database, the second layer is the search index and the third — the cache. Depending on how you use it, Para can either be a standalone backend service or a persistence framework that is part of your code base. Each request to the API is stateless, meaning you can scale out easily. The data model requires no schema — it’s based around plain old Java/JSON objects and is optimized for schemaless key-value data stores, but also works with traditional databases.
Para is also multitenant, which means you can deploy it as a standalone service on one or more nodes and host one or more apps on it. An app can be a website, mobile app, desktop app or even a command-line tool. This is made possible by the REST API which talks JSON to your apps, and with the help of the client libraries below, it’s easy to get started. If you’re building an application on the JVM, you can also add Para as Maven dependency to your project. You can still keep the REST API or turn it off completely.
Running a standalone server allows you to build a cluster of distributed Para nodes and connect to it through the REST API. Here’s a simple diagram of this architecture:
Embed Para server into your JVM application
Section titled “Embed Para server into your JVM application”By building your JVM app on top of Para, you have full control over persistence, caching and indexing operations. Here’s a simple diagram of this architecture: