歡迎來到 常識詞典網 , 一個專業的常識知識學習網站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
你把vertica寫成virtica了,我先幫你糾正過來。vertica是傳統的關系型數據庫,特點是按列存儲,而且集成了MapReduce支持。Cassandra則是屬于No-L陣營,特點是綜合Dynamo的弱一致性模型和Bigtable的數據模型。它們的比較其實就相當于這兩個陣營的對比了,這方面文章不要太多。那么很顯然,vertica最大的優勢就是它提供了-L的支持,可以很好的兼容以往的工具和數據,習慣-L的程序員用起來也爽。傳統的-L語義在高可伸縮性要求下很難實現,如join等操作。你可以設想一下,如果要join的表都非常大,超出單臺機器的處理能力,要高效地完成這個操作該有多困難。事實上這方面已經有很多學術研究在進行。傳統的數據庫除了-L語義外,還要保證transaction的ACID,而要同時滿足高一致性和事務操作的要求是很難實現高可伸縮性的。因而才會有No-L的出現,它們犧牲了部分-L和事務的語義、降低一致性要求,以實現高可伸縮性的系統。Vertica的底層存儲實現和HBase的不一樣。雖然都是叫按列存儲,HBase是先將表格按行劃分成塊,在數據塊-才是按列存儲;Vertica的存儲比較靈活,它號稱可以配置哪些列要放在一起存儲,每列都分開就是最基本的按列存儲,所有列都和在一起就是按行存儲了,不過同一列的數據還是會放在一起。所以按列或者按行存儲只是不同的系統設計選擇,不是決定性因素。關鍵還是在于對上層提供的語義。你如果關心的是執行效率,推薦你一篇-.cse.nd.edu/~dt-ain/courses/cse40771/spring2010/benc--rks-sigmod09.pdfHBase,Cassandra本身只有存儲能力,如果要做查詢需要借助Hadoop這樣的框架進行,Hive就是把查詢都編譯成Hadoop任務實現的。Hadoop的查詢效率要比關系型數據庫要低,主要是因為1)Hadoop為了保證容錯,中間數據都要走一遍磁盤,IO開銷大;2)Hadoop缺少查詢優化引擎還有索引等優化機制(有人把Hadoop任務轉換成sql語句,然后再利用傳統數據庫的優化算法優化portal.acm.org/citation...)。Hadoop社區主要關注的是高可伸縮性,性能不行,就加機器唄。答案 2:
你那個文檔 我看過,比較的是Hadoop與Vertica,我覺得沒有可比性,應該比HBase與Vertica。除非HBase沒有優化它的存儲和查詢,直接使用Map Reduce做查詢。MapReduce是對大文件,無序數據處理。HBase應該是有排序的,還沒仔細讀源代碼。下一篇:思八達能忽悠這么多的人? 下一篇 【方向鍵 ( → )下一篇】
上一篇:男人小便時會忍不住想去沖掉便池上的臟東西? 上一篇 【方向鍵 ( ← )上一篇】
快搜