溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Postgresql與Elasticsearch數(shù)據(jù)同步提高

發(fā)布時(shí)間:2020-06-11 16:39:58 來(lái)源:網(wǎng)絡(luò) 閱讀:1702 作者:郭柏雅 欄目:關(guān)系型數(shù)據(jù)庫(kù)

一般來(lái)說(shuō),影響數(shù)據(jù)庫(kù)最大的性能問(wèn)題有兩個(gè),一個(gè)是對(duì)數(shù)據(jù)庫(kù)的讀寫操作,一個(gè)是數(shù)據(jù)庫(kù)中的數(shù)據(jù)太大導(dǎo)致操作慢,對(duì)于前者我們可以適當(dāng)借助緩存來(lái)減少一部分讀操作,而針對(duì)一些復(fù)雜的報(bào)表分析和搜索可以交給hadoop和elasticsearch,對(duì)于寫并發(fā)大,讀也并發(fā)大,我們可以考慮分庫(kù)分表,主從讀寫分離或者兩者結(jié)合等方式來(lái)提高并發(fā)性和時(shí)效性,例如PG大并發(fā)寫,大數(shù)據(jù)查看可以用elasticsearch與PG數(shù)據(jù)同步來(lái)讀,可以啟到很好的效果。
ElasticSearch做為搜索服務(wù)器,在性能上確實(shí)優(yōu)勢(shì)突出,是當(dāng)前流行的企業(yè)級(jí)搜索引擎。它提供了一個(gè)分布式多用戶能力的全文搜索引擎,基于RESTful web接口。主要用于實(shí)時(shí)搜索和分析引擎,,支持對(duì)結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)數(shù)據(jù)處理檢索。
例如,我們使用的數(shù)據(jù)庫(kù)時(shí)Postgres數(shù)據(jù)庫(kù),主從配置,從庫(kù)主要用于數(shù)據(jù)分析檢索為主,如果使用postgres進(jìn)行多表多維度全量方式檢索分析用戶行為等挖掘有價(jià)值的數(shù)據(jù),這樣性能上無(wú)法及時(shí)滿足客戶時(shí)時(shí)性要求,因此我們可以使用Elasticsearch數(shù)據(jù)庫(kù)代替PG從庫(kù)做為挖掘分析數(shù)據(jù)庫(kù),使用過(guò)程中發(fā)現(xiàn)兩者表與數(shù)據(jù)的兼容性都還不錯(cuò),而且展現(xiàn)數(shù)據(jù)的性能確實(shí)快,
如下圖是同一張表數(shù)據(jù)在postgres數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表,在Elasticsearch數(shù)據(jù)庫(kù)中對(duì)應(yīng),說(shuō)明數(shù)據(jù)是兼容的。
Postgresql與Elasticsearch數(shù)據(jù)同步提高

而在postgres數(shù)據(jù)庫(kù)中針對(duì)visit_plan_qz 表3073920筆數(shù)據(jù)進(jìn)行全量查詢,耗時(shí)大于5分鐘都無(wú)法正常展現(xiàn)出來(lái),
Postgresql與Elasticsearch數(shù)據(jù)同步提高

如果使用Elasticsearch進(jìn)程全量查詢僅使用0.0005秒就可以展現(xiàn)出數(shù)據(jù),當(dāng)然Elasticsearch會(huì)自動(dòng)對(duì)該表劃分為5個(gè)分片來(lái)展現(xiàn)數(shù)據(jù)。

Postgresql與Elasticsearch數(shù)據(jù)同步提高
工作原理:
PG關(guān)系數(shù)據(jù)庫(kù) ? 數(shù)據(jù)庫(kù) ? 表 ? 行 ? 列(Columns)
Elasticsearch ? 索引(Index) ? 類型(type) ? 文檔(Docments) ? 字段(Fields)
可以看出Elasticsearch性能上的優(yōu)勢(shì)在索引,它提供強(qiáng)大的索引能力,Elasticsearch 是通過(guò) Lucene 的倒排索引技術(shù)實(shí)現(xiàn)比關(guān)系型數(shù)據(jù)庫(kù)更快的過(guò)濾
Elasticsearch的索引思路:將磁盤里的東西盡量搬進(jìn)內(nèi)存,減少磁盤隨機(jī)讀取次數(shù)(同時(shí)也利用磁盤順序讀特性),結(jié)合各種算法,用及其苛刻的態(tài)度使用內(nèi)存。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI