iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0

坦白講,這個系列鐵人賽進行至今,每日要講的主題不斷在調整,已經與原先預定的方向不一樣。

會有這樣的情況,筆者這幾天也持續在思考,分析這陣子一路走來的學習歷程。

大概整理了幾個重點,與大家分享:

1. 經驗已經不是一張白紙

在現有的工作環境中,團隊本身有使用SCYLLA(這也是展開此系列鐵人賽最初的目的),既有現成的大量資料,可以讓筆者實務上的操作,而非照著簡單範例隨意嘗試一下。

實際使用情形,落差很大,對於資料query使用上,下下去的語法,出來的跟預期結果就不是想像的那樣。

因為工作經驗,已經是先學習RDBMS,看著相似的語法,難免用RDMS的思考方式去想資料結構,以及使用RDBMS習慣的查詢結構。

甚至下下去的語法,常常直接系統被系統打槍,心裡納悶著,這到底是怎麼一回事。

這個樣子發生過幾次,赫然意識到自己的學習方向跟概念,一定有使用上的不對,或者概念上的不理解。

雖然是個SCYLLA小白,不過實務開發工作上,已經不能允許小白的作為。

query怎麼下會是最精準,使用場景怎麼評估,影響的成本和效能的範圍,更何況錯誤復原、資料備份等等之類的都要考慮了對吧。

所以既然知道了是工具使用的方式理解錯誤,那麼調整的方向就是實務上運用,需要理解的部分。

因此本次系列以來,光是查詢語法相關的部分,就占據了好幾個篇幅,也到昨天為止終於告一個段落,就筆者知道或碰到的部分,分享出來給大家。

2. 學習成本超乎預期

許多中文的範例和解釋時在太過簡易了,因為CQL語法本身組織方式和關鍵字,為了好使用,做的與SQL相像。

以為概念和用法和SQL差不多,現在回過頭來看,覺得稍微有點天真了。

魔鬼藏在細節裡,不知道細節和原理的方式注定走不遠。(有時候根本直接用不了Orz)

不過在研究的這段時間,發現其實英文的CASSANDRA/SCYLLA官方網站,或者一些教學網站的範例,敘述和介紹很仔細。

這部分可能是這方面在中文資料還不夠多,如果英文能力可以,建議直接閱讀英文的文件說明。

再者,學習CASSANDRA/SCYLLA,學習語法的使用方式,基本上也是在學習它的結構組織。

RDBMS 雖然說進階的議題也是很難的,但也不用到叫新手小白,一開始就要學習資料存放與組織結構,這點真的是跟過去學習經驗很不同的地方。

3. 使用方式的考慮

一開始工作團隊前輩就建議筆者,CASSANDRA/SCYLLA在使用上,一定是先想好需求,到時候會怎麼查詢,怎麼撈資料,再來設計我們的table和view怎麼開。

書上也是這麼建議和教學的(Cassandra技術手冊),甚至有個大章節先假設需求,再根據需求,教學怎麼設計CASSANDRA的keyspace與欄位。

但基礎的查詢語法,和資料結構解說,筆者後來覺得有點簡略,沒有講到一些痛點。

導致總覺得中間缺了什麼,實務上的使用自己是對不太起來。

於是決定不在這個系列文前半部分獻醜,放棄原本打算帶著大家一路實際操作,弄一些簡單的範例的規劃(覺得幫助不大,大家自行google,簡易範例到處有)。

後續

本系列前半部分以來,主力說明了基本的資料結構和查詢方式。

就了解這些而言,筆者認為在CASSANDRA/SCYLLA基本的資料查詢和欄位設計已經沒有太大困難,我們終於走在正軌上了。

後半介紹一些CASSANDRA/SCYLLA的系統設計,與挑選一些值得一提的重點事項說明。

畢竟維護這種分散式資料庫系統也是另一門學問和挑戰,也很難只用卻不管,因此筆者認為有其必要,在剩下的時間致力講解這些基礎概念。


上一篇
Day15. where in / like
下一篇
Day17. gossip
系列文
scylla 從零開始攻略30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
阿展展展
iT邦好手 1 級 ‧ 2020-09-25 06:59:36

隨著每天在進行....
一直在改變...

計畫趕不上變化( ´▽`)

我要留言

立即登入留言