https://www.toutiao.com/article/7238838064397779495/
Manticore Search介绍
Manticore Search是一个易于使用的开源快速搜索数据库,是Elasticsearch的良好替代品。它与其他解决方案的区别在于:
它非常快,因此比其他替代方案更具成本效益。例如,Manticore:
对于小型数据,比MySQL快182倍(可重现❗)
对于日志分析,比Elasticsearch快29倍(可重现❗)
对于小型数据集,比Elasticsearch快15倍(可重现❗)
对于中等大小的数据,比Elasticsearch快5倍(可重现❗)
对于大型数据,比Elasticsearch快4倍(可重现❗)
在单个服务器上进行数据导入时,最大吞吐量比Elasticsearch快最多2倍(可重现❗)
由于其现代的多线程架构和高效的查询并行化能力,Manticore能够充分利用所有CPU核心,以实现最快的响应时间。
强大而快速的全文搜索功能能够无缝地处理小型和大型数据集。
针对小、中、大型数据集提供逐行存储。
对于更大的数据集,Manticore通过Manticore Columnar Library提供列存储支持,可以处理无法适合内存的数据集。
自动创建高效的二级索引,节省时间和精力。
成本优化的查询优化器可优化搜索查询以实现最佳性能。
Manticore是基于SQL的,使用SQL作为其本机语法,并与MySQL协议兼容,使您可以使用首选的MySQL客户端。
通过PHP、Python、JavaScript、Java、Elixir和Go等客户端,与Manticore Search的集成变得简单。
Manticore还提供了一种编程HTTP JSON协议,用于更多样化的数据和模式管理。
Manticore Search使用C++构建,启动快速,内存使用最少,低级别优化有助于其卓越性能。
实时插入,新添加的文档立即可访问。
提供互动课程,使学习轻松愉快。
Manticore还拥有内置的复制和负载均衡功能,增加了可靠性。
可以轻松地从MySQL、PostgreSQL、ODBC、xml和csv等来源同步数据。
虽然不完全符合ACID,但Manticore仍支持事务和binlog以确保安全写入。
内置工具和SQL命令可轻松备份和恢复数据。
更多特性
全文搜索和相关性:超过20个全文运算符和超过20个排名因素
自定义排名
其他搜索功能:
丰富的过滤功能
分面搜索
地理空间搜索
拼写纠正自动完成
广泛的过滤和数据操作功能
自然语言处理(NLP):
分词
词形还原
停用词
同义词
词形
字符和单词级别的高级分词
适用于中文的分词处理
文本高亮显示
使用“percolate”表的流过滤
高可用性:
数据可以在服务器和数据中心之间分配
同步复制
内置负载均衡
安全性:
https支持
只读模式
数据安全:
manticore-backup工具和SQL命令BACKUP可备份和恢复数据
数据存储:
逐行存储 - 需要更多的RAM,提供更快的性能
列存储 - 需要更少的RAM,仍然提供不错的性能,但某些类型的查询低于逐行存储
文档存储 - 根本不需要RAM,但只能获取原始值,无法进行排序/分组/过滤
性能优化:
二级索引
基于成本的优化器确定搜索查询的最有效执行计划
数据类型:
全文字段 - 倒排索引
逐行和列方式中的int、bigint和float数值字段
多值属性(数组)
字符串和JSON
用于键值目的的磁盘上的“存储”
集成:
从MySQL和PostgreSQL同步
从XML同步
从CSV同步
使用MySQL作为存储引擎
通过FEDERATED引擎与MySQL
ProxySQL
Manticore Columnar Library