X



【KVS】 Key-Value Storeを勉強するスレ
0001NAME IS NULL
垢版 |
2010/02/26(金) 01:38:45ID:y+tdcYdD
RDBMSの時代は終わるのか?
クラウド(笑)時代のデータベース技術KVSについて語ろう!
0002NAME IS NULL
垢版 |
2010/02/26(金) 08:03:35ID:???
お前の態度が気にくわない
0003NAME IS NULL
垢版 |
2010/02/26(金) 13:32:51ID:???
いままで無かったのが不思議なスレ
しかしたぶん伸びない
0004NAME IS NULL
垢版 |
2010/02/26(金) 18:01:44ID:???
もっと普及しないと
このスレで使ってる奴なんていないだろう
0005NAME IS NULL
垢版 |
2010/02/27(土) 02:55:59ID:???
ACIDが保証されないなんて
0006NAME IS NULL
垢版 |
2010/02/27(土) 13:30:12ID:???
NoSQLでこの前スレ立てたのに落ちたんだぜ…
0007NAME IS NULL
垢版 |
2010/02/27(土) 16:20:06ID:???
"distributed" が付かないと普通の dbm も入っちゃうんじゃ…
0008NAME IS NULL
垢版 |
2010/02/27(土) 19:58:10ID:???
perlとかのハッシュオブジェクトを保存するのもいけるな
0009NAME IS NULL
垢版 |
2010/02/27(土) 20:16:54ID:???
具体的に、何を勉強すれば良いんだろうね
本とか出てる?
0010NAME IS NULL
垢版 |
2010/02/28(日) 04:09:42ID:???
先月の software design で特集してたよ
0011NAME IS NULL
垢版 |
2010/03/08(月) 21:22:59ID:???
>>3
日本の SE でまともな DB 設計が出来る奴が居ないし必要ともされないから
性能が足りなければハードを買い増すことしか出来ないのが日本の技術者

>>5
今のキーワードはスケールしない ACID よりスケールしやすい BASE だろ

>>6
NoSQL という単語は個人的には意味が伝わりにくいと思う

>>9
XML, JSON
本ならオライリーから Hadoop 本がつい最近出てたな
0014NAME IS NULL
垢版 |
2010/03/11(木) 02:27:32ID:???
Hadoop本買ってきた。
KVSって読み出しの速度だけなのかと思ってたけど、
SUMとかMAXみたいな演算にもアドバンテージがあるんだな。
言われてみれば検索エンジンなんて、統計処理の嵐か。

よく、OLAP Cubeを構築するまででもないけれど、
単純なクエリで解決するには件数が多すぎるみたいなことがあって、
まぁ大体はインデックスの張り方とかクエリ最適化とかで逃げるんだけど、
こういう部分の代替になりえるかなぁ。
0015NAME IS NULL
垢版 |
2010/03/14(日) 11:55:50ID:???
sum()もmax()も読み出しそのものと言えるから当然だな。
しかも f(A,B) = f(f(A),f(B)) が成り立つから分散処理にも適しているし。
0016NAME IS NULL
垢版 |
2010/03/14(日) 16:34:12ID:???
時系列で保存するデータなんかは更新処理がほぼ無いから、KVSとか向いてるんだろね。
これまでは何でもRDBMSに入れとけ、的な考えが多かったけど。
0017NAME IS NULL
垢版 |
2010/03/22(月) 14:25:03ID:???
それにしても人いないな。

試しに使ってみた人の感想とか聞きたい。
環境構築の手間とか、ものによって違うものだろうか。
0018NAME IS NULL
垢版 |
2010/03/24(水) 20:36:50ID:???
NoSQL 系は構築もそうだけど運用がね…
定番といえるモノがまだ無いし SQL でちょろっとクエリかければ済む仕組みじゃないから
最低限 perl や python で格納されたデータをごにょごにょする必要はある
0019NAME IS NULL
垢版 |
2010/03/26(金) 15:06:17ID:???
>>17
君がいろんなものを試して感想を書けばいいんじゃないかな。
0020NAME IS NULL
垢版 |
2010/03/26(金) 22:24:27ID:???
ちなみに>>17は「KVS」に何を期待してるの?
0021NAME IS NULL
垢版 |
2010/03/27(土) 23:52:56ID:???
2ch クラスのデータアクセスが無いと KVS というか NoSQL 入れる意味が無いように思う
0022NAME IS NULL
垢版 |
2010/03/28(日) 00:21:23ID:???
そうなの?業務アプリのバックエンドとして
高速な読み出しが確保できるかなという淡い期待があったんだけど。

どういった面で意味がないのか教えてもらえると嬉しい。
0023NAME IS NULL
垢版 |
2010/03/28(日) 01:04:56ID:???
その高速性がいらないから意味がないんでしょ
○速い
×トランザクションなし
×障害保護弱い
×APIがプロダクトごとにばらばら
×テーブル結合なし
×詳しい人が少ない
×集計処理に弱い
高速性とスケーラビリティのために他をいろいろ犠牲にしているから
0027NAME IS NULL
垢版 |
2010/04/10(土) 19:58:23ID:???
>>25
つか、日本のIT企業で NoSQL を研究し実務に取り込んでいるのはこういうベンチャー系だけなんだな
大手は自力でサポートできるスキルが無いことをサポートシステムが無いと言う理由だけで
OSS には手を出さない
そもそも、国内には NoSQL を必要とするほどのトラフィックやトランザクションを捌くサイトや
Web システムが無い(Yahoo! Japan や 2ch くらい)
勘定系には BASE な NoSQL は向かないから論外

ということで、国内での利用は進まないと思う
0028NAME IS NULL
垢版 |
2010/04/10(土) 21:28:22ID:???
結局業務アプリのSQLは集計処理がメインだからな。
遅い処理ってのは、あっちとこっちのテーブルをjoinしてunionして加重平均してなんてので、
その部分には分散KVSでも対応できないし。
0029NAME IS NULL
垢版 |
2010/04/11(日) 09:56:46ID:???
それ自体が独立しているシステムならいいけど、
他所と連携して動くシステム(営業部がSQLで課金情報引き出してるとか)だと、
SQLで扱えないのは導入の阻害要因になるな

位置付け的には、sqliteとかの、組み込みSQLの代用なんだろう。

あとは、大規模システムのコストを下げるために、SQL無しで割り切れるかどうか
なんでもかんでもOracleRACで組んでたらカネがかかりすぎる
0030NAME IS NULL
垢版 |
2010/04/11(日) 10:41:21ID:???
普通のSIer向けの使いどころ何かないだろうか
0031NAME IS NULL
垢版 |
2010/04/14(水) 22:49:57ID:???
何かと話題のツイッターのDBは、ApatchCasandoraっていうNoSqlを使ってるらしい。
0032NAME IS NULL
垢版 |
2010/04/15(木) 04:57:02ID:???
Twitter規模のサービスを作る必要があるなら使っても良いんじゃない?
0033NAME IS NULL
垢版 |
2010/04/15(木) 14:42:46ID:???
>>31
×ApatchCasandora
○Apache Cassandra
ttp://cassandra.apache.org/
0034NAME IS NULL
垢版 |
2010/05/06(木) 02:36:49ID:7n/FuzR2
NoSQLという部類だとドキュメント型?データベースてのがあるみたいだけど
あれはどうなんですかね?
0035NAME IS NULL
垢版 |
2010/05/06(木) 05:27:50ID:???
基本的にはJSONストア。
高速化はIndexだったりMaterialized viewだったり。
0036NAME IS NULL
垢版 |
2010/05/08(土) 23:58:28ID:???
速いRDBMSが欲しかったらTimesTenでいいんじゃないか。
0037NAME IS NULL
垢版 |
2010/05/09(日) 18:06:55ID:???
別に速さがだけが欲しいわけではないのでは。
スケールさせる必要が無かったらKVSなんて必要ないだろう。
0038NAME IS NULL
垢版 |
2010/05/09(日) 19:11:08ID:???
んん?求めているのは速さそのものだろ。
逆にそれ以外の部分をいろいろ割り切っているくらいだ。
0039NAME IS NULL
垢版 |
2010/05/09(日) 20:54:25ID:???
機能としてシンプルだから
一般的なRDB知らない人はむしろ固定概念なく理解できるんじゃないですかね?
0040NAME IS NULL
垢版 |
2010/05/09(日) 21:18:26ID:???
KVSそのものの理解は容易でも、逆に要件をKVSの仕組に落とし込むのに
苦労すると思うな、そういう人は。
そんなレベルの人は、Postgresでも入れてキーと値だけのテーブルを
作って試してみる方が、情報も多いし後々役に立つと思うぞ。
0041NAME IS NULL
垢版 |
2010/05/09(日) 21:51:04ID:???
日本国内でNoSQLが必要になっているシステムってそもそもあるの?
それによってはそんなものもあるよ、って知識だけで充分な気もする。
0042NAME IS NULL
垢版 |
2010/05/09(日) 22:35:13ID:???
ユーザー多くて負荷が高いサイトとか
mixi、グリー、楽天あたりはみんな使ってるんじゃない
0043NAME IS NULL
垢版 |
2010/05/09(日) 22:55:44ID:???
スケールアウトによる総合パワーが分散KVSのオーバーヘッドを上回る
規模じゃないと意味ないからなぁ。
はっきりいって、mixiとかそういう規模のシステムを作るんでもなけりゃ
>>41の言う通り知識で十分、本気で検討するもんじゃないと思うが。
0044NAME IS NULL
垢版 |
2010/05/09(日) 22:59:45ID:???
mixiを作らなくても、mixiアプリを作って当たるとあの規模のアクセスが来るぞ
俺はモバゲーアプリを作るので検討してる
0045NAME IS NULL
垢版 |
2010/05/09(日) 23:26:32ID:???
それ、シングルノードで済むような規模の話なんじゃないの?
想定しているレベルが全然違う。

シングルノードなら、使用する製品、チューニング次第で
KVSとRDBMSのどっちが上なんて一概に言えないぞ。まぁ
フリーのRDBMSはやや不利かも知れんが。
0046NAME IS NULL
垢版 |
2010/05/11(火) 22:38:15ID:psYyVaov
なぜKVSなのか?なぜRDBMSではダメなのか?をしっかり理解しないと
なかなか使いどころが見えてこないね。
0047NAME IS NULL
垢版 |
2010/05/11(火) 22:54:14ID:???
カッコイイからだろ
Hadoopとか使いこなしてるとモテそう
0048NAME IS NULL
垢版 |
2010/05/11(火) 23:02:16ID:psYyVaov
>>47
Hadoopがなにか理解してる?w
0049NAME IS NULL
垢版 |
2010/05/11(火) 23:23:31ID:???
MapReduce もややこしい名前だよな。
実際はソートしたりして、Map と Reduce ダケぢゃないし。
0050NAME IS NULL
垢版 |
2010/05/11(火) 23:45:24ID:???
このスレみてると、KVSってのもbuzzwordのひとつだなって思うよ。
0051NAME IS NULL
垢版 |
2010/05/11(火) 23:47:14ID:???
それでは、代わりにディストリビューテッド・シングル・カラム・ハッシュ・データベースと呼ぼうか
0052NAME IS NULL
垢版 |
2010/05/11(火) 23:55:45ID:???
或は、ウルトラ・ファスト・クエリー・ウィズ・リミテッド・アグリゲーターとか
0053NAME IS NULL
垢版 |
2010/05/17(月) 08:34:22ID:9Qb2d0iM
ネーミングは大事だと思う。全部ひっくるめてNoSQLとかひどいw
0054NAME IS NULL
垢版 |
2010/05/17(月) 22:58:31ID:???
てめー俺が立てたNoSQLスレが一瞬で落ちたことをバカにしてんのか
0055NAME IS NULL
垢版 |
2010/05/18(火) 04:33:14ID:???
DB板でスレ落とすってよっぽどのことじゃね?
0056NAME IS NULL
垢版 |
2010/05/18(火) 07:36:13ID:???
うるさいうるさい!
0057NAME IS NULL
垢版 |
2010/05/18(火) 23:32:49ID:???
Cassandraが本命だと思ってればいいの?
0058NAME IS NULL
垢版 |
2010/05/19(水) 03:44:04ID:???
今の時代はACIDを捨ててまでスピードを求めてるってことかな?
比較する必要があるのだからRDBMSを改めて勉強するにはいい機会かも。
0059NAME IS NULL
垢版 |
2010/05/19(水) 04:11:15ID:???
>>58
プリミティブだけど安くてスケールするデータストレージは提供
するからデータの整合性を保証する仕組みはアプリケーションに
あわせて各自手作りして下さい、みたいな流れだと認識している。

> 比較する必要があるのだからRDBMSを改めて勉強するにはいい機会かも。

比較の有無にかかわらずRDBの理論面や設計論は勉強しておいて
損はないと思う。
なんかNoSQL界隈ではスキーマレス->故に正規化なんて必要ない、
データモデリングも不要、お手軽です、みたいな風潮も一部で散見
されるけど、それは全くの誤解だと思う。
悪名高いRDBの正規化にしても、背景にある各種従属性に基づいた
データ構造の分析はデータの一貫性や更新時異常を理解する上で
RDBモデルに限らず他のどんなデータモデルにも適用可能なもの。

むしろRDBモデルはそういった理屈を実際のスキーマ設計に反映
する作法やノウハウが既に蓄積された大変お得なモデルだと思う。
他方でそれぞれの実装でバラバラなデータモデルや高速化手法を
採用しているNoSQLではそれぞれ手探りで妥当な落とし所を探る
必要があるわけで、まぁご苦労な話だなぁとは思う。
0060NAME IS NULL
垢版 |
2010/06/29(火) 19:43:29ID:???
ひとつのkeyに複数value持たせたいときは
もういっこテーブル?みたいなの作ればいいの?
0061NAME IS NULL
垢版 |
2010/07/01(木) 05:45:49ID:???
keyはともかくvalueはatomicでなくともよい実装が多い。
なので一つのキーに配列でも持たせればよい。
0062NAME IS NULL
垢版 |
2010/07/10(土) 00:06:27ID:???
そして再びコボラー型思想が栄えるのであった
0063NAME IS NULL
垢版 |
2010/08/12(木) 08:37:05ID:???
結局使っていくと範囲取得とかしたくなる。
0064NAME IS NULL
垢版 |
2010/08/12(木) 12:23:43ID:???
テラメモリがエントリ鯖で使えるくらいにならんとね。
2年で倍として、10年後くらいか。
0065NAME IS NULL
垢版 |
2010/08/12(木) 13:12:07ID:???
2Uのサーバで72GBとか積めるのは積める
0066NAME IS NULL
垢版 |
2010/08/14(土) 00:29:15ID:???
セッション情報のキャッシュを保存して複数鯖で共有するのにKVS使いたいんだけど
何が良い?
「ディスクに保存するmemcached」みたいな感じで使いたいんだが
0067NAME IS NULL
垢版 |
2010/08/14(土) 01:22:02ID:???
>>66
membaseなんてどう?

ttp://www.membase.org/
0068NAME IS NULL
垢版 |
2010/08/14(土) 03:50:13ID:???
なるほど、memcached互換を目指してるのか。現時点で安定して動くかな?検討してみる。
0069NAME IS NULL
垢版 |
2010/08/19(木) 08:58:21ID:???
TokyoTyrantあたりはmemcached互換だったよね。
結構互換のやつはあるっぽい。
0070NAME IS NULL
垢版 |
2010/08/19(木) 11:10:36ID:???
mixiみたいに落ちちゃうの怖い
0071NAME IS NULL
垢版 |
2010/09/07(火) 04:50:58ID:???
なんのための分散なんだか・・・
0072NAME IS NULL
垢版 |
2010/09/08(水) 23:43:53ID:???
memcachedのスレってない?
もうWebやるんなら必須ぽいけど
0074NAME IS NULL
垢版 |
2010/09/09(木) 09:46:39ID:???
必須ではないけどな別に
0076NAME IS NULL
垢版 |
2010/10/06(水) 05:01:20ID:???
memcachedに画像を保存するには
base64エンコードするのが定番ですか?
0077NAME IS NULL
垢版 |
2010/10/06(水) 22:59:46ID:???
バイナリでそのまま入れないの?
0078NAME IS NULL
垢版 |
2010/10/07(木) 02:02:38ID:???
入れられた。なんだできるのか。
0080NAME IS NULL
垢版 |
2010/11/14(日) 14:20:57ID:nZUldWt9
mongoDBが良さそう
C#でもPHPでも使える
0081NAME IS NULL
垢版 |
2010/11/14(日) 15:01:48ID:???
mongodbはいろんな機能がついてて、
SQLの高機能に慣れてる人にも移行しやすそうだよね
0082NAME IS NULL
垢版 |
2010/11/14(日) 17:03:17ID:nZUldWt9
linqが使えるのが良い
他のコレクションとjoinできるのでRDBMSと同等のことはできるのでは
0083NAME IS NULL
垢版 |
2010/11/17(水) 21:47:08ID:???
これって東京なんたらとか京都なんたらとかでしょ
0085NAME IS NULL
垢版 |
2011/04/04(月) 23:08:12.33ID:???
鬼の哭く街か・・・
0087NAME IS NULL
垢版 |
2011/07/04(月) 15:11:38.32ID:???
>>61

valueには何でも入れられる。KVSそのものさえ。
0088NAME IS NULL
垢版 |
2011/07/19(火) 10:12:59.01ID:???
インデックスサーバを持たない場合、どっか適当なノードに
「このノードを追加しろー」ってメッセージを送出させるんだろうか。
0089NAME IS NULL
垢版 |
2011/07/19(火) 10:55:14.11ID:???
構造によってちがうから一概に言えない
0091NAME IS NULL
垢版 |
2011/07/27(水) 17:38:50.67ID:???
skip graphとかをシミュレートしてみようと思う。
とりあえず、数値化するのはホップ数やメッセージ数だけでいいよね・・・。
0092NAME IS NULL
垢版 |
2011/11/13(日) 15:47:25.67ID:???
>>79
これも似たようなことかな?ttp://www.atmarkit.co.jp/fdb/rensai/dbwatch2011/dbwatch201111_02.html

(MySQL 5.6では)ラボで開発中のNoSQLオプションにも注目です。従来のRDBのようにinsertやselectだけではなくputやgetで、NoSQLデータベースのようにmemcachedでMySQL(InnoDBデータ)に話しかける機能も加わることになります。
0093NAME IS NULL
垢版 |
2012/02/21(火) 11:21:50.60ID:KIHR+Wqd
>Hadoop

KVSとhadoop系ってセットのものなの?
つまり2つの技術がセットになってやっと動くものなのか、
あくまで”1+1=2”なのか。。。

教えて下さいorz
0094NAME IS NULL
垢版 |
2012/02/22(水) 22:03:12.61ID:???
HadoopはHBaseとセットで考えたほうがいいんじゃね。
KVSはキーと値の組み合わせ。memmapdとか。
オンメモリのハッシュだと思えばOK
0095NAME IS NULL
垢版 |
2012/02/22(水) 22:03:48.18ID:???
mcachedだまちがいた
009693
垢版 |
2012/02/23(木) 08:50:45.90ID:???
レスd。

Hadoop/MapReduceとセットなのが、hBaseである。
hBase側から見ると、KVSは密な繋がりはなくて、あくまでone of them?
0097NAME IS NULL
垢版 |
2012/02/24(金) 07:20:41.54ID:5WcS76rf
KVSはデータ永続化用
Hadoopはデータ処理用

じゃないの?
009893
垢版 |
2012/02/24(金) 10:09:26.60ID:???
つまり、その2つはload処理とsave処理で繋がってるだけで、それ以外は無関係ってことですね。

何となく繋がりがあるイメージだったんだけど。。。
0099NAME IS NULL
垢版 |
2012/02/27(月) 01:38:01.06ID:???
HadoopはHDFS(ファイルシステム)とMapReduce(分散処理フレームワーク)で構成される.
Hbaseはそのデータストアとしてされる
レスを投稿する


ニューススポーツなんでも実況