0
我有一個單獨的行的插入物rpc_timeout(羣集是具有3個節點,並能處理其它表超過10000插入件/分鐘)RPC超時在日誌中沒有錯誤
這裏是表:
CREATE TABLE test_table (
agent text,
run_id text,
process_id text,
datetime timestamp,
tracking_time timestamp,
email text,
ip text,
event_id uuid,
event_name text,
message_id text,
source text,
url text,
test_table text,
PRIMARY KEY ((process_id, event_name), event_id));
CREATE INDEX test_table_process_id ON test_table (process_id);
,這裏是插入:
BEGIN BATCH
INSERT INTO test_table (message_id, run_id, event_id, ip, process_id, agent, datetime, event_name, url, test_table, email, tracking_time) VALUES ('exampleaaaaaaaaaaaaaaaaaaaaaaaaa', 'bar', 376d8e20-35ca-4615-8e9f-f0b5b4431981, 'None', 'test-dummy', 'None', '2014-08-31 17:20:24', 'hard_bounce', 'None', 'mandrill', '[email protected]', '2014-09-01T18:04:40');
APPLY BATCH;
我不知道,如果超時是由於二級索引。
一無所知任何錯誤SYSTEM.LOG
什麼是批處理的好例子? – tahir 2014-09-01 22:25:10
實際上我已經改變了表格定義:PRIMARY KEY((process_id),event_id));並刪除了輔助索引,我可以通過process_id進行查詢,並且插入看起來效率更高,對於其中的process_id = ... – tahir 2014-09-01 22:27:27
批處理將適用於多個插入需要作爲單個原子操作。它非常昂貴,所以只有在絕對需要時才使用它。 二級索引關於高基數的東西將是非常昂貴的,可能會一直推動你的集羣能力。自定義索引總是會更好。 – 2014-09-02 00:56:47