初識ES數據庫

1、什麼是Elasticsearch

一、概念以及特色

一、Elasticsearch和MongoDB/Redis/Memcache同樣,是非關係型數據庫算法

是一個接近實時的搜索平臺,從索引這個文檔到這個文檔可以被搜索到只有一個輕微的延遲,企業應用定位:採用Restful API標準的可擴展和高可用的實時數據分析的全文搜索工具sql

二、可拓展:支持一主多從且擴容簡易,只要cluster.name一致且在同一個網絡中就能自動加入當前集羣;自己就是開源軟件,也支持不少開源的第三方插件。數據庫

三、高可用:在一個集羣的多個節點中進行分佈式存儲,索引支持shards和複製,即便部分節點down掉,也能自動進行數據恢復和主從切換緩存

四、採用RestfulAPI標準:經過http接口使用JSON格式進行操做數據。服務器

五、數據存儲的最小單位是文檔,本質上是一個JSON 文本:網絡

二、項目中爲什麼使用(主搜索次分析再存儲)

2.一、搜索引擎

實際項目開發中,幾乎每一個系統都會有一個搜索的功能,數據量少時能夠直接從主數據庫中好比Mysql搜索。架構

但當搜索作到必定程度時,好比系統數據量上了10億、100億條的時候,傳統的關係型數據庫的I/O性能和統計分析性能就難以知足用戶須要了。分佈式

因此不少公司都會把搜索單獨作成一個獨立的模塊,用ElasticSearch等來實現。工具

雖然內存緩存數據庫的讀寫性能很高,但徹底把數據放在內存中是不太現實的,好比到PB級別的數據,按照每一個節點96G內存計算,性能

在內存徹底裝滿的數據狀況下,須要的機器是:1PB=1024T=1048576G ,節點數就是1048576/96=10922個 ,再考慮到數據備份,節點數還須要翻倍,成本巨大決定了其不現實!

2.二、日誌分析

Elasticsearch+ Logstash + Kibana是同一家公司開發的3個開源工具,可組合起來搭建海量日誌分析平臺,目前不少公司都在使用這種方式搭建日誌分析平臺進行大數據分析。

三、底層架構

二、RESTFul 介紹

一、什麼是RESTFul

REST(RepresentationalState Transfer)是一種軟件架構的設計風格(不是標準),經過 HTTP接口處理數據,主要用於客戶端和服務器的數據交互。

該風格的具體特色——在服務器端,應用程序對象、數據庫記錄、算法、文本、圖片等都是一個實體資源,使用 URI標識,

全部資源都共享統一的接口(標準的HTTP方法)好比 GET、PUT、POST 和 DELETE,在客戶端和服務器之間傳輸數據。

二、CURL命令的講解

2.一、什麼是CURL

本質就是以命令方式發送HTTP請求,能夠完成好比發送表單信息、文件上傳、分段下載、模擬登陸等,理論上在APP或Web裏能操做的經過此指令都能操做。

2.二、具體應用

三、Elasticsearch API文檔查看

相關文章
相關標籤/搜索