1. 程式人生 > >cassandra 讀寫資料一致性(consistency level)

cassandra 讀寫資料一致性(consistency level)

cassandra 提供了高效能的資料寫入、讀取功能,整個叢集形成去中心化的環形結構,沒有單點故障,沒有主從節點之分,內部節點通過gossip協議進行通訊, 不需要依賴外部(hbase通過zookeeper)

使用者可以制定資料讀寫一致性(指定資料一次成功寫入或讀取的副本數目,判斷一次讀寫是否成功),這種策略保證了資料讀寫一致性,同時滿足了不同使用者的不同需求。

1 讀寫一致性配置: http://docs.datastax.com/en/cassandra/latest/cassandra/dml/dmlConfigConsistency.html、

最常用的幾種

QUORUM A write must be written to the 
commit log and memtable
 on a quorum of replica nodes across all datacenters.
Used in either single or multiple datacenter clusters to maintain strong consistency across the cluster. Use if you can tolerate some level of failure. 
LOCAL_QUORUM Strong consistency. A write must be written to the commit log and memtable
 on a quorum of replica nodes in the same datacenter as the coordinator. Avoids latency of inter-datacenter communication.
Used in multiple datacenter clusters with a rack-aware replica placement strategy, such as NetworkTopologyStrategy, and a properly configured snitch. Use to maintain consistency locally (within the single datacenter). Can be used with
SimpleStrategy
.
ONE A write must be written to the commit log and memtable of at least one replica node. Satisfies the needs of most users because consistency requirements are not stringent.
2. spark寫入cassandra配置,寫入資料一致性配置引數 
output.consistency.level LOCAL_QUORUM Consistency level for writing

https://github.com/datastax/spark-cassandra-connector/blob/master/doc/reference.md#write-tuning-parameters

3. java 寫入cassandra 配置 寫入資料一致性

        QueryOptions queryOptions = new QueryOptions();
        queryOptions.setConsistencyLevel( ConsistencyLevel.ONE );  //The default consistency level for queries: ConsistencyLevel.ONE.
        
   cluster = Cluster.builder()
                .addContactPoints( contactPointArray )
                //.withLoadBalancingPolicy(new RoundRobinPolicy())
                .withPoolingOptions(poolingOptions)
                .withQueryOptions( queryOptions )
                .build();

https://github.com/datastax/java-driver/tree/3.x/manual

http://docs.datastax.com/en/drivers/java/3.2/com/datastax/driver/core/QueryOptions.html

相關推薦

cassandra 資料一致性(consistency level)

cassandra 提供了高效能的資料寫入、讀取功能,整個叢集形成去中心化的環形結構,沒有單點故障,沒有主從節點之分,內部節點通過gossip協議進行通訊, 不需要依賴外部(hbase通過zookeeper) 使用者可以制定資料讀寫一致性(指定資料一次成功寫入或讀取的副本數

golang 從opentsdb 資料

  package main import ( "bufio" "bytes" "encoding/json" "fmt" "io/ioutil" "log" "net" "net/http" "runtime"

用json資料

''' import json filename='username1.json' try: with open(filename) as f_obj: username=json.load(f_obj) except FileNotFoundError:

Jmeter Redis外掛開發 -- 資料

大神的原文地址 背景 最近一段時間在接觸效能壓測,遇到一個棘手的問題。效能需求在30KQPS,要求進行單介面壓測,介面之間依賴不可避免(下一個介面發壓資料需要使用上一介面的返回),還不能通過做資料的方式準備。只能將上一介面返回的資料,儲存起來,用於下一介面的引數。 在一開始的時候,犯了一

Python使用xlrd和xlwt向Excel資料

一、從Excel讀資料 下圖是我的url.xlsx內容,此處我以讀取B列(即第2列)URL資料為例 import xlrd data = xlrd.open_workbook('C:\\Users\\Administrator\\Desktop\\url.xlsx') #開啟工

tensorflow-資料tf.data(1)

模組:tf.data定義在tensorflow/_api/v1/data/init.py輸入管道的tf.data.Dataset API 模組實驗模組:構建輸入管道的實驗API。類class Dataset:可能是大型的元素集。class FixedLengthRecordDataset: 來自一個或多個二進

tensorflow-資料tf.data(2)

從簡單的、可重用的部分構建複雜的輸入管道。 例如,影象模型的管道可以聚合分散式檔案系統中檔案中的資料,對每個影象應用隨機擾動,並將隨機選擇的影象合併成一批進行訓練。文字模型的管道可能包括從原始文字資料中提取符號,將它們轉換為嵌入查詢表的識別符號,以及將不同長度的序列批處理在一起。 tf.data API使

Linux Kernel 裝置驅動之I2C之client資料API

傳送資料 int i2c_master_send(const struct i2c_client *client, const char *buf, int count) 接收資料 int i2c_master_recv(const struct i2c_client *c

hbase 資料流程----文字簡介

hbase讀取資料流程 0、client發出請求 1、訪問zk 2、zookeeper返回-ROOT-表所在的資訊,返回的是位置資訊 -ROOT-表中儲存了.META表的元資料資訊 .META表儲存了Region的元資料 -ROOT-:只對應一個region,不能切分,通過-ROOT-表可以

tensorflow-資料最佳程式碼組合方式

最佳組合程式碼模式為: # Create the graph, etc. init_op = tf.global_variables_initializer() # Create a session for running operations in the Graph. sess = tf.Sessio

[原始碼和文件分享]程式設計實現對硬碟全盤資料進行資料擦除

背景 在 XP 系統下下,我們可以直接呼叫 WirteFile 函式對磁碟寫入資料,但到了 Windows 7 以及 Windows 7 版本以上的系統,就已經開始變得不那麼簡單了。 在 Windows 7 及以上版本中,對檔案系統和儲存堆疊進行的更改,限制對磁碟和卷的直接訪問,但是,在以下

java資料總結

對於資料的讀寫java提供了專門的讀寫流DataInputStream和DataOutputStream形式進行讀寫,可以進行各種基本資料型別和字串以及UTF格式的陣列或者單個元素的讀寫。 ------------------------------------------

在安卓系統中資料

0.安卓儲存空間: 目錄結構在FileExplorer中檢視,可通過Windows/Show View/Others/FileExplorer開啟 內部儲存空間(internal storage):自帶的,必須有的 RAM記憶體:執行記憶體(電腦記憶體) ROM記憶體:儲存空間(電腦

C語言隨機資料檔案(二)

int fseek(FILE * fp, long offset, int fromWhere):設定檔案位置標記,方法引數說明: fp:FILE型別指標,該指標對應的檔案即是檔案位置標記所標記的檔案; offset:偏移量; fromWhere:偏移起始點,其值可以為SEEK_SET、SEEK

C語言隨機資料檔案(一)

void rewind(FILE * fp):將檔案位置標記重新指向檔案開頭,該函式沒有返回值; 【例子】計算機D盤根目錄有一個存放學生資訊的stud.dat檔案,請先講檔案資訊顯示在控制檯,然後在將資料複製到F盤stud.dat檔案中。 #include <stdio.h> #

如何往伺服器中資料

本次專案,我用apache-tomcat將自己的計算機弄成了一個小伺服器,然後對裡面的jsp型別的檔案進行讀寫。 首先,如何弄伺服器呢?工程檔案:點選開啟連結 1.下載一個apache-tomcat,這裡我給大家提供一個apache-tomcat-6.0.37的下載地址:點

stm32 備份暫存器 資料

1. 首先 檢查RTC電池是否裝載,沒電池的話,裝置掉電也儲存不了資料。  備份暫存器就是普通的RAM,需要配合外接電池使用,如果沒有電池,就不能掉電保持資料。 因為是普通RAM,所以不存在寫入次數的問題,理論上是無限次的。 其次在RCC_Configuration();

MATLAB學習(四)Excel資料

一、安裝WPS專業版(支援VBA巨集環境) 今天看到這篇博文,花了兩個多小時搗鼓了一下,最後終於成功地使我的MATLAB從Excel中讀取資料了!(如下圖所示)。 其實大部分時間都在搗鼓出現的“Microsoft Office Word 需要VBA巨集語言支援來完成此操作。”這個問題,在網上找了各種資料,

使用RandomAccessFile資料

------------siwuxie095 工程名:TestRandomAccessFile 包名:com.siwuxie095.file 類名:MultiWriteFile.java(

使用RINGCACHE提高CASSANDRA效率

為什麼要使用RINGCACHE Cassandra的內部讀寫流程大概是這樣的: 1 Client端先隨機找到Cassandra叢集中的一臺機器,然後將查詢請求傳送給這臺Cassandra機器。 2 接收到查詢請求的Cassandra機器會判斷需要查詢的資料是否在本機中:如果