タグ

2009年5月31日のブックマーク (25件)

  • memcachedバイナリプロトコルは同期プロトコルを禁止するべき - Blog by Sadayuki Furuhashi

    現状のmemcachedのバイナリプロトコルのクライアント(=libmemcached)は、リクエストの順番通りにレスポンスが返ってくることを期待しており、これはmemcachedバイナリプロトコルを「汎用的なkey-valueベースの分散ストレージのためのプロトコル」として考えると、ひどい実装である。 そのような実装は最適化の余地を大幅に制限してしまい、性能とスケーラビリティが悪化する。memcachedの仕様書は、そのようなクライアントの実装はバグであると明示するべきである。 現状のmemcachedクライアントの実装の問題点と、その解決策について述べる。 同期プロトコルと非同期プロトコル ネットワークプロトコルは以下の2つの種類に分けられる: 同期プロトコル リクエストの順番通りにレスポンスを返す(リクエストの順番とレスポンスの順番が同期している) 非同期プロトコル リクエストした順

    memcachedバイナリプロトコルは同期プロトコルを禁止するべき - Blog by Sadayuki Furuhashi
    rawwell
    rawwell 2009/05/31
    "現状のmemcachedのバイナリプロトコルのクライアント(=libmemcached)は、リクエストの順番通りにレスポンスが返ってくることを期待しており、これはmemcachedバイナリプロトコルを「汎用的なkey-valueベースの分散ストレージの
  • マルチコア時代の高並列性IOアーキテクチャ Wavy - Blog by Sadayuki Furuhashi

    シングルスレッドではもう遅い。 以前にマルチコア時代の高速サーバーの実装で、「ネットワークIOはマルチスレッドで動かすが、その他の部分はシングルスレッドで動かす」というIOアーキテクチャの実装(mp::iothreads)を紹介しました。iothreadsはロジック部分をシングルスレッドで書けるため実装の手間を抑えることができ、ネットワークIOがボトルネックになるプログラムには特に適していると思われます。 しかし実際にiothreadsを使ってプログラムを書いてみると、非常に負荷が高い状況でシングルスレッドの部分の処理速度がボトルネックになってしまうことがありました。 そこでマルチコアCPUの性能を引き出すために、徹頭徹尾マルチスレッドで動かすIOアーキテクチャを実装してみました。 1つのスレッドが、ある時はepoll_wait()し、ある時はread(2)を行い、ある時はイベントを処理す

    マルチコア時代の高並列性IOアーキテクチャ Wavy - Blog by Sadayuki Furuhashi
    rawwell
    rawwell 2009/05/31
    "そこでマルチコアCPUの性能を引き出すために、徹頭徹尾マルチスレッドで動かすIOアーキテクチャを実装してみました。 * 1つのスレッドが、ある時はepoll_wait()し、ある時はread(2)を行い、ある時はイベントを処理するよう
  • バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi

    Googleが公開したバイナリエンコード手法であるProtocol Buffersは、クライアントとサーバーの両方でシリアライズ形式を取り決めておき(IDL)、双方がそれに従ってデータをやりとりするようにします。 この方法では高速なデータのやりとりができる反面、IDLを書かなければならない、仕様を変えるたびにIDLを書き直さなければならない(あらかじめしっかりとIDLを設計しておかないとプログラミングを始められない)という面倒さがあります。 ※追記:Protocol BuffersのデシリアライザはIDLに記述されていないデータが来ても無視するので(Updating A Message Type - Protocol Buffers Language Guide)、仕様を拡張していっても問題ないようです。 一方JSONやYAMLなどのシリアライズ形式では、何も考えずにシリアライズしたデータ

    バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi
    rawwell
    rawwell 2009/05/31
    "MessagePackの特徴: * シリアライズ/デシリアライズがとても高速 * シリアライズされたデータのサイズが小さい * フォーマット定義(IDL)が不要 * ストリーム処理できる"
  • MOONGIFT: » C++製の分散ストレージシステム「cagra」:オープンソースを毎日紹介

    オープンソースの分散化ファイルシステムで代表例というとMogileFSが挙げられると思う。HTTPでアクセスでき、簡単に信頼性の高い分散化ファイルシステムが構築できる。ただし、基Perlからの扱いになっており、Ruby向けのライブラリも存在するが全ての機能を活用できる訳ではない。 クライアント側 もっと手軽に利用できる分散化ファイルシステムが必要だ。それがこれだ。 今回紹介するオープンソース・ソフトウェアはcagra、C++製の分散ストレージシステムだ。 cagraは日製のソフトウェアで、memcachedのような手軽さで分散ストレージシステムを構築できる。memcachedとの大きな違いは複数ノードを利用できる点にある。各データに対して指定したノード数でのレプリケーションが可能になっているので信頼性を高めることができる。 サーバ側 現時点ではオンメモリストレージのみだが、ファイルシ

    MOONGIFT: » C++製の分散ストレージシステム「cagra」:オープンソースを毎日紹介
    rawwell
    rawwell 2009/05/31
    "現時点ではオンメモリストレージのみだが、ファイルシステムやTokyo Cabinetを使ったバックエンドも利用できるようになる予定だ。これが実現すればまさに分散化ファイルシステムとして利用できる。各サーバはIPアドレス
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    rawwell
    rawwell 2009/05/31
    "These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler."
  • 全文検索エンジンLuxとPythonの軽量Webアプリケーションフレームワークfapws3で構築する高速検索サービス - FutureInsight.info

    今、手元で検索サービスを作成するためにいろいろ実験をしているのですが、ある程度ノウハウが貯まったので公開しておこうかと思います。長いエントリーになりますので、検索サービスの構築に興味がある人だけ閲覧下さい。 一般的な検索エンジンは主に2つのパートに別れます。一つは、クローラとインデクサからなるデータを収集するバックエンド、もう一つは検索を行うフロントエンドです。クローラとインデックス部分に関してはまだ手元で試しているところなのです紹介できる状態にないのですが、Pythonを用いたフロントエンドに関しましては、だいたいやり方がわかってきたので、ここで公開しておこうと思います。個人レベルが作れそうな検索サービスの構築に興味がある方はよんでいただければ幸いです。 [追記]クローラ部分は時間がかかりそうなので、インデクサ部分を公開しました。 全文検索エンジンLuxのboost-pythonを用いた

    全文検索エンジンLuxとPythonの軽量Webアプリケーションフレームワークfapws3で構築する高速検索サービス - FutureInsight.info
    rawwell
    rawwell 2009/05/31
    "利用するソフトウェアは主に以下の二つです。 * 全文検索エンジンLux: http://luxse.sourceforge.net/ * Pythonの軽量Webアプリケーションフレームワークfapws3: http://github.com/william-os4y/fapws3/tree/master"
  • Lux: Distributd full-text search engine

    Lux is a distributed full-text search engine library. It helps to retrieve large amount of documents efficiently.

    rawwell
    rawwell 2009/05/31
    "また、Luxのインストールには以下のソフトウェアが必要です。 * QDBM * MeCab (辞書をUTF8でインストールしてください)"
  • Tokyo Cabinet

    Our team of highly trained cybersecurity professionals provides expertise in compliance, tool assessments, threat hunting, incident response and more. Critical Start is leading the way in Managed Detection and Response (MDR) services. With a unique approach that treats every security alert as equal, Critical Start's proprietary Trusted Behavior Registry allows security analysts to resolve every al

    rawwell
    rawwell 2009/05/31
    "Tokyo CabinetはGDBMやQDBMの後継として次の点を目標として開発されました。これらの目標は達成されており、Tokyo Cabinetは従来のDBMを置き換える製品だと言えます。 * 空間効率の向上 : データベースファイルがより小さい *
  • DBMによるテーブルデータベース その五 - mixi engineer blog

    ついに発売されたスト4のコンシューマ機版をやりたくてしょうがないけど筐体を買ってもらえないので、駅前のゲーム屋のディスプレー前で垂涎するばかりのmikioです。今回は連載の最終回で、各種スクリプト言語を使ってお手軽にテーブルデータベースを操作する方法について説明します。 TokyoCabinet::TDB まずは、TCのPerlバインディングとRubyバインディングの最新版を入手してください。それぞれテーブルデータベースを扱うための TokyoCabinet::TDB というクラスが加わっています。以下のようなIDLによるガイドラインに準拠したインターフェイスが提供されますので、使い方は言語にかかわらず同じようになるはずです。 module TokyoCabinet { interface TDB { boolean open(in string path, in long omode);

    DBMによるテーブルデータベース その五 - mixi engineer blog
    rawwell
    rawwell 2009/05/31
    "# memcachedのように高速かつ並列に操作できる。 # メモリでなくファイルにデータを格納することでデータを永続化でき、実メモリ容量以上のデータも扱える。 # 単純なkey/valueでなく、各レコードに複数のプロパティを持たせ
  • Kazuho@Cybozu Labs: Q4M Version 0.4 で高速なクローラを書いてみた

    « Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法 | メイン | Japanize for IE バージョンアップのおしらせ » 2008年04月07日 Q4M Version 0.4 で高速なクローラを書いてみた 日、MySQL 5.1 のプラガブルストレージエンジンとして動作するメッセージキューQ4M のバージョン 0.4 をリリースしました。バージョンでは、条件付購読 (conditional subscription) という、特定の条件を満たす行だけをメッセージキューから読み込む機能に対応したのですが、これを使って、クローラを書いてみました。 使い方は以下のとおりです。 # url テーブルを作成 % mysql -p test mysql> CREATE TABLE url ( id int(10) unsigned NOT NULL

    rawwell
    rawwell 2009/05/31
    "また、Q4M を使ったこのクローラは、かなり高速でもあります。Perl ベースのイベントドリブン型クローラのフレームワークであるGungho と比較した場合、手元の環境におけるパフォーマンスの差は以下のようになりました。"
  • Kazuho@Cybozu Labs: Q4M - MySQL 上で動作するメッセージキュー

    « ウェブアプリケーションにおけるHDDの正しい使い方 | メイン | Pathtraq リニューアルのおしらせ (リアルタイム検索機能の追加ほか) » 2008年01月15日 Q4M - MySQL 上で動作するメッセージキュー 数年来ずっと「RDBMSに統合されたメッセージキューがほしい」と言ってきたわけですが、昨年末にストレージエンジンをプラグインとして開発できる MySQL 5.1 が RC になっていることに気づき、自分で作ってみました。 Q4M (Queue for MySQL) は MySQL 5.1 のプラガブル・ストレージ・エンジンとして動作するメッセージキューであり、堅牢・高速・柔軟であるよう設計されています。昨年12月遅くに開発が開始され、まだ非常に原始的ですが、かなり高速に動作します。 q4m.31tools.com 自分の英語を日語訳するというのも変なものですが

    rawwell
    rawwell 2009/05/31
    "Q4M は MySQL のストレージエンジンとして動作するので、MySQL に接続できるあらゆるプログラミング言語から利用することができます。また、Perl むけには、既に dmaki さんによって Perl 用のラッパーモジュール (Queue::Q4M) が開
  • http://www.cs.wisc.edu/condor/condorg/linux_scalability.html

    rawwell
    rawwell 2009/05/31
    "Doing large scale grid work, we regularlly press various limits of Linux and other systems. If you're in a situation where you're pushing various limits like open file descriptors and network sockets, here is how to ensure that the limits are large enough."
  • 本を読む 「Shibuya.lispテクニカルトーク#2」に参加

    Lispコミュニティ「Shibuya.lisp」のテクニカルセミナーイベント「Shibuya.lispテクニカルトーク#2」が開催された。今回も楽しく話を聴けて、感謝。以下、受講メモ。間違いがあったらご指摘ください。 今回は、前回の藤田さんの講演を受けてか、速度にこだわりのある発表やスピーカーが並んでいたのが印象的だった。LL言語より速くて当然、C++に負けたくない、とかそんな感じ。 開会の挨拶(naoya_t) Shibuya.lispの紹介。テクニカルトークのほか、逆引きCL/逆引きScheme/逆引きClosureのWikiなどの活動をしている。また、PerlのCPANのようなR6RSライブラリ集積所「spon」(仮称)を作ろうとしている。Lispの求人情報サイトLispjobs.jp(仮称)も作った。ただしまだ求人はない(笑) で、第3回テクニカルトークは7/4の予定(あくまで予定

    rawwell
    rawwell 2009/05/31
    "このとき、いったんC++をやめてScheme(Gauche)でプロトタイプ「Mini Mosh」を作った。Schemeで作る利点、特にメモリやスタックを間違えてもSEGVしないのを生かして、50回ぐらい作り直した。VMが1400行、コンパイラが2400行。スタ
  • Scala, JavaScript, Java の違い - yukobaのブログ

    ScalaJavaScript はありとあらゆる事が対極なので、面白いです。 Scala はたくさん型(クラス)を作ることが推奨されている言語です。型は1行で簡単に作れるし、型のパターンマッチングの機能をはじめとして、型に関する機能が充実しています。ちょっとでも何か違う時は型を作り、複雑な問題は型を変えることで、より小さな簡単な問題に分割していきます。他の言語では、メンバ変数に対する if 文で書くような箇所も、型のパターンマッチングを使うと吉です。 それに対して、JavaScript はあまり型を作らずに、どんどん相乗りして行く方が、僕の経験から言うとベターです。{} で簡単にオブジェクトを作れてしまいますし、僕は結構、{type:"Hoge"} という感じで type というメンバ変数を使って、型に相当する物を識別しています。コーディングしている最中に型の問題を先送りにすることに

    Scala, JavaScript, Java の違い - yukobaのブログ
    rawwell
    rawwell 2009/05/31
    "Scala はたくさん型(クラス)を作ることが推奨されている言語です。型は1行で簡単に作れるし、型のパターンマッチングの機能をはじめとして、型に関する機能が充実しています。ちょっとでも何か違う時は型を作り、複
  • GitHub - ben-manes/concurrentlinkedhashmap: A ConcurrentLinkedHashMap for Java

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - ben-manes/concurrentlinkedhashmap: A ConcurrentLinkedHashMap for Java
    rawwell
    rawwell 2009/05/31
    "Locks A traditional implementation, such as LinkedHashMap, does not support concurrent access. All operations must be guarded by a single mutex. In this implementation per-node test-and-test-and-set spin locks are used. This provides concurrent access and faster lock acquisitions than the standard
  • 分布推定アルゴリズム - yukobaのブログ

    分布推定アルゴリズム。遺伝的アルゴリズムを改良した物です。個体の集合を交叉・突然変異させるのではなく、個体の生成確率を進化させます。最適化問題のアルゴリズムです。以下、自分へのメモです。わかったことが増えたら追記するかも。 ビットストリング 計算量に関しては、ビット数をn、反復数をTとしています。 Population-Based Incremental Learning (PBIL) http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.8554 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.44.5424 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.1108 Population-ba

    分布推定アルゴリズム - yukobaのブログ
    rawwell
    rawwell 2009/05/31
    "書籍 * 遺伝的アルゴリズム - その理論と先端的手法 o 森北出版|遺伝的アルゴリズム * Advances in Evolutionary Algorithms: Theory, Design and Practice (Studies in Computational Intelligence) o SpringerLink - Book"
  • Inemuri nezumi diary(2009-05-29)

    _ ふつうでない Haskell の学び方:なぜ「遅延する」関数型言語は重要か John Hughes の書いた "Why Functional Programming Matters" という、とても魅力的な文章があります(邦訳は nobsun がしてくださいました 『なぜ関数プログラミングは重要か』)。 この文書のなかで、 John は「遅延評価」がプログラムのモジュール化に貢献することを述べています。また、アルゴリズムを遅延的に書くことで実行効率があがることもあるということを指摘しています。 ところで、一方でこういう有名なプログラミングに関するジョーク(にしては、とても気合が入っている)をご存知の方もいることでしょう : "The Evolution of a Haskell Programmer", Fritz Ruehr, Willamette University,2001-0

    rawwell
    rawwell 2009/05/31
    "引用の範囲を超えるので、それぞれの部品 ((p → wrap, nilp) は The McCarthy Conditional form というそうなのですが、たとえばそういうこと) についてはいまは説明しませんが、この公式を知っていれば、あるいは思いつけば、「型
  • データベースコンサルタントのノウハウちょい見せ クラウドやマルチコアでの将来のボトルネックはきっとロック処理でしょう。コーディングが変わるかもしれません!?

    各種インフラ技術(OS、ストレージ、ネットワーク)やオラクル製品といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります 「私はOSとストレージとネットワークに興味がある」という割には、そういう話題を書いていませんでした。今日はOSをテーマとして、将来のボトルネックという話を書いてみたいと思います。今回は難しい内容を簡単に説明できていないので、「分からなかった」というコメントが届いたら、丁寧に書き直したいと思います。 さて、「分散メモリー」という技術があります。いいですよね。クラウドコンピューティングは将来バラ色に見えます。 マルチコア化(クアッドだけではなく、8コアとか)も、いいですね。どんどん性能が上がるように思えます。 ここで質問です。クラウドコンピュー

    rawwell
    rawwell 2009/05/31
    "この結果からも分かるように、実はDBMSにおいて、CPUコアは頻繁にデータを捨てたり、ロードしたり、他のCPUと同期をとったりしなければいけません。理由は、「データベースが扱っているデータそのものは複数のCPUで同時
  • データベースコンサルタントのノウハウちょい見せ SQLのシーケンシャルアクセスと実I/Oとしてのシーケンシャルアクセス

    各種インフラ技術(OS、ストレージ、ネットワーク)やオラクル製品といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります 今回は、一部の人には「驚愕の事実」(らしい)、SQLのシーケンシャルアクセスと実I/Oとしてのシーケンシャルアクセスが異なる(ことがある)という話です。 何回か前の記事に、『OTNの記事を読みました。待機イベント名の「sequential(シーケンシャル)」は実質的にはランダムI/O・・・が衝撃的でした』とコメントをいただきました。確かに誤解している人が多い事実です。解説についてはこちら(リプライコメント)を御覧ください。 そのコメントを読んでいて、もっと多くの人が誤解している、ちょっとマニアックなOracleの動作があることを思い出しまし

    rawwell
    rawwell 2009/05/31
    "待機イベントが、db file sequential read (ランダムアクセス)に変化しました! ブロックのアドレスも87988となっていて、きちんと載っていないブロックだけを読み込んでいます。 ●まとめ いかにOracleがキャッシュを有効活用(
  • データベースコンサルタントのノウハウちょい見せ ACIDを超える概念か? 新しいトランザクションの考え方 - BASE

    各種インフラ技術(OS、ストレージ、ネットワーク)やオラクル製品といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります DB使いであれば、ACID(Atomicity、Consistency、Isolation、Durability)は当たり前の考えかと思います。実は、DBMSならACIDが当たり前というのは、思いこみと言っても良いのです。少なくとも、ACID以外の考え方が存在するのは事実です。 今回は、そんな考え方である、BASE(Basically Available、Soft state、Eventually consistent)を紹介します。クラウドなどの世界で徐々に広がりつつある、トランザクションの考え方です。 この記事は、「BASE: An A

    rawwell
    rawwell 2009/05/31
    "●どういう業務にBASEは向くのか? 実は、エンティティが少なく、トランザクションが多いようなシステム、例としてはチャネル(窓口)系のシステムに向きます。多くのエンティティをもち、多数のSQL、複雑なSQLを駆使する
  • データベースコンサルタントのノウハウちょい見せ SSD上のOracleの性能レポート

    各種インフラ技術(OS、ストレージ、ネットワーク)やオラクル製品といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります OracleSSDの上で動かしたら、どんな性能特性になるのか? どんな注意点があるのか? 興味は尽きませんが、「Oracle OpenWorldで見てきた業務用SSD製品まとめ」でも紹介されている、 「報告書がドラフト版ということで詳しい内容は正式版を待ちたい・・・」の 報告書が出てきたようです。 この度、ホワイトペーパーとしてDELLEMCとOracleの検証結果レポートがでたのを見つけました。http://wp.techtarget.itmedia.co.jp/ (TechTargetジャパンという登録が必要なサイトです) レポート

    rawwell
    rawwell 2009/05/31
    "●注意点 I/O命令に伴うOSカーネルが使用するCPUコストがバカになりません。意外な盲点ですね。また、外部バス(Bus)がいっぱいになりやすいです。今後は、これらのオーバーヘッドやボトルネックが少ないサーバー構成も望
  • 仮想化環境を「DNSで」管理するはてな,分散ストレージを自社開発したライブドア

    シンプルでスケーラブルな分散ストレージを自社開発したライブドア 一方ライブドア執行役CTOの池邉智洋氏は,同社のブログや写真投稿サービスなどのインフラで利用中のストレージ仮想化ソフトを自社開発した事例を紹介した。ライブドアのサービス群が求める要件が「いかに安価に容量を追加できるか。過剰な機能と信頼性は不要」(池邉氏)と判断。メーカー製のネットワーク・ストレージの利用を止め,「ファイルのパスがそのままURLになるため,ファイル・システムのパスをURLに変換しなくて済む」HTTPで入出力する分散型仮想ストレージの開発に踏み切ったのだという(写真4)。 設計思想は「複数ノード間の一貫性はCAP定理に基づいて遅延を妥協し,スケーラビリティと読み出しの速さにこだわった。一方で書き込みはそこそこの速度でよく,認証とアクセス制御はアプリケーションで実装するので不要」(池邉氏)というもの。HTTPサーバー

    仮想化環境を「DNSで」管理するはてな,分散ストレージを自社開発したライブドア
    rawwell
    rawwell 2009/05/31
    "設計思想は「複数ノード間の一貫性はCAP定理に基づいて遅延を妥協し,スケーラビリティと読み出しの速さにこだわった。一方で書き込みはそこそこの速度でよく,認証とアクセス制御はアプリケーションで実装するので
  • Yahoo! Wins Best Paper Award at KDD 2009 | Yahoo! Research

    The 15th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD 2009) will be held June 28 to July 1 in Paris, France. Yahoo! has earned 12 out of 142 total accepted papers this year and the Best Paper Award for "Collaborative Filtering with Temporal Dynamics" by Yehuda Koren. The annual ACM SIGKDD conference is the premier international forum for data mining researchers and practitione

    rawwell
    rawwell 2009/05/31
    "Yahoo! has earned 12 out of 142 total accepted papers this year and the Best Paper Award for "Collaborative Filtering with Temporal Dynamics" by Yehuda Koren."
  • Part3 アーキテクチャがもたらす特性を理解しSaaSの真の実力を知る | IT Leaders

    「SaaSとASPはどう違うんですか?」-。これは、SaaSという言葉がよく聞かれるようになった2006年ごろから、筆者が最も多く受けた質問である。 総務省主催の「ASP・SaaSの情報セキュリティ対策に関する研究会」が取りまとめた「ASP・SaaS情報セキュリティガイドライン」では、ASPとSaaSを「ともにネットワークを通じてアプリケーション・サービスを提供するものであり、基的なビジネスモデルに大きな差はない」とし、特に区別していない。総務省とASPIC(ASP・SaaSインダストリ・コンソーシアム)による「『ASP・SaaSの普及促進策に関する調査研究』報告書」にも、「『ASP』を『ASP・SaaS』と同義語として用いる」と明記されている。 上記のような抽象化したレベルで定義すると、ASPとSaaSに違いは出てこない。確かに、「ソフトウェアの機能をインターネットを通じて提供する」と

    rawwell
    rawwell 2009/05/31
    "外部アプリケーションとの連携という点でも、SaaSとASPは大きく異なる。従来のASPの場合、既存アプリケーションとの連携はファイル転送ベースの単純なデータ統合インタフェースの利用が主流で、洗練されたものとは言え
  • When Google disowns you | Software as Services | ZDNet.com

    Microsoft watcher Mary Jo Foley's blog covers the products, people and strategies that make Microsoft tick. Larry Dignan and other IT industry experts, blogging at the intersection of business and technology, deliver daily news and analysis on vital enterprise trends.

    When Google disowns you | Software as Services | ZDNet.com
    rawwell
    rawwell 2009/05/31
    "Both camps, however, agree on the principle of shared schema. Their differences of opinion are around implementation of shared-schema multi-tenancy. Any lesser form of multi-tenancy — such as, for example, having shared application servers but housing each customer’s data in separately customiz