写点什么

Elasticsearch 是分布式文件存储么 ?

用户头像
escray
关注
发布于: 2021 年 01 月 30 日
Elasticsearch 是分布式文件存储么 ?

转眼已经 20 多天了,算是摸到了 Elasticsearch 的门,但是距离入门还是有挺远的距离,文字内容整理自 B 站中华石杉的 Elasticsearch 顶尖高手系列课程核心知识篇

阶段性总结


01~08 讲:快速入门了一下,最基本的原理,最基本的操作

09~13 讲:在入门之后,对 Elasticsearch 的分布式的基本原理,进行了相对深入一些的剖析

14~27 讲:围绕着 document 这个东西,进行操作,进行讲解和分析

什么是 distributed document store


到目前为止,好像已经知道了 Elasticsearch 是分布式的,包括一些基本的原理,然后花了不少时间在学习 document 本身相关的操作,增删改查。


Elasticsearch 最核心的功能是分布式文档数据存储系统。


  • 文档数据:Elasticsearch 可以存储和操作 JSON 文档类型的数据,而且这也是 Elasticsearch 的核心数据结构。

  • 存储系统:Elasticsearch 可以对 JSON 文档类型的数据进行存储、查询、创建、更新、删除等操作,其实 Elasticsearch 可以说是一个 NoSQL 存储系统。


围绕着 document 在操作,其实就是把 Elasticsearch 当成了一个 NoSQL 存储引擎,一个可以存储文档类型数据的存储系统,在操作里面的 document。


Elasticsearch 作为一个分布式的文档存储系统,我们的应用系统可以基于 Elasticsearch 进行相关的应用程序的开发了。


以上是中华石杉在课程中的讲解,其实在 官方文档 中是这么讲的:


Elasticsearch is the distributed search and analytics engine at the heart of the Elastic Stack.


分布式搜索和分析引擎,这是官方文档的说法,不过现在的确很多时候是把 Elasticsearch 当做文档存储来用的。


在一篇 Top 12 NoSQL Document Databases 的文章中,Elasticsearch 根本就没有被包括在内。顺便说一句,Top 12 里面有 MongoDB 和 Apache CouchDB。


维基百科的 Document-oriented database 词条下面倒是有 Elasticsearch 的身影。


A document-oriented database, or document store, is a computer program and data storage system designed for storing, retrieving and managing document-oriented information, also known as semi-structure data.

应用场景


什么类型的应用程序呢?


  • 数据量较大,Elasticsearch 的分布式本质,可以帮助你快速进行扩容,承载大量数据

  • 数据结构灵活多变,随时可能会变化,而且数据结构之间的关系,非常复杂,如果我们用传统数据库,那是不是很坑,因为要面临大量的表

  • 对数据的相关操作,较为简单,比如就是一些简单的增删改查,用我们之前讲解的那些 document 操作就可以搞定

  • NoSQL 数据库,适用的也是类似于上面的这种场景


举个例子,比如说像一些网站系统,或者是普通的电商系统,博客系统,面向对象概念比较复杂,但是作为终端网站来说,没什么太复杂的功能,就是一些简单的 CRUD 操作,而且数据量可能还比较大。这个时候选用 Elasticsearch 这种 NoSQL 型的数据存储,比传统的复杂的功能务必强大的支持 SQL 的关系型数据库,更加合适一些。无论是性能,还是吞吐量,可能都会更好。 S


Elasticsearch 常见用例


  1. Logging and Log Analysis,日志和日志分析,这个应该算是 Elasticsearch 的龙兴之地、起家法宝。

  2. Scraping and Combining Public Data,爬虫和汇集公共数据

  3. Full Text Search,全文检索,我有点好奇中文分词的问题如何解决

  4. Event Data and Metrics,事件数据和测量,这个是性能或者安全分析的意思么?

  5. Visualizing Data,数据可视化,这个其实是 Kibana 的拿手好戏吧,当然,数据是放在 Elasticsearch 中的。


elasic 官网首页说的是:搜索、观测、保护(Search、Observe、Protect),分别对应 Elastic 企业搜索、Elastic 可观测性和 Elastic 安全(Elastic Enterprise Search、Elastic Observability、Elastic Security),再加上一个 Elastic 云(Elastic Cloud)。


其实 Elasticsearch 是不是分布式文件存储并没有那么重要,关键是我们如何使用。

发布于: 2021 年 01 月 30 日阅读数: 59
用户头像

escray

关注

Let's Go 2017.11.19 加入

在学 Elasticsearch 的项目经理

评论

发布
暂无评论
Elasticsearch 是分布式文件存储么 ?