Algolia – Super Fast Database

Algolia-40.png

Algolia is an index database whose main purpose is performance. Algolia is praised for speed, easy implementation and excellent support.

 

What problem Algolia solves

The main problem that it solves is performance to run queries. Algolia provides several APIs, where you not only can run queries, but manage your indexes, infrastructure, and query configurations. Algolia provides a web portal where you can manage indexes and other parameters (like synonyms, scale up/down, rebuild indexes), this means that you don't need to know developer skills to manage your database.

Another problem that Algolia solves is related to infrastructure. To use Algolia you don't need to install the infrastructure, this is provided by Algolia through APIs, it can be a warning to avoid lock-in.

 

Key features

  • Distributed search, where you can get same time response across the globe

  • Horizontal scale, you can scale up your infrastructure

  • Analytics, Algolia provides reports and APIs, where you can see the most relevant queries.

  • Personalized Shopping Search, when you have an e-commerce, usually you need to create a PLP (product list page) where you need to group filters by attributes, this kind of filter we call facets and Algolia provides an API to consume it easily.

  • Global Language support, this feature is helpful when you need to do an autocomplete in your application and the user makes some typos to search a product. When you define a language Algolia improves the accuracy to index words and retrieve correct answers in case some typos happen.

 

Extra features

  • Algolia provides some SDKs to make easier the integration in front end, if you know about React they provide a library called InstantSearch, you can style the components and implement them in your applications.

  • Synonyms, Algolia has an API where can suggest synonyms in your query, a good example, if in your query was informed trousers Algolia will understand that pants is included in your search. This way you don't need to implement complex queries.

  • You can define rules to rank your search, let's assume that you have products in your e-commerce and some products are featured and need to show before others.

  • Algolia Vault, assuming that you need to store information extra sensitive Algolia vault is a great tool this feature, provide two things:

    • Advanced Encryption Standard (AES), specifically AES-256, for disk encryption at rest, with per-server keys.

    • Configurable firewall to restrict access to specific IP addresses.

  • For security, Algolia provides Disk Encryption and Firewall to restrict the search by rules.

  • A/B Testing, let's assume that you need to test different strategies for the same query. Algolia provides an API to help you with it, to configure it, no need any code implementation.

 

Alternatives

Algolia has some competitors as much good as Algolia: ElasticSearch and Lucene Solr are some databases that are in the same segment as Algolia.

 

Price

Algolia is a paid tool, the price is based in units (Algolia unit measure) and each unit is 1000 search requests and capacity to index up to 1000 records. For small projects, it is free up to 10 units.

Each unit costs US$ 1,00 per unit and the premium version US$1,50 per unit.

Here is the link to compare each plan: https://www.algolia.com/pricing

 

Pros and Cons

Pros

  • Algolia is extremely fast for search, some benchmarks point as faster than ElasticSearch

  • Extremely easy to implement

  • Nice documentation

  • Algolia has a big community supporting

  • Web Portal configuration is intuitive and easy to manage

  • Provide SDK for different programming languages and frameworks:

    • Front-end: React, Angular, Vue, vanilla JS.

    • Back-end: Python, Kotlin, Java, Golang, Ruby, PHP, .Net, Scala

    • Mobile: Swift and Android (Java and Kotlin)

Cons

  • Lock-in, like I said previously, you don't need to isntall the infrastructure in your environment, assuming that you want to change or don't pay for that, you will need to refactor your application

  • Price, assuming that the database is paid, you need to be aware of how many units your application will consume.

 

Consideration

Algolia is an amazing tool as a database, they provide different tools in the web portal and it has good support and community, if you have e-commerce and don't have too much knowledge in index databases, Algolia seems a perfect fit for your project, they support open source projects, in case you have an open-source project and wants to use Algolia they provide a form to submit and they will evaluate your project and you can use free.

 

References 

  • open source - https://www.algolia.com/for-open-source/

  • Documentation - https://www.algolia.com/doc/

  • ElasticSearch - https://github.com/elastic/elasticsearch

  • Lucene Solr - https://github.com/apache/lucene-solr

  • Apache Lucene - https://lucene.apache.org/

 

 

 

 

Guest User