2015-06-04 49 views
3

我想知道理想塞式命名空間配置是在Ubuntu 12.04迷你(分段)服務器1個GB RAM和1 GHz的CPU塞式配置的小型服務器

一些要求: 1。我想將數據永久保存在磁盤上(不要將其用作緩存)。 2.我只使用單個節點 3.我不希望我的數據文件大小的限制

這裏是我當前的配置片斷我使用:

namespace default { 
     replication-factor 1 
     memory-size 1G 
     default-ttl 0 # not sure if this is for cache or disk 

     storage-engine device { 
       file /opt/aerospike/data/default.dat 
       filesize 2T 
       data-in-memory true 
     } 
} 

感謝

回答

3
  1. Aerospike不緩存data-in-memory。如果data-in-memory設置爲true那麼您的所有數據都必須放入RAM中。
  2. 在單個節點上,您將不會受replication-factor參數的影響。
  3. Aerospike擁有limit of 2 TiB per file,但您可以創建多個此大小的文件,並且Aerospike將在它們之間分發數據。在通過文件系統時,擁有多個文件通常會有所幫助。另外,如果您打算使用文件系統,那麼您可能會考慮在安裝磁盤時禁用atime。
  4. default-ttl服務器在默認寫入(可由應用程序覆蓋)後將保留記錄多長時間。默認-tl爲0意味着永遠不會expireevict數據。

示例配置多個文件:

namespace default { 
     replication-factor 1 
     memory-size 1G 
     default-ttl 0 # (This applies to the primary index) 

     storage-engine device { 
       file /opt/aerospike/data/file0.dat 
       file /opt/aerospike/data/file1.dat 
       file /opt/aerospike/data/file2.dat 
       file /opt/aerospike/data/file3.dat 
       file /opt/aerospike/data/file4.dat 
       file /opt/aerospike/data/file5.dat 
       filesize 2T 
       data-in-memory true 
     } 
} 
+1

好的,謝謝你@kporter,1所以是100%清楚再#4,如果我堅持數據磁盤,如果我的默認-TTL是30D,那麼我會在那段時間後在磁盤上丟失那些數據?如果是的話,所以要使用Aerospike作爲「正常」數據存儲,我必須將其設置爲0? 2.是否有任何方法不對數據文件設置限制(即將此用作「普通」數據庫)?有一種煩人的,必須設置這個「文件」設置 – seenickcode

+0

磁盤上的數據將不被30天后引用,並可能被覆蓋,如果這是ttl。沒有辦法擁有無限的磁盤空間,每個文件的最大大小是2TiB。您可以稍後在配置結束時添加更多文件,並且Aerospike將在客戶端和服務器觸發的寫入進入時在運行時重新分配數據。 – kporter

+0

此外,磁盤上的數據索引存儲在RAM中。每個索引條目將佔用64個字節的RAM。 – kporter