今天主要還是完善需求,然后提交評審流程,盡可能不糾結一些細節問題后發現自己速度更快了,或許這才是最好的順序,其它可能的問題就留在后續發現並解決吧。今天第一次聽到並重視下couchbase。上午看到同事講整個平台部署時提到這個couchebase,然后就百度下該關鍵詞:根據結果大概印象它是近兩年發展而來的NoSQL數據庫的比較好的解決方案,它的前身是couchDB和memBase,而后者再往前就可追溯到memcached——之前聽說過這個名詞,但沒有仔細研究過它相關的知識點,更不要說用它實踐來做些事情,今晚上就搜索下相關的知識點。網上看了不少相關文檔,中文關於couchBase基礎知識講的比較好的基本沒找到,我今先記錄下我能看得懂的關於它的知識點,未來如果有實踐經驗可以再寫一下相關教程。
目前業界使用得最多的 Cache 系統(緩存加速實現高並發、低請求延時效果)主要是 memcached 和 redis。 這兩個 Cache 系統都有都有很大的用戶群,可以說是比較成熟的解決方案,也是很多系統當然的選擇。 不過,在使用 memcached 和 redis 過程中,還是碰到了不少的問題和局限:
•Cluster 支持不夠。在擴容、負載均衡、高可用等方面存在明顯不足。
•持久化支持不好,出現問題后恢復的代價大。memcached 完全不支持持久化,redis 的持久化會造成系統間歇性的負載很高。
理想 Cache 系統
•良好的 cluster 支持
•Key 可以動態分散(Auto Sharding)在不同的服務器上,可以通過動態添加服務器節點增加系統容量。
•沒有單點失效,任何一個單點都不會造成數據不可訪問。
•讀寫負載可以均勻分布在系統的不同節點上。
支持異步持久化支持
•方便快速恢復,甚至可以直接用作 key/value 數據庫。
•Couchbase 的對等網設計,smart client 直接獲取整的集群的信息,在客戶端實現負載均衡,整個集群沒有單點失效,並且完全支持平行擴展。
•vBucket 的引入,完全實現了 auto sharding,可以方便靈活的把數據的子集在不同節點上移動,以實現集群動態管理。
•Couchbase 有一個非常專業的 web 管理界面,並且支持通過 RESTful API 管理,這也是 memcached, redis 不能企及的。
•如果只是做 key/value 的 cache,Couchbase 可以完全取代 memcached。
•Couchbase 已經被我們在生產環境中大量采用。
