質問

だから私は、主にデータ分析をやって、今では約6ヶ月間(スクイークとファロ)のSmalltalkのを使用してきた、と私は私の最初のシーサイドアプリを起動しようと思います。だから、そこにすべてのあなたSmalltalkersへの私の質問は、お好みの永続化ソリューションは何ですか?私はマグマ、商品、およびGLORPを見てきました。私は長い時間のPythonのハッカーので、私はORMを得るが、彼らはオブジェクト指向のように見えるので、マグマや商品は、よりよい解決策になるようだ。

簡単なメモ:私はちょうど画像文句を言わない、本当に仕事

にデータを保存し、複数のVMの間で私のアプリを拡張したいです

ありがとうございます。

役に立ちましたか?

解決

あなたが複数のVMを越え拡張したい場合は、

は、ジェムストーン/ S <を見てみることをしたい場合があります/>。

ジェムストーンはプロプライエタリ、市販の製品であること、しかし、注意してください。だから、あなたははそれを支払う必要がありますを。しかし、価格モデルは、一般的に、あなたが必要の大きな版<全角>ならば、あなたは、一般的にも、はそのエディションのためにを支払うためにユーザーがいるということは、そのような方法で設計されています。価格は4 GiByteディスク/ 1 GiByte RAM / 1 CPUバージョンの0 $でから始めます。

注意すべきもう一つは、あなたのSqueakのコードは、おそらくそのまま実行されませんが、ポートにかなり簡単にする必要がありますので、ジェムストーンSmalltalkのは、独自の方言であるということです。 (例えば、宝石のエンジニアはあなたはまた、彼らは一般的に海辺が実行されることを確認して、ジェムストーン/ Sにモンティチェロ(スクイークのバージョン管理システム)パッケージをロードすることを可能にするアダプタを作成しました。)

だから、ジェムストーンは何ですか?基本的には、自動オブジェクトの永続性を持つ分散型VMです。これは、通常のSmalltalk VMに比べて説明するのが最も簡単です。あなたは2つのSmalltalk VMがサイドバイサイドを実行している場合は、それらのそれぞれが独自のオブジェクトのメモリ(ガベージコレクタが管理する、すなわちものを)持っています。そして、そのオブジェクトのメモリはRAMです。ジェムストーンでは、すべてのクラスタ共有内のVM のと同じのオブジェクトのメモリおよびはそれがディスク上ではなく、RAMに住んでいます。あなたのオブジェクトがどこでも、「そこ」であるため、だから、あなたは、すべての時間ではなく、の必要性のデータベースではなく、さらにオブジェクト指向のいずれかを実行します。

(それは非常に単純な記述です。たとえば、ヒープが仮想マシン間で共有の本当にのではありません。意味がありません。つまり、あなたは全体で作成するすべての一時オブジェクトを複製したいとは思わないでしょうネットワーク。代わりに、(基本的には、辞書)グローバルリポジトリオブジェクトを持っているだけでガベージコレクタのようないくつかのよく知られているルートオブジェクトから開始し、そこから到達可能なすべてのオブジェクトを維持し、そうでないものを削除します、ジェムストーンは複製/グローバルリポジトリオブジェクトで開始し、そして持続しますののみのそこから到達可能なオブジェクト。)

グローバルリポジトリへのアクセスはACIDトランザクションに包まれ、およびSQL-インスピレーションを得たが、Smalltalkishクエリ言語があるされるように

ジェムストーンも、データベースっぽい機能を備えています。

ジェムストーンは、彼らが " GLASSする"(ジェムストーンのため、Linuxでは、Apacheのは、シーサイドを呼ぶ素敵な機器を持っていますそして、よく知られた "LAMP"(Linuxでは、Apacheのは、MySQLとPHP)に類似のSmalltalk)。 GLASSはきちんとVMWareのディスクイメージにパッケージ化すべて、ApacheはXubuntuの上で動作してセットアップをプリインストールし、すべてのシーサイドとジェムストーンの無償版が含まれてます。

scroll top