タグ

2018年4月7日のブックマーク (2件)

  • 知られざる「マルチテナントアーキテクチャ」(2)~スケーラビリティのカギは組織ID

    セールスフォースが採用しているマルチテナントアーキテクチャでは、すべてのユーザーが同一データベース、同一スキーマを共有しています。これによってインフラの共有が容易になり、非常に効率的な運用と低コストを実現しています。 (エントリは「知られざる『マルチテナントアーキテクチャ』(1)~SaaSはみんな同じではない?」からの続きです。) しかし、それだけではスケーラビリティやアベイラビリティを実現することはできません。それらの実現には別の技術が併用されています。それはOracleのパーティショニング機能とパラレル機能による分散処理です。 パーティショニング機能の話をする前に、セールスフォースが採用しているデータベースの特徴を見てみましょう。 すべてのデータに振られる組織ID セールスフォースはすべてのユーザーが1つのデータベースを共有するマルチテナントアーキテクチャを採用しています。ということ

    知られざる「マルチテナントアーキテクチャ」(2)~スケーラビリティのカギは組織ID
    kiririmode
    kiririmode 2018/04/07
    ちょっとふるいけどsalesforceのマルチテナントの実現
  • Hotspot VMの基本構造を理解する

    ネイティブコンパイラは、高速に動作するネイティブコードの実行ファイルを生成しますが、Javaのメリットでもある動的なクラスのロードに対応できない場合があります。今回の説明の対象としているのは動的コンパイラです。Javaで使われている動的コンパイラは、メモリ上にコードを生成するものであり、ある形式のファイルを生成するものではありません。動的コンパイラは一般にはJITJust In Time)コンパイラと呼ばれており、HotSpot VMもこの1つです。 バイトコードの解釈と実行 初期のJava VMはバイトコードインタプリタのみでバイトコードを実行しており、実行速度が非常に遅いという問題がありました。その後、高速化のために動的コンパイルという技術が導入され、現在のようにバイトコードインタプリタと動的コンパイラが併用されるようになりました。HotSpot VMもこの方式で動作します。 図9は

    Hotspot VMの基本構造を理解する