介紹
我有一個具有以下功能的數據庫服務器:
- 高可用設計。
- 可以全球分佈。
- 允許應用程序隨時隨地寫入任何節點。
- 只需向羣集添加更多節點即可進行線性擴展。
- 自動負載及數據均衡。
- 一種看起來很像SQL的查詢語言。
聽上去是不是很酷,cassandra確實涵蓋上述功能列表,那是不是我們可以採用cassandra滿足我們所有的數據庫需求?很不幸,我在很多cassandra商業公司上都聽到上述推銷,確實也有很多人相信,很多以前用oracle,mysql這樣的專有數據庫用戶也希望能節約大量的license費用,他們默認cassandra也具有oracle,mysql相同的關係型數據庫核心能力,但cassandra實際上還不具備。
在這篇博文中,我將討論一些需要避免的陷阱,爲Cassandra提供一些好的用例,並提供一些數據建模建議。