業務需要從資料庫中獲取產品的相關資訊,搜尋池為三張表總共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個九的執行時間;第二,動態的集群管理機制;第三,強一致性。假設,aerospike官方的宣告具有比較高的可信度,那麼,在看到使用aerospike可以減少複雜性以及總擁有成本的特點時,我們便有了決定(因為窮,只能節衣縮食),畢竟使用ssd+memmory的方式比單純使用memmory要划算得多。同時,官方也提供了aerosipke的監控工具,便於我們運維。剩餘的資訊官方說明已經很詳細了,要用中文再寫一遍的話,就有點反覆造輪子的意思。上面三點已經繫結鏈結,可以直接跳轉到相關的官方頁面。2.可**效能。通過三個方面來達到這個目的,第一,獲得專利的快閃儲存器優化儲存層;第二,通過基於ml的實時決策支援高資料攝取率;第三,拓展到十億兆位元組規模。
3.減少複雜性及總擁有成本。通過三個方面來達到這個目的,第一,解決伺服器拓展問題;第二,使用低成本的flash和pmem來取代dram;第三,能在任何複雜的生產環境部署。
那麼,按照我的需求,到現在就已經可以安裝使用aerospike了。aerospike資料庫的限制列表。
企業版與社群版的對比由於企業版本需要與銷售顧問聯絡之後,才能拿到feturekeys.conf。就不做企業版的演示了。下面選擇社群版的壓縮包以及docker安裝方式進行簡單說明。
1.社群版壓縮包安裝
1.1 環境
centos7 虛擬機器, xshell遠端連線工具。
yuminstall lrzsz
使用xshell連線虛擬機器,切換到你決定放壓縮包的位置,執行下面命令
wget -o aerospike.tgz ''
若是沒有wget方法,可以通過下面命令安裝
yuminstall
wget
1.3 解壓安裝
解壓
tar -xvf aerospike.tgz
安裝(在centos6和8中,需要安裝一些額外依賴)
cd aerospike-server-community--el7/sudo ./asinstall
1.4 啟動、測試
啟動
systemctl start aerospike
測試
[root@192 ~]# aqlseed:
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 國內...