Aerospike(NoSQL) 從需求到安裝

2022-08-20 08:09:10 字數 2934 閱讀 2489

業務需要從資料庫中獲取產品的相關資訊,搜尋池為三張表總共670萬行記錄,所佔空間為1.5g,鍵值集容量從200到2500之間分布,命中率為25%到80%,由於業務原因無法減少鍵值集,而公司內部規劃沒有採用分布式資料庫架構。為減少搜尋相關資訊階段的時間,需要將從mysql等關係型資料庫中的搜尋壓力轉換到記憶體資料庫。

aerospike的官方描述:powering real-time, extreme scale data solutions that require five-9』s+ uptime, predictable performance and operational simplicity。(某些資料解決方案需要5個9的正常執行時間、可**的效能以及操作的簡單性,而aerospike恰恰支援這樣實時的、極端規模的資料解決方案。)

aerospike官方文件

因為當前有很多效能不錯的nosql資料庫可供選擇,那麼我為什麼要選擇aerospike呢?在看到官方簡介之前,我是無從下手的。不過,有了這麼高大上的定義,我瞬間有了方向。既然aerospike 說自己是下一代nosql資料平台,那麼我有個疑問,那下一代資料庫的定義是什麼樣的呢 ?有什麼特點嗎?從它對自己效能的自信,我很好奇它採用了什麼樣的架構什麼樣的機制做到這樣的效能呢?會不會存在打臉的情況呢?

為了防止自己對aerospike發表先入為主的意見,那麼我就先從它的官方文件開始,看看它自己是怎麼解釋自己的特點以及它對自己定義的由來。同時為了自己的書寫體驗(避免它有王婆賣瓜的傾向可能會誤導我的情況),我就將它描述中所有的形容詞去掉,只看事實。

1.穩定性及可靠性。通過三個方面來達到這個目的,第一,5個九的執行時間;第二,動態的集群管理機制;第三,強一致性。

2.可**效能。通過三個方面來達到這個目的,第一,獲得專利的快閃儲存器優化儲存層;第二,通過基於ml的實時決策支援高資料攝取率;第三,拓展到十億兆位元組規模。

3.減少複雜性及總擁有成本。通過三個方面來達到這個目的,第一,解決伺服器拓展問題;第二,使用低成本的flash和pmem來取代dram;第三,能在任何複雜的生產環境部署。

假設,aerospike官方的宣告具有比較高的可信度,那麼,在看到使用aerospike可以減少複雜性以及總擁有成本的特點時,我們便有了決定(因為窮,只能節衣縮食),畢竟使用ssd+memmory的方式比單純使用memmory要划算得多。同時,官方也提供了aerosipke的監控工具,便於我們運維。剩餘的資訊官方說明已經很詳細了,要用中文再寫一遍的話,就有點反覆造輪子的意思。上面三點已經繫結鏈結,可以直接跳轉到相關的官方頁面。

那麼,按照我的需求,到現在就已經可以安裝使用aerospike了。aerospike資料庫的限制列表。

企業版與社群版的對比

由於企業版本需要與銷售顧問聯絡之後,才能拿到feturekeys.conf。就不做企業版的演示了。下面選擇社群版的壓縮包以及docker安裝方式進行簡單說明。

1.社群版壓縮包安裝

1.1 環境

centos7 虛擬機器, xshell遠端連線工具。

yum

install lrzsz

使用xshell連線虛擬機器,切換到你決定放壓縮包的位置,執行下面命令

wget -o aerospike.tgz '

'

若是沒有wget方法,可以通過下面命令安裝

yum

install

wget

1.3 解壓安裝

解壓

tar -xvf aerospike.tgz

安裝(在centos6和8中,需要安裝一些額外依賴)

cd aerospike-server-community--el7/

sudo ./asinstall

1.4 啟動、測試

啟動

systemctl start aerospike

測試

[root@192 ~]# aql

seed:

127.0.0.1 user: none config file: /etc/aerospike/astools.conf /root/.aerospike/astools.conf

aerospike query client

version

aql>show sets

[127.0.0.1:3000] 0 rows in set (0.001

secs)

okaql>

2. 社群版docker安裝

在虛擬機器中執行下面命令

docker run -tid   \

-v /opt/aerospike/data:/opt/aerospike/data \

-v /opt/aerospike/usr/lua:/opt/aerospike/usr/udf/lua \

-v /opt/aerospike/config:/opt/aerospike/etc \

--name aerospike1 \

-p 3000:3000

\-p 3001:3001

\ -p 3002:3002

\ aerospike/aerospike-server /usr/bin/asd --foreground \

--config-file /opt/aerospike/etc/aerospike.conf

-v : : 將本地檔案掛載到容器中,是容器內檔案於本地可見且可修改,這裡掛載的目的主要為了,第一,定製化配置;第二,將容器內資料備份到本地;第三,為了持久化 lua cache;

-p ::  繫結本地埠與容器埠看;

--config-file :使容器內的指定檔案作為容器的配置檔案,即使我們掛載的配置檔案生效的方式之一

到此,最基本的安裝已經完成。

aerospike的命令使用文件

什麼從什麼寫短句 從什麼到從什麼造句

從什麼到從什麼造句 從什麼到從什麼造句 從聞到花香到看到花朵,從看到花朵到觸控到花瓣,真是一種美妙的感覺.從今天到明天,從明天到後天,真是歡樂的時光 人從弱小到強大,從窮人到富人,從壞人到好人,真是乙個艱難的轉變過程 從十月懷胎到呱呱落地,從嗷嗷待哺到牙牙學語,從青春年少到成家立業,你的父母都付出了...

什麼從什麼寫短句 從什麼到從什麼造句

從什麼到從什麼造句 從什麼到從什麼造句 從聞到花香到看到花朵,從看到花朵到觸控到花瓣,真是一種美妙的感覺.從今天到明天,從明天到後天,真是歡樂的時光 人從弱小到強大,從窮人到富人,從壞人到好人,真是乙個艱難的轉變過程 從十月懷胎到呱呱落地,從嗷嗷待哺到牙牙學語,從青春年少到成家立業,你的父母都付出了...

從零react從入門到放棄

簡介 react是facebook出的一款針對view視層圖的library 庫 主要使用單向資料流的方式進行資料展示。react擁有較高的效能,邏輯非常簡單,越來越多的人已經開始關注和使用他 src script src script src script 通過npm或yarn使用react 國內...