iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0

Primary Key裡頭包含了兩種key,Partition Key與Clustering Key。
Partition Key位於Parimary的第一個位置,用來決定這筆row會儲存在哪一個node上。它可以是單一個欄位,也可以由多個欄位組成。
而Clustering Key是用來決定這個Partition裡的資料如何排序,可以不設定,也可以設定為多個欄位組成。
用實際的例子來解釋。
如果我建立一個沒有宣告PK的table,會跳出錯誤警告。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220E0ilE3qlWu.png
然後我建立一個table painting,PK是id。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220DbDGBMZJQL.png
我可以簡單的使用id當條件去把資料查出來。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220N8oTAbYqsY.png
但是當我加上了時間範圍去查詢,結果會顯示錯誤警告。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220gaspC33hos.png
接著我再建立另一個table painting2,這次我的PK由id與time組成,id是Partition Key,time是Clustering Key。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220LO7KJ42udz.png
一樣我們再查詢一次,這一次可以正確查出我要的資料了。
https://ithelp.ithome.com.tw/upload/images/20200909/20113220aM29OUwJKJ.png


上一篇
Day10 Architecture(六) - Snitch
下一篇
Day12 DataModel - Primary Key(中)
系列文
ScyllaDB實作紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言