共找到3條詞條名為cassandra的結果 展開
- 詞語
- Facebook開發的資料庫系統
- 《Two Steps From Heaven》專輯中的音樂
cassandra
Facebook開發的資料庫系統
Cassandra是一套開源分散式NoSQL資料庫系統。它最初由Facebook開發,用於儲存收件箱等簡單格式數據,集googleBigTable的數據模型與Amazon Dynamo的完全分散式的架構於一身Facebook於2008將 Cassandra 開源,此後,由於Cassandra良好的可擴展性,被Digg、Twitter等知名Web 2.0網站所採納的,成為了一種流行的分散式結構化數據存儲方案。
Cassandra是一個混合型的非關係的資料庫,類似於google的BigTable。其主要功能比Dynamo (分散式的Key-Value存儲系統)更豐富,但支持度卻不如文檔存儲MongoDB(介於關係資料庫和非關係資料庫之間的開源產品,是非關係資料庫當中功能最豐富,最像關係資料庫的。支持的數據結構非常鬆散,是類似json的bjson格式,因此可以存儲比較複雜的數據類型)。Cassandra最初由Facebook開發,後轉變成了開源項目。它是一個網路社交雲計算方面理想的資料庫。以Amazon專有的完全分散式的Dynamo為基礎,結合了Google BigTable基於列族(Column Family)的數據模型。P2P去中心化的存儲。很多方面都可以稱之為Dynamo 2.0。
● 分散式
● 基於column的結構化
● 高伸展性
Cassandra的主要特點就是它不是一個資料庫,而是由一堆資料庫節點共同構成的一個分散式網路服務,對Cassandra 的一個寫操作,會被複制到其他節點上去,對Cassandra的讀操作,也會被路由到某個節點上面去讀取。對於一個Cassandra集群來說,擴展性能是比較簡單的事情,只管在群集裡面添加節點就可以了。
這裡有很多理由來選擇Cassandra用於您的網站。和其他資料庫比較,有三個突出特點:
使用Cassandra,像文檔存儲,你不必提前解決記錄中的欄位。你可以在系統運行時隨意的添加或移除欄位。這是一個驚人的效率提升,特別是在大型部署上。
Cassandra是純粹意義上的水平擴展。為給集群添加更多容量,可以指向另一台電腦。你不必重啟任何進程,改變應用查詢,或手動遷移任何數據。
你可以調整你的節點布局來避免某一個數據中心起火,一個備用的數據中心將至少有每條記錄的完全複製。
一些使Cassandra提高競爭力的其他功能:
如果你不喜歡全部的鍵值查詢,則可以設置鍵的範圍來查詢。
在混合模式可以將超級列添加到5維。對於每個用戶的索引,這是非常方便的。
有可以在任何地方任何時間集中讀或寫任何數據。並且不會有任何單點失敗。
應用客戶facebook
以Cassandra 1.0.2為例。
下載Cassandra、Jre 1.6。(全部推薦最新版本)
(1)安裝Jre的過程很簡單,這裡不做說明。
(2)在“系統屬性”中打開“環境變數”窗口,添加Java環境的系統變數:
JAVA_HOME : 一般是 C:\Program Files\Java\jre6,根據實際安裝路徑設置。
(1)解壓下載的Cassandra文件包,放置到一個目錄中。
注意程序所在的路徑中不要包含空格,以避免造成載入某些文件找不到的問題。
(2)在“系統屬性”中打開“環境變數”窗口,添加Cassandra運行環境的系統變數:
CASSANDRA_HOME: D:\apache-cassandra-1.0.2,根據實際安裝路徑設置。
(3)修改日誌存放地址
打開文件: log4j-server.properties,修改
log4j.appender.R.File=D:\apache-cassandra-1.0.2\system.log,根據實際安裝路徑設置。
(4)修改其它地址
打開文件:cassandra.yaml,修改:
data_file_directories:
- D:\apache-cassandra-1.0.2\data
commitlog_directory: D:\apache-cassandra-1.0.2\commitlog
saved_caches_directory: D:\apache-cassandra-1.0.2\saved_caches
根據實際安裝路徑設置。
(5)修改內存大小和CPU核心數設置
*)
# assume reasonable defaults for e.g. a modern desktop or
# cheap server
system_memory_in_mb="4096"
system_cpu_cores="4"
;;
按照實際情況設置。
在命令提示符工具中啟動Cassandra,用nodetool工具確認Cassandra已經啟動:
cassandra 啟動
cassandra啟動確認