「KVS入門」公開しました!KVSを初めて学ぶ方を意識して、厳密性は多少犠牲にして、分かりやすく書いています。(BASEな感じで。。。)改善コメントWelcomeです。 http://bit.ly/d3ld95
2010-05-19 15:02:16拝見しました。初心者に優しい内容で良いですね。2点改善コメントがあります(続く)QT @enakai00:「KVS入門」公開しました!KVSを初めて学ぶ方を意識して、厳密性は多少犠牲にして、分かりやすく書いています。 http://bit.ly/d3ld95
2010-05-19 19:00:16. @enakai00 まず、 HBase の管理ノードがSPOFと書かれてますが、これはどのノードでしょうか? もしHBase Masterでしたら、実際はActive - Stand by構成に対応してます。 HBase multiple mastersで検索してください
2010-05-19 19:15:00. @enakai00 もしSPOFが HDFS Name Node のことでしたら、それは正しいです。ちょっと苦しいのですか、DRDBとHeartbeatで回避するのが一般的なようです。Hadoopユーザー会のNTT Dataさんの資料で紹介されていたと思います。
2010-05-19 19:16:15. @enakai00 もう一点は細かい話なのですが、 HBase は、4月の下旬から Apache Software Foundation のTLP(トップレベルプロジェクト)になりました。現在、メーリングリストやサイトのURLを移行中です
2010-05-19 19:20:40@tatsuya6502 DRBD+Heartbeatもいいですが、NameNode自体で冗長化してほしいところですよね。AvatorNameNodeに期待してます。
2010-05-19 19:27:31@enakai00 あ、失礼しました。HBaseとの比較のためにそういう書き方をしているのですね。私の読み方がまずかったです。
2010-05-19 19:28:40@enakai00 ACID特性という切り口でも良いのですが、CAPのどれを重視しているのかという観点があるともっとよくなると思いました。HBaseとCassandraの違いがよくわかるので。
2010-05-19 19:41:07@enakai00 ACID特性という切り口でも良いのですが、CAPのどれを重視しているのかという観点があるともっとよくなると思いました。HBaseとCassandraの違いがよくわかるので。
2010-05-19 19:41:07@tatsuya6502 もろもろコメントありがとうございます。はい。SPOFはHDFSのNameNode / SecondaryNameNodeです。補足しておきますね。TLP移行のところも補足しておきます。
2010-05-19 21:07:38@shot6 CAPの記述も考えたのですが、(このガイドの読者として意識している)RDBな世界の方には、ACIDとCAPの微妙な定義の違いから入らないといけないのと、ACIDに比べて歴史の短いCAPは人によって定義が変わることがあるので、とりあえず、避けました。。。
2010-05-19 21:30:24@enakai00 KVS入門を拝見しました。「KVSの特徴」ですが、そこに至る文脈から『KVS=BigTableライク・column-orientedなもの』とは読み取れます。しかしmemcache系のシンプルなデータモデルのものはKVには含まれないようにも読み取れてしまいます
2010-05-19 21:51:33@terurou はい。広い意味では、memcachedもKVSと考えています。が、KVSという言葉の歴史が浅く、人によって定義がことなることがあるので、この資料では、Bigtableライクなものに記述をしぼっています。(とはいえ、コメントはつけておきます。)
2010-05-19 22:08:43@enakai00 CAPの定義があまり変わるとは思えませんです。ACIDだけでは重要なP(分割耐性)が説明できないので、そこは補足すべきではと思うのですがいかがでしょうか。
2010-05-19 23:11:01@shot6 なるほど。。。ちなみに、C, A, P をそれぞれ、どのように定義されています?(私の頭の中の定義がそもそも違うとどうしようもないので。。。。)
2010-05-19 23:21:44@enakai00 140文字で書くのも難しいですが、BrewerのCAP定理のとおりConsistency、Availability、Partition Toleranceですね。Pの解釈ですが、ネットワークが分断されたときにシステム全体が停止せず動作するかどうか、です。
2010-05-19 23:29:51@shot6 ・・・とすると、例えば、HDFSの標準的な構成では、クラスターが2つに分断されるとデータブロックの不足でHDFSが停止する可能性があるので、HBaseはPが○にならない気がしますが、この理解はあってますか?
2010-05-19 23:36:36一貫性の話も、読み込み時にクライアントから見える一貫性の話と、実際の永続化したデータとしての一貫性の話というパースペクティブの違いも実はありますね。突き詰めるとConsistentとは何か、というはなしに・・・
2010-05-20 00:08:14@shot6 うーん。http://bit.ly/cxErPX を読むと、「分割したらConsistencyを欠く結果を出さない様、分割が回復するまで待つ(その間システムは停止する)」のもOKなのがPの定義です。この定義だとHBaseはPが○?CAPに詳しい方、ヘルプを。。。
2010-05-20 00:13:53@enakai00 HBaseはPが得意ではないですね。仰るようにHDFSのノードダウンでのブロック不足の場合ダメですから。そのケースではDataNodeが復旧されるまで待つことになります。ご指摘の部分はCAP定義の部分ではなく、分解耐性諦め路線の場合の対策という理解です。
2010-05-20 00:21:12お世話になったこともあるので、あえて書きますが、「KVSとは」が、memcache と Column Oriented と設計思想の異なるものがなぜか一緒くたに書かれているので、"入門"としてはすごくまずい気がします。 to @enakai00
2010-05-20 00:23:33というわけでACMであさってみた。Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web servicesというのは発見。明日読んでみます。
2010-05-20 00:35:12