SocialOS is built on a cluster platform to support high availability and scalable performance. The main database is MongoDB (version 3.0 or later) and the search engine is built on Elasticsearch (2.1 or later).

Both MongoDB and Elasticsearch support replication and sharding of data, to scale both reads and writes across multiple servers and support automatic failover and cluster expansion. SocialOS scaling has been tested up to 10 billion records (20TB of data) at 30,000 inserts per second.

At the front end, the REST API supports failover using Nginx or any other HTTP proxy. The application layer supports proxying and caching of both API queries and results using Redis, which can be stand-alone per application node or clustered. Redis, being an in-memory can deliver in excess of 100,000 requests per second per node.

SocialOS also supports integration with relational databases; in this case the scalability and availability depends on the specific database selected. Clustered databases such as MySQL Galera or Oracle RAC that do not require application-specific code or queries are supported.

Related Topics