iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
0
Software Development

ScyllaDB實作紀錄系列 第 22

Day22 Admin Tools - CQLSH

CQLSH是用來執行CQL(Cassandry Query Language)的命令介面。除了缺少部分功能,與少部份的特殊指令,與常用的SQL語法幾乎相同。十分容易上手。

以下介紹一些常用的CQL

  • DESC:是DESCRIBE的簡寫。顧名思義用來顯示各層級的描述。如
    DESC  KEYSPACES;
    DESC  painting;

  • TRACING:用來協助開發人員分析CQL語法的執行流程。可以看到這句語法依據設定的Rplication Facotry,Consistency Level在各個node間傳遞訊息的時間,透過log來分析造成效能不彰的原因出處。以一個有3個node的cluster,RF=3,CL=LOCAL_QUORUM,開啟TRACING來測試。
    https://ithelp.ithome.com.tw/upload/images/20200909/201132209kdGJwTSqn.png

可以看到當我們執行了SELECT語法後,從頭到尾處理這句QUERY的歷史紀錄,根據timestamp可以推測問題的發生點。
但是TRACING是會耗用額外效能的工具,故在使用上必須謹慎。

  • PAGING:其實就是分頁的功能,預設是開啟,避免一次返回大量的查詢結果。如果在執行上有特別需求,例如透過shell script執行語法,可以先將PAGING關閉或者將其數量調高。例如設定一次返回500筆row。
    PAGING 500

  • BATCH:把多個修改資料的statement(INSERT/UPDATE/DELETE)包在一起。可以減少client對server提出request的次數,降低與DB溝通的成本。
    但是使用上必須注意,因為Batch的機制是要等到包含的所有的request都做完才會回傳成功。如果request包括多個partition,可能會造成失敗。
    另外一次包含太多statement也會對效能產生不好的影響。


上一篇
Day21 Admin Tool - Cassandra Stress
下一篇
Day23 Scylla Manager(ㄧ)
系列文
ScyllaDB實作紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言