大略看了一下後的心得就是,CQL 沒事不要用的太複雜,一定會吃苦頭。雖然有點過時,我還是覺的去年 Cassandra Summit 裡的 CQL Under the Hood1 是目前看到最全面且明確解說 CQL 特性的文件
2.2 多了一些更方便一點的 in operator,但也要先能升上去。
Cassandra 真的不是一般人該用的 DB (尤其是 Model 面) ,如果都放 log 類的就完全 ok。
log該放elasticsearch吧xd
elaticsearch適合分析log,不適合存log。更極端講,Log最適合的是放HDFS或S3 XD
你們家不是該放在 azure blob storage 嗎(逃
因為絕大多數的人還是用AWS啊 XD
話說Hadoop 2.7增加了對azure blobstorage1的支援,一整個覺得存BlobStorage很有搞頭
如果只是要archive log的話,BlobStorage 價錢和scalability不太有優勢
請問是跟什麼比?
如果是說跟類似AWS Glacier這種專門備份用的,的確是。 如果是跟HDFS,BlobStorage會比較便宜,也不用自己Ops,Scalability我不知道有什麼問題? IOPS或頻寬上限? HDFS的優點是用Hadoop MR會快上許多。
如果Storage分類
- RDBMS: MySQL, PostgreSQL,
- Row-Based NoSQL: MongoDB, ElasticSearch, ..
- BigTable-based NoSQL: Cassandra, HBase
- HDFS
- IaaS Blob Storage: S3, Azure BlobStorage, GCP Storage
以下是我的見解,歡迎打槍 XD
- Cost Effective: RDBMS = Row-based < BigTable-based < HDFS < IaaS
- Scalability: RDBMS < Row-Based < BigTable-based < IaaS = HDFS
- Query/Aggregation Ability: RDBMS > Row-based > BigTable-based > IaaS = HDFS
- Ops Complexity: IaaS < RDBMS < Row-Based < HDFS = BigTable-based
另外Query的能力在特別說明一下 像ElasticSearch這種Full-Text Engine當然在Fulltext query是強項 再來Document based當然在Hierarchy的資料query是強項 傳統RDBMS最強的還是join,還有大家都會的SQL。所以我才會有RDBMS > Row-Based NoSQL 這種結論。
回主題的Cassandra就是犧牲Query換取Scalability。但是比Distributed File System還是rich一些。
還有RDBMS,Row-Based都是把Storage, Query合一。相對的,BigTable-Based, IaaS, HDFS基本上都沒有Query Engine。所以要搭配外部的Query方法。
喔這篇歸納方式好像還不錯
我的論點是設定scope為妳分類的IaaS Blob Storage來說的(既然GCP linear line也算在內的話,glacier也算吧)。
Scalability部份補充說明一下,相較於其他家的設計,azure blob是拿Scalability去換strong consistency和unified storage等特性的。舉例來說,aws s3每個bucket不會說有size上限,而azure blob每個account/container有500TB的上限 ,以及一些其他的限制1 。以這邊的情境,介接hadoop,量夠大,azure就可能需要人力去做partition/sharding,像是傳統netapp sharding那樣,如非介接的driver夠聰明來處理這件事。
如果你是說跟其他家的Iaas比,我就沒意見 XD
我以為是跟Cassandra, ElasticSearch比。
還有Azure的上限我知道,但是那個是到那個點的時候,我想真正scalable的問題不會只有那個 XD。500TB是一個很可怕的量,而且是IOPS的上限比較可能先達到頂。還有那個Account是Storage Account,不是真正一個Account,所以沒有到那麼緊繃。
我同意你說的量夠大,需要人力的部分。這種成本是不會少的,不管用哪一種solution。HDFS也不是沒有自己的成本需要考量,NameNode的ScaleUp也是要處理的。