云视野官网_云厂商

云视野官网_云厂商王奇 顾问软件工程师 目前从事 PaaS 中间件服务(Redis / MongoDB / ELK 等)开发工作,对 NoSQL 数据库有深入的研究以及丰富的二次开发经验,热衷对 NoSQL 数据库领域

视野 | OpenSearch,云厂商的新选择?

王奇 顾问软件工程师

目前从事 PaaS 中间件服务(Redis / MongoDB / ELK 等)开发工作,对 NoSQL 数据库有深入的研究以及丰富的二次开发经验,热衷对 NoSQL 数据库领域内的最新技术动态的学习,能够把握行业技术发展趋势。

| 最流行的全文搜索引擎

Elasticsearch 是一款广泛使用的开源分布式全文搜索引擎,源于 Apache Lucene[1],许可证为 Apache 2.0。由于出色的搜索引擎、高扩展性和丰富的统计分析能力,深受用户喜爱。

基于 Lucene 的 Elasticsearch


基于 Lucene 的 Elasticsearch

2010 年开源的 Elasticsearch 随着全球搜索引擎业务的飞速发展,也变得更加流行。在国内外积累了大量的核心用户并受到社区的强烈欢迎。根据 DB-Engines[2] 网站对于 Search Engine 类数据库的流行度趋势统计,2016 年至今 Elasticsearch 始终保持第一。

Search Engine 流行趋势


Search Engine 流行趋势

| Elastic 与 AWS 事件

Elastic 成立于 2012 年,是很多来自硅谷的开源软件独角兽公司之一。Elasticsearch 的成功离不开 Elastic 公司的成功运营。随着云计算技术的不断发展壮大,以 AWS 为首的云厂商 SaaS 模式 趋于火热,越来越多的用户愿意接受 SaaS 模式。部分云厂商将开源产品以服务的方式发布并盈利,但并未回馈开源。

Elastic 公司在这样的背景下,决定有针对性的修改了许可授权,各大云厂商们面临在非授权的情况下,将无法继续更新 Elasticsearch 版本的困境(旧版本不影响)。

Elasticsearch 版本协议说明


Elasticsearch 版本协议说明

AWS 没有选择与 Elastic 合作,而是在 2019 年开始尝试新的可能。2021 年 AWS 正式开源了基于 Elasticsearch 的 OpenSearch 项目,并在 AWS 商店正式推出了 OpenSearch[3] 服务来取代原有的 Elasticsearch 服务。

这一系列事件,对全球云厂商对开源软件的使用也许会产生深远的影响。接下来我们梳理一下整个事件的时间线。

时间线

2010 年 2 月

Elastic 发布了 Elasticsearch,源于 Apache Lucene,许可证为 Apache 2.0。

2018 – 2019 年

Elastic 修改了 Kibana(配套可视化工具) 和 Elasticsearch 的开源协议( ALv2 -> SSPL & Elastic 双授权),意味着 7.10.2 版本后不再提供开源版本。

2019 年 3 月

AWS 推出 Open Distro for Elasticsearch(OpenSearch 的前身),一个 100% 的开源发行版。

2021 年 4 月

AWS 宣布推出 OpenSearch 项目,基于 7.10.2 版本创建分支,并重构了所有 ODFE 插件与 OpenSearch 配合使用,ODFE 在 1.13 版本结束。

2021 年 9 月

AWS 将 AWS Electicsearch Service 服务更新为 AWS OpenSearch Service。

ELv2 与 SSPL 协议

事件中,以 Elastic 公司修改开源协议为重要转折点。

ELv2:由 Elastic 制定的源代码许可。该协议适用于 Elastic 的分发版以及 Elasticsearch 和 Kibana 所有免费和付费功能的源代码。ELv2 的目标是在尽可能宽松的情况下防止滥用。该许可允许免费使用、修改、创建衍生作品和重新分发,但有三个基本的限制条件:

  • 不得将产品作为托管服务提供给其他人
  • 不得规避许可密钥功能或删除/隐藏受许可密钥保护的功能
  • 不得删除或隐藏任何许可协议、版权或其他声明

SSPL:由 MongoDB 制定的源代码许可。针对云服务提供商做出了限制,即要求云服务提供商在未对项目做出贡献的情况下,不得发布自己的开源产品即服务。SSPL 允许用户以自由且不受限制的方式使用并修改代码成果,唯一的要求是:如果将产品以作为一种服务进行交付,那么必须同时公开发布所有关于修改及 SSPL 之下管理层的源代码。

影响与选择

Elastic 公司决定修改开源协议,并不会对个人用户使用造成影响,只会限制云服务厂商将开源产品转化为软件即服务的形式。对于没有获得授权的云厂商来说,除了提供到最后一个开源版本的 Elasticsearch 服务之外,就需要开始考虑其他替代方案了。

目前各大云厂商主要采取的如下两种方案:

PlanA – 与 Elastic 达成商业授权协议,深度合作。

PlanB – 未获得商业授权的云厂商,继续使用基于 ALv2 协议下的 Elasticsearch 的开源(OSS)版本,并尝试寻找新的替代方案。

目前为止,与 Elastic 达成合作的云服务供应商:Microsoft、Google、阿里巴巴、腾讯、Clever Cloud 等。

| 新的选择?

OpenSearch 是一个社区驱动的开源搜索和分析套件,源自 Apache 2.0 许可的 Elasticsearch 7.10.2 和 Kibana 7.10.2。它由一个搜索引擎守护进程 OpenSearch 和一个可视化和用户界面 OpenSearch Dashboards 组成。OpenSearch 使人们能够轻松摄取、保护、搜索、聚合、查看和分析数据。

OpenSearch 官网


OpenSearch 官网

演进历程

项目早期,Open Distro 的核心仍然是普通的 Elasticsearch。Amazon 对 Open Distro 所做的是为 Elasticsearch 和 Kibana 添加功能。

file

OpenSearch 实际上是 Elasticsearch 的一个分支。

一方面 OpenSearch 正在从开源 Elasticsearch 停止的地方开始,代码中任何有 Elasticsearch 或 Kibana 引用的地方,最后都会更改为 OpenSearch 。另一方面 Open Distro 所有功能都将添加到 OpenSearch,OpenSearch 后续将致力于保持其分支开源,并得到 AWS 的支持。

file

可替代性

如果说 Elasticsearch 提供了非常棒的能力,利用它的大数据工具来帮助进行全栈监控、自动化、数据重新平衡、IP 过滤等的各种规模的组织,那么 OpenSearch 就是致力于聚合、查看和分析数据的企业的洞察引擎解决方案。

  • 从方案的角度讲,两者都提供了大数据解决方案,且底层实现一致。
  • 从功能的角度讲,OpenSearch 覆盖了开源版 Elasticsearch 的所有功能,并为其提供媲美 Elasticsearch X-Pack 的商业能力。

无论 Elasticsearch 还是 OpenSearch,用户的核心需求是搜索、安全、监控、告警、跨集群同步等集群服务,后者也可以完全满足需求。

最新版本

从 2021 年 4 月 12 日推出 OpenSearch 项目以来,截止到现在已更新至 1.1.0 版本,虽然该版本已媲美 X-Pack 部分功能。但是目前实践上还需要更多的验证。

随着 1.1.0 的推出,OpenSearch 已经在向自己的方向前进。有许多已推出的功能和增强功能,包括:

  • 添加碎片级后压框架,以提高 OpenSearch 索引的可靠性。
  • 添加许多新的可观测功能,以帮助您分析跟踪和日志数据。
  • OpenSearch 的 k-NN 插件将为更新的FAISS算法增加支持,以提高性能。
  • 异常检测将增加信号导致特定异常的可见性。
  • 扩集群复制同步能力。

Elastic 看 OpenSearch

在 OpenSearch 服务推出后,Elastic 官网也对该服务为用户提出了一些热门问题[4],并做出了自己的诠释。

  • 什么是 OpenSearch 项目?
  • 为什么 OpenSearch 项目 fork 是从 Elasticsearch 和 Kibana 创建的?
  • Amazon OpenSearch Service 是否具有 Elasticsearch 中没有的任何功能?

| 展望

在云厂商们各自的生态环境下,开发者将采用不同的模式来完成产品的迭代,从不同的产品视角来满足不同的用户需求。

可预见在未来很长一段时间里, Elasticsearch 仍然会继续引领潮流,占据该领域的霸主地位。而 OpenSearch 依托于 AWS ,相信也会成为一个优秀的搜索引擎解决方案。

许可协议限制了在云厂商的使用,开源则提供了更多的可能。当云厂商无法使用 Elasticsearch 后续版本的时候,或许可以考虑 OpenSearch。

[1]. Apache Lucene:http://lucene.apache.org

[2]. DB-Engines:https://db-engines.com

[3]. OpenSearch:https://opensearch.org

[4]. What is opensearch: https://www.elastic.co/what-is/opensearch

推荐阅读

  • 盘点 | 主流云原生数据库技术方案
  • 高可用 | Xenon:后 MHA 时代的选择

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5712.html

(0)
上一篇 2023-04-27
下一篇 2023-04-28

相关推荐

  • 深入python垃圾回收机制:理解gc模块

    深入python垃圾回收机制:理解gc模块Python是一门非常受欢迎的编程语言,而Python的垃圾回收机制则是Python执行效果显著的重要因素之一。如果我们要写出高效并且节省运行时间的Python代码,深入理解Python的垃圾回收机制是非常必要的。本文将深入探讨Python的垃圾回收机制,重点讲解gc模块的相关知识,帮助读者深入理解Python的垃圾回收机制,写出更高效的Python代码。

    2024-05-21
    63
  • Python中的append方法:添加元素到列表

    Python中的append方法:添加元素到列表Python中的列表是一种可变的有序序列,可以为列表添加、删除、修改元素。在Python中,要向列表添加元素,可以使用append方法。append方法用于在列表的末尾添加一个元素。这个方法会改变列表,而且只会添加元素一个,也就是说,当我们执行append方法时,只需指定添加的元素即可,不用考虑位置。

    2024-03-08
    88
  • oracle服务器性能调优_oracle数据库查询响应慢

    oracle服务器性能调优_oracle数据库查询响应慢某天,测试突然说服务器慢。 通过xshell连接数据库服务器。连接都慢的吓人 连上后发现。 load average 和 wa不正常 io 占用了这么多cpu? 百度了2个sql查询下 当前耗时sq…

    2023-03-09
    152
  • MySQL8开启ssl加密

    MySQL8开启ssl加密1 概述 MySQL从5.7开始默认开启SSL加密功能,进入MySQL控制台后输入status可以查看ssl的状态,出现下图表示在使用ssl: 另外,ssl加密需要密钥与证书,可以使用openssl…

    2023-02-10
    245
  • oracle查看clob字段内容「终于解决」

    oracle查看clob字段内容「终于解决」select dbms_lob.substr(a.字段,4000,1) from table_name a;

    2023-03-17
    179
  • Excel经典问题:提取字符串,一个案例涉及3种方法和10个函数「终于解决」

    Excel经典问题:提取字符串,一个案例涉及3种方法和10个函数「终于解决」堪称进阶Excel的集大成旗舰系列课《48天,Excel技能脱胎换骨》,试学之后才知道有多厉害……,点击下面卡片了解详情:有这样一个Excel经

    2023-03-01
    145
  • 【赵强老师】Kafka的持久化[亲测有效]

    【赵强老师】Kafka的持久化[亲测有效]一、Kafka持久化概述 Kakfa 依赖文件系统来存储和缓存消息。对于硬盘的传统观念是硬盘总是很慢,基于文件系统的架构能否提供优异的性能?实际上硬盘的快慢完全取决于使用方式。同时 Kafka 基于

    2023-03-14
    158
  • 获取当前工作目录的Python函数

    获取当前工作目录的Python函数Python中os模块提供了一组与操作系统交互的功能。其中,getcwd()函数可以用来获取当前工作目录。调用该函数的时候,会返回以字符串形式表示的当前目录路径:

    2024-01-17
    115

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注