Elasticsearch

Last updated

Elasticsearch
Original author(s) Shay Banon
Developer(s) Elastic NV
Initial release8 February 2010;14 years ago (2010-02-08)
Stable release
8.x8.11.3 / 7 December 2023;4 months ago (2023-12-07) [1]
7.x7.17.19 / 1 March 2024;40 days ago (2024-03-01) [1]
Repository github.com/elastic/elasticsearch
Written in Java
Operating system Cross-platform
Type Search and index
License Dual-licensed Elastic License (proprietary; source-available) and Server Side Public License (proprietary; source-available)
Website www.elastic.co/elasticsearch/   OOjs UI icon edit-ltr-progressive.svg
Shay Banon talking about Elasticsearch at Berlin Buzzwords 2010 Shay Banon talking about Elasticsearch at Berlin Buzzwords 2010.jpg
Shay Banon talking about Elasticsearch at Berlin Buzzwords 2010

Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elasticsearch is developed in Java and is dual-licensed under the (source-available) Server Side Public License and the Elastic license, [2] while other parts [3] fall under the proprietary (source-available) Elastic License. Official clients are available in Java, [4] .NET [5] (C#), PHP, [6] Python, [7] Ruby [8] and many other languages. [9] According to the DB-Engines ranking, Elasticsearch is the most popular enterprise search engine. [10]

Contents

History

Shay Banon created the precursor to Elasticsearch, called Compass, in 2004. [11] While thinking about the third version of Compass he realized that it would be necessary to rewrite big parts of Compass to "create a scalable search solution". [11] So he created "a solution built from the ground up to be distributed" and used a common interface, JSON over HTTP, suitable for programming languages other than Java as well. [11] Shay Banon released the first version of Elasticsearch in February 2010. [12]

Elastic NV was founded in 2012 to provide commercial services and products around Elasticsearch and related software. [13] In June 2014, the company announced raising $70 million in a Series C funding round, just 18 months after forming the company. The round was led by New Enterprise Associates (NEA). Additional funders include Benchmark Capital and Index Ventures. This round brought total funding to $104M. [14]

In March 2015, the company Elasticsearch changed its name to Elastic. [15]

In June 2018, Elastic filed for an initial public offering with an estimated valuation of between 1.5 and 3 billion dollars. [16] On 5 October 2018, Elastic was listed on the New York Stock Exchange. [17]

Release history

Major releases: [18]

Licensing changes

In January 2021, Elastic announced that starting with version 7.11, they would be relicensing their Apache 2.0 licensed code in Elasticsearch and Kibana to be dual licensed under Server Side Public License and the Elastic License, neither of which is recognized as an open-source license. [19] [20] Elastic blamed Amazon Web Services (AWS) for this change, objecting to AWS offering Elasticsearch and Kibana as a service directly to consumers and claiming that AWS was not appropriately collaborating with Elastic. [20] [21] Critics of the re-licensing decision predicted that it would harm Elastic's ecosystem and noted that Elastic had previously promised to "never....change the license of the Apache 2.0 code of Elasticsearch, Kibana, Beats, and Logstash". Amazon responded with plans to fork the projects and continue development under Apache License 2.0. [2] [22] Other users of the Elasticsearch ecosystem, including Logz.io, CrateDB and Aiven, also committed to the need for a fork, leading to a discussion of how to coordinate the open source efforts. [23] [24] [25] Due to potential trademark issues with using the name "Elasticsearch", AWS rebranded their fork as OpenSearch in April 2021. [26] [27]

Features

Elasticsearch can be used to search any kind of document. It provides scalable search, has near real-time search, and supports multitenancy. [28] "Elasticsearch is distributed, which means that indices can be divided into shards and each shard can have zero or more replicas. Each node hosts one or more shards and acts as a coordinator to delegate operations to the correct shard(s). Rebalancing and routing are done automatically". [28] Related data is often stored in the same index, which consists of one or more primary shards, and zero or more replica shards. Once an index has been created, the number of primary shards cannot be changed. [29]

Elasticsearch is developed alongside the data collection and log-parsing engine Logstash, the analytics and visualization platform Kibana, and the collection of lightweight data shippers called Beats. The four products are designed for use as an integrated solution, referred to as the "Elastic Stack". [30] (Formerly the "ELK stack", short for "Elasticsearch, Logstash, Kibana".)

Elasticsearch uses Lucene and tries to make all its features available through the JSON and Java API. It supports facetting and percolating (a form of prospective search), [31] [32] which can be useful for notifying if new documents match for registered queries. Another feature, "gateway", handles the long-term persistence of the index; [33] for example, an index can be recovered from the gateway in the event of a server crash. Elasticsearch supports real-time GET requests, which makes it suitable as a NoSQL datastore, [34] but it lacks distributed transactions. [35]

On 20 May 2019, Elastic made the core security features of the Elastic Stack available free of charge, including TLS for encrypted communications, file and native realm for creating and managing users, and role-based access control for controlling user access to cluster APIs and indexes. [36] The corresponding source code is available under the “Elastic License”, a source-available license. [37] In addition, Elasticsearch now offers SIEM [38] and Machine Learning [39] as part of its offered services.

Managed services

Developed from the Found acquisition by Elastic in 2015, [40] Elastic Cloud is a family of Elasticsearch-powered SaaS offerings which include the Elasticsearch Service, as well as Elastic App Search Service, and Elastic Site Search Service which were developed from Elastic's acquisition of Swiftype. [41] In late 2017, Elastic formed partnerships with Google to offer Elastic Cloud in Google Cloud Platform (GCP), and Alibaba to offer Elasticsearch and Kibana in Alibaba Cloud.

Elasticsearch Service on Elastic Cloud is the official hosted and managed Elasticsearch and Kibana offering from the creators of the project since August 2018. [42] [43] Elasticsearch Service users can create secure deployments with partners, Google Cloud Platform (GCP) and Alibaba Cloud. [44] [45]

AWS previously offered Elasticsearch as a managed service beginning 2015. [46] [47] [48] There are many companies that currently offer managed services, such as Elastic Co, BigData Boutique, Instacluster, and Dattell. [49] [50] [51] [52] Such managed services provide hosting, deployment, backup and other support. [53] Most managed services also include support for Kibana.[ citation needed ]

See also

Related Research Articles

Memcached is a general-purpose distributed memory-caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source must be read. Memcached is free and open-source software, licensed under the Revised BSD license. Memcached runs on Unix-like operating systems and on Microsoft Windows. It depends on the libevent library.

<span class="mw-page-title-main">Amazon Web Services</span> On-demand cloud computing company

Amazon Web Services, Inc. (AWS) is a subsidiary of Amazon that provides on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered, pay-as-you-go basis. Clients will often use this in combination with autoscaling. These cloud computing web services provide various services related to networking, compute, storage, middleware, IoT and other processing capacity, as well as software tools via AWS server farms. This frees clients from managing, scaling, and patching hardware and operating systems. One of the foundational services is Amazon Elastic Compute Cloud (EC2), which allows users to have at their disposal a virtual cluster of computers, with extremely high availability, which can be interacted with over the internet via REST APIs, a CLI or the AWS console. AWS's virtual computers emulate most of the attributes of a real computer, including hardware central processing units (CPUs) and graphics processing units (GPUs) for processing; local/RAM memory; Hard-disk(HDD)/SSD storage; a choice of operating systems; networking; and pre-loaded application software such as web servers, databases, and customer relationship management (CRM).

In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform.

<span class="mw-page-title-main">Amazon Elastic Compute Cloud</span> Cloud computing platform

Amazon Elastic Compute Cloud (EC2) is a part of Amazon.com's cloud-computing platform, Amazon Web Services (AWS), that allows users to rent virtual computers on which to run their own computer applications. EC2 encourages scalable deployment of applications by providing a web service through which a user can boot an Amazon Machine Image (AMI) to configure a virtual machine, which Amazon calls an "instance", containing any software desired. A user can create, launch, and terminate server-instances as needed, paying by the second for active servers – hence the term "elastic". EC2 provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy. In November 2010, Amazon switched its own retail website platform to EC2 and AWS.

A Contributor License Agreement (CLA) defines the terms under which intellectual property has been contributed to a company/project, typically software under an open source license.

A database shard, or simply a shard, is a horizontal partition of data in a database or search engine. Each shard is held on a separate database server instance, to spread load.

MongoDB is a source-available, cross-platform, document-oriented database program. Classified as a NoSQL database product, MongoDB utilizes JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and current versions are licensed under the Server Side Public License (SSPL). MongoDB is a member of the MACH Alliance.

<span class="mw-page-title-main">Redis</span> Source available in-memory key–value database

Redis is a source available, in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. Because it holds all data in memory and because of its design, Redis offers low-latency reads and writes, making it particularly suitable for use cases that require a cache. Redis is the most popular NoSQL database, and one of the most popular databases overall. Redis is used in companies like Twitter, Airbnb, Tinder, Yahoo, Adobe, Hulu, Amazon and OpenAI.

<span class="mw-page-title-main">Open-core model</span> Business model monetizing commercial open-source software

The open-core model is a business model for the monetization of commercially produced open-source software. The open-core model primarily involves offering a "core" or feature-limited version of a software product as free and open-source software, while offering "commercial" versions or add-ons as proprietary software. The term was coined by Andrew Lampitt in 2008.

<span class="mw-page-title-main">Kibana</span> Data visualization plugin for Elasticsearch

Kibana is a source-available data visualization dashboard software for Elasticsearch.

<span class="mw-page-title-main">ArangoDB</span> Multi-model database

ArangoDB is a graph database system developed by ArangoDB Inc. ArangoDB is a multi-model database system since it supports three data models with one database core and a unified query language AQL. AQL is mainly a declarative language and allows the combination of different data access patterns in a single query.

This is a timeline of Amazon Web Services, which offers a suite of cloud computing services that make up an on-demand computing platform.

<span class="mw-page-title-main">Elastic NV</span> Company behind search engine Elasticsearch

Elastic NV is an American-Dutch company that was founded in 2012 in Amsterdam, the Netherlands, and was previously known as Elasticsearch. It is a search company that builds self-managed and software as a service (SaaS) offerings for search, logging, security, observability, and analytics use cases.

The Server Side Public License (SSPL) is a source-available copyleft software license introduced by MongoDB Inc. in 2018.

OpenSearch is a family of software consisting of a search engine, and OpenSearch Dashboards, a data visualization dashboard for that search engine. The software started in 2021 as a fork of Elasticsearch and Kibana, with development led by Amazon Web Services.

Teunis Steven Schuurman is a Dutch technology and media entrepreneur, best known for co-founding and being the first CEO of Elastic, a data search and analytics company listed at the NYSE (ESTC). After stepping down as CEO of Elastic in 2017, he started to work towards dedicating his time and resources exclusively to philanthropy. He is also the co-founder of Atlantis Entertainment, SpringSource and the founder of the non-profit organisations the Dreamery Foundation and FutureNL.

<span class="mw-page-title-main">Trino (SQL query engine)</span> Open-source distributed SQL query engine

Trino is an open-source distributed SQL query engine designed to query large data sets distributed over one or more heterogeneous data sources. Trino can query data lakes that contain open column-oriented data file formats like ORC or Parquet residing on different storage systems like HDFS, AWS S3, Google Cloud Storage, or Azure Blob Storage using the Hive and Iceberg table formats. Trino also has the ability to run federated queries that query tables in different data sources such as MySQL, PostgreSQL, Cassandra, Kafka, MongoDB and Elasticsearch. Trino is released under the Apache License.

OpenSearch or Open Search may refer to:

Valkey is an open-source in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. Because it holds all data in memory and because of its design, Valkey offers low-latency reads and writes, making it particularly suitable for use cases that require a cache. Valkey is the successor to Redis, the most popular NoSQL database, and one of the most popular databases overall. Valkey or its predecessor Redis are used in companies like Twitter, Airbnb, Tinder, Yahoo, Adobe, Hulu, Amazon and OpenAI.

References

  1. 1 2 "Releases · elastic/elasticsearch" . Retrieved 25 August 2023 via GitHub.
  2. 1 2 Krazit, Tom (21 January 2021). "'It's not OK': Elastic takes aim at AWS, at the risk of major collateral damage". Protocol. Retrieved 22 January 2021.
  3. "No, Elastic X-Pack is not going to be open source - according to Elastic themselves -". Flax.co.uk. 2 March 2018. Retrieved 14 March 2019.
  4. "Elasticsearch Java Client". github.com. Retrieved 7 October 2022.
  5. "Elasticsearch .NET Client". github.com. Retrieved 7 October 2022.
  6. "Elasticsearch PHP Client". github.com. Retrieved 7 October 2022.
  7. "Elasticsearch Python Client". github.com. Retrieved 7 October 2022.
  8. "Elasticsearch Ruby Client". github.com. Retrieved 7 October 2022.
  9. "Programming Language Clients". elastic.co. Retrieved 7 October 2022.
  10. "DB-Engines Ranking - popularity ranking of search engines". db-engines.com. Retrieved 10 January 2016.
  11. 1 2 3 Banon, Shay (7 July 2010). "The Future of Compass & ElasticSearch".
  12. Banon, Shay (8 February 2010). "You Know, for Search". Archived from the original on 16 January 2013.
  13. "Immediate Insight from Data Matters". elastic.co. Retrieved 25 March 2015.
  14. Miller, Ron (5 June 2014). "ElasticSearch Scores $70M In Series C To Fund Growth Spurt". TechCrunch. AOL. Retrieved 4 April 2024.
  15. "Elasticsearch Changes Name to Elastic to Reflect Wide Adoption Beyond Search". Elastic.co. 10 March 2015. Retrieved 19 October 2016.
  16. Schleifer, Theodore (21 June 2018). "The IPOs keep coming: The search company Elastic has filed to go public". Recode . Archived from the original on 5 October 2018. Retrieved 22 June 2018.
  17. Banon, Shay (5 October 2018). "Ze Bell Has Rung: Thank You Users, Customers, and Partners". Elastic (NV). Retrieved 24 October 2018.
  18. "Past Releases of Elastic Stack Software". Elasticsearch B.V. Retrieved 13 July 2021.
  19. Banon, Shay (14 January 2021). "Doubling down on open, Part II". Elastic. Retrieved 19 January 2021.
  20. 1 2 Vaughan-Nichols, Steven J. "Elastic changes open-source license to monetize cloud-service use". ZDNet. Retrieved 23 January 2021.
  21. Banon, Shay (19 January 2021). "Amazon: NOT OK - why we had to change Elastic licensing". Elastic. Retrieved 19 January 2021.
  22. "Stepping up for a truly open source Elasticsearch". Amazon Web Services. 21 January 2021. Retrieved 28 January 2021.
  23. Vaughan-Nichols, Steven J. "AWS, as predicted, is forking Elasticsearch". ZDNet. Retrieved 28 January 2021.
  24. "CrateDB Doubling Down on Permissive Licensing and the Elasticsearch Lockdown". CrateDB. 27 January 2021. Retrieved 28 January 2021.
  25. "Momentum Builds to Break Elasticsearch Licensing Deadlock". Datanami. 25 January 2021. Retrieved 31 January 2021.
  26. Anderson, Tim (13 April 2021). "You know what? Fork this: AWS renames its take on Elasticsearch to OpenSearch following trademark fight". The Register . Retrieved 13 April 2021.
  27. TheRegister (12 Sep 2021) Amazon Elasticsearch Service is so flexible it wants to be called by a new name
  28. 1 2 "Official Website". Elasticsearch.org. Retrieved 4 February 2014.
  29. "How to monitor Elasticsearch performance". How to monitor Elasticsearch performance. 26 September 2016.
  30. Miller, Ron (26 October 2016). "Elastic brings order to its product line with Elastic Stack". TechCrunch . Retrieved 3 April 2024.
  31. "percolate at elasticsearch.org reference". Elasticsearch.org. Archived from the original on 2 October 2013. Retrieved 4 February 2014.
  32. "Percolating" is a term peculiar to Elasticsearch. Percolating is a reverse search: instead of returning all the documents that match a search query, percolating returns all the (stored) search queries that match a document as their output. Nunn, Xavier; "Detecting data leaks in real time with a custom percolator", Serena Capital blogs, 2019-January-8
  33. "elasticsearch Guide: Gateway". Elasticsearch.org. Retrieved 19 April 2013.
  34. "Elasticsearch as database". Karussell.wordpress.com. 13 July 2011. Retrieved 4 February 2014.
  35. "No transaction support". Elasticsearch-users.115913.n3.nabble.com. 8 July 2010. Retrieved 4 February 2014.
  36. "Security for Elasticsearch is now free". Elastic Blog. 20 May 2019. Retrieved 17 June 2019.
  37. "Doubling Down on Open". Elastic Blog. 27 February 2018. Retrieved 24 October 2019.
  38. "Introducing Elastic SIEM". Elastic Blog. 25 June 2019. Retrieved 2 March 2020.
  39. "Introducing Machine Learning for the Elastic Stack". Elastic Blog. 4 May 2017. Retrieved 2 March 2020.
  40. Oliver, Andrew C. (10 March 2015). "Elasticsearch buys into search as a service, rebrands as 'Elastic'". InfoWorld.com. Retrieved 1 April 2019.
  41. Ha, Anthony (9 November 2017). "Elastic acquires search startup Swiftype". TechCrunch . Retrieved 3 April 2024.
  42. "Open Source Search & Analytics · Elasticsearch - Elastic". Elastic.co. August 2018. Retrieved 22 April 2019.
  43. "Elastic Cloud: Hosted Elasticsearch, Hosted Search | Elastic". Elastic.co. Retrieved 1 April 2019.
  44. Yegulalp, Serdar (7 April 2017). "Google Cloud to host open source Elasticsearch". InfoWorld.com. Retrieved 1 April 2019.
  45. "Alibaba Cloud to Offer Elasticsearch, Kibana, and X-Pack in China". Elastic.co. 13 October 2017. Retrieved 1 April 2019.
  46. "New – Amazon Elasticsearch Service". Amazon Web Services. 1 October 2015. Retrieved 22 April 2019.
  47. "Amazon Elasticsearch Service – Amazon Web Services (AWS)". Amazon Web Services, Inc. (in Latin). Retrieved 8 February 2019.
  48. "Hosted Elasticsearch & Kibana on AWS". Elastic.co. Retrieved 16 October 2016.
  49. "Welcome to Elastic, creators of Elasticsearch & Kibana". www.elastic.co. Retrieved 21 February 2023.
  50. "Managed Elasticsearch Support". BigData Boutique. Retrieved 21 February 2023.
  51. "Homepage". Instaclustr. Retrieved 21 February 2023.
  52. "Home". Dattell. Retrieved 21 February 2023.
  53. "Elasticsearch Setup". Ctovision.com. Archived from the original on 21 August 2018. Retrieved 16 October 2016.