Elasticsearch is a powerful open source search-oriented document database and supports complex or fuzzy queries. Based upon the Apache Lucene engine, it is often used in parallel with other databases because its search-and-scoring capabilities are so flexible.
Compose Elasticsearch Deployments take the complexity out of running Elasticsearch by providing an auto-scaling, three node, SSD backed cluster. The entire cluster runs, as do all Compose deployments, on its own isolated and encrypted VLAN. Access is provided through two haproxy capsules and support authentication, HTTPS and IP whitelisting for enhanced security.
Elasticsearch Deployments also include built-in daily backups so you can be confident that your data will never be lost. Backups use the Elasticsearch Snapshot API to perform the backup to ensure minimal impact to your applications.
- Automatically scaling server stack that scales RAM, CPU, and I/O as your Elasticsearch data grows.
- 3 node clusters on extremely fast SSDs (solid state drives).
- Guaranteed resources per deployment.
- No-cost backups, no matter how big your deployment grows.
- Start with 2GB for $45 - as you grow each additional GB costs $18.
See Compose Datacenter Availability for current location availability.
All Elasticsearch Deployments are high-availability clusters. You get fully redundant architecture from the hardware to your deployment itself. Elasticsearch clusters consist of a master member which will coordinate writes. The additional members can become master in the event of a node failure. The data is spread across the cluster based on the replica and shard count.
By default, we preset the replica count to the number of nodes minus one and the shard count to 5. You can specify the replica and shard count when creating an Elasticsearch index but we don't recommend changing the replica count because it could result in data becoming unavailable in the event of a node or hardware issue.
In addition to the 3 node Elasticsearch cluster, we provide 2 Haproxy nodes to serve as a reverse proxy and provide authentication to the cluster. To benefit from the high-availability nature of the deployment, you will need to ensure your application is aware of both haproxy members.
With Elasticsearch's evolving architecture, support for server-based site plugins is on the wane. We no longer install Elastichq (lack of development) or Kibana plugins by default. Kibana can be configured on external servers or desktop systems and connect to Compose Elasticsearch deployments. Only the Head and Kopf plugins are currently available.
Other plugins for analysis and lexing are included with Compose Elasticsearch but are also subject to being replaced over time by new features in Elasticsearch.
While the Mongo River was a useful convenience in some cases, we found it to be brittle and difficult to support in a production environment. Elasticsearch concurred and deprecated Rivers in Elasticsearch 1.5 and completely removed support in 2.0. ElasticSearch recommends the use of the bulk api to do mass imports, and we find that it is usually safer and more scalable to add logic to your applications models to keep data in sync.
If this article didn't solve things, summon a human and get some help!