- marblejenka
- 3059
- 0
- 1
- 0
memcachedなしでWebサービスを動かすのは、DRAMなしでPCを動かすようなイメージ…ちょっと違うか。参照の局所性を利用して最適化するのは良い案だけど、どの程度の局所性なのか、というか揺らぎがありそうで、プランニングが難しいと言うことかなぁ。
2010-08-12 11:24:47.@frsyuki N階層システムをスケーラブルにするのに、ステートレスにする(クライアントかDBのみにデータを置く)か、ステートフルにする(中間層でキャッシュする)かは、昔から議論がつきないですね
2010-08-12 11:29:37クラウドでは後者で決まりではないでしょうか?@kazunori_279 N階層システムをスケーラブルにするのに、ステートレスにする(クライアントかDBのみにデータを置く)か、ステートフルにする(中間層でキャッシュする)かは、昔から議論がつきないですね
2010-08-12 11:31:22@masayh 私は昔からステートフル好きでしたが、メモリが高価だった昔気質のステートレスな人ととく議論がぶつかってました^^
2010-08-12 11:32:45@kazunori_279 参照の偏り方に依る→ケースバイケースなんでしょうねぇ。完璧にスケーラブルなストレージ(ステートフル)があれば問題ないのでしょうが、ステートフルだと分散が難しいので、現実的にはステートレスな層を挟んでドーピングしたくなる感じです。
2010-08-12 11:34:16ステートフルな設計はキャッシュするコンテナの堅牢性・可用性とかリソース消費見積もりが難しいから、ステートレスの方がシンプルイズベストって判断も多かった
2010-08-12 11:34:39なるほど。それもわかります。N層でトランザクションの密結合前提ではステートレスが主だったと思います。でも、今は違うでしょう。@kazunori_279 私は昔からステートフル好きでしたが、メモリが高価だった昔気質のステートレスな人ととく議論がぶつかってました^^
2010-08-12 11:35:14参照の偏り見て自動に配置を最適化すれば?@frsyuki 参照の偏り方に依る→ケースバイケースなんでしょう。完璧にスケーラブルなストレージ(ステートフル)があれば問題ないのでしょうが、ステートフルだと分散が難しいので、現実的にはステートレスな層を挟んでドーピングしたくなる感じ。
2010-08-12 11:37:59あとHttpSessionでハマった人はステートレス派になるw Stateful SessionBean使っておけば使用メモリ上限指定できるのに...
2010-08-12 11:38:05@masayh @frsyuki 偏りの自動配分とかシステム屋さんのスキルとか予算が要るから、アプリ屋にはむずいですねぇ。。
2010-08-12 11:39:31@masayh …なるほど。それは良いですね。すると、状況に応じてキャッシュ(ステートレス)とDB(ステートフル)の役割を動的に切り替えられる実装が必要そうですが、効率の良い実装はなかなか難しそうです。
2010-08-12 11:42:22すべてを実行時に解決しようとすると無理でしょう。ある程度部分最適でデータ設計時に静的に決める最適化。@frsyuki 状況に応じてキャッシュ(ステートレス)とDB(ステートフル)の役割を動的に切り替えられる実装が必要そうですが、効率の良い実装はなかなか難しそうです。
2010-08-12 11:47:44@kazunori_279 RACはキャッシュとDBの役割を切り替えられたりするのでしょうか? キャッシュはCoherence頼みで別システムなのかなーと思っていました。
2010-08-12 11:47:49もっとも1つのRDBインスタンスに負荷集中しないNoSQLな設計が一般化しつつある今のクラウドだと、昔ほどキャッシュに命かける必要はなくなりつつあるな
2010-08-12 11:50:29@frsyuki RACのキモはmemcachedが10年進化したような分散キャッシュ(cache fusion)で、結構Coherenceに近いものがあります。
2010-08-12 11:52:31@masayh ちょっとイメージが湧かないのですが、このデータはキャッシュが効きやすいとか、このデータは決してキャッシュはしないといったヒントを与えておくと言うことでしょうか? そのヒントがあると…何が無理でなくなるのでしょう?
2010-08-12 11:52:49@kazunori_279 そういう要件があまりエンタープライズだとなかったからじゃないですかね。そうぽんぽんサーバー積み増しというのもしないでしょうし。アクティブな待機系があるというのでもそれなりによいものだったのでは。
2010-08-12 11:56:45"Oracle Real Application Clusters(Oracle RAC)のキモ ~Cache Fusionに注目する~" http://bit.ly/9sJOEE
2010-08-12 11:57:31データの更新頻度、アクセス法、ローカリティなどはアプリ要求である程度出る。実行時に考えることではないと思う。データパーティションもそうでしょ。手組みではだめ。@frsyuki このデータはキャッシュが効きやすいとか、このデータは決してキャッシュはしないといったヒント
2010-08-12 11:59:40@marblejenka 基幹系だとスケールアップだけでこと足りる?そんなことはないと思うなぁ。。w NonStop Serverとかスケールアウトしまくり
2010-08-12 11:59:45@kazunori_279 やー、hadoopみたいに計算とデータストアのノードが一緒になってて速そう、というのは魅力的ですが、そもそもそんなにスケールアウトしないといけないような案件て初期の見積もりがいけてないのではとか。
2010-08-12 12:02:24