分収林とは
Shared Forestは、データ集約、機械学習、ビッグデータなど、現実世界の問題を分散コンピューティングで解決する新しいコンセプトです。その名の通り、1台のコンピューターにいる複数のユーザーが、複数のサーバーから共有データセット全体にアクセスできるようにする共有コンピューティングサービスです。
Shared Forestは、約2年前から開発を進めてきました。Google Cloudのコンピュートとネットワークインフラのパワーを使って、スケーラブルなデータストレージとクエリプラットフォームを提供するサーバーレスサービスを構築しました。私たちのシステムを数万人のユーザーが利用できるように、大規模で複雑なデータモデルを作り上げました。
Shared Forestのコアエンジンは、シンプルなJavaベースの分散ファイルシステムで、共有分散環境において複数のサーバーからデータにアクセスすることができます。
Shared Forestプラットフォームは、ピーク時には数百万人のユーザーにサービスを提供することができ、多くの実世界の問題に適しています。例えば、このプラットフォームは、データ集約、機械学習、ビッグデータ、ソーシャルメディア分析に利用することができます。
データモデルとは何ですか?
データモデルとは、データの集合を表現したもので、通常、リレーショナルデータベースを含みます。データサイエンティストにとって一般的なデータモデルはSQLデータモデルで、基本的には、データポイントの集合を一貫性のある構造化されたデータの集合に変換するために使用される一連の操作を記述しています。
私たちのShared Forestシステムでは、データモデルとしてSQLデータモデルを作成しました。このモデルは、共有データセットにアクセスするためにユーザーが実行する操作を記述し、いくつかの有用なメタデータを提供します。
ユーザーは以下を提供することが要求されます:
アクセスする共有データセットのタイプ。例えば、”photos”。
ユーザーが共有データセットにアクセスするサーバー。
ユーザーが共有データセットへのアクセスを要求できる他の人の名前と電子メールアドレス。
ユーザーが各操作で希望する精度、すなわち、返される結果に含まれるデータの量を定義する。
ユーザーの精度
ユーザーの精度は、ユーザーのaccuracy_factorで表されます。accuracy_factorは、そのユーザーの正確さをパーセントで表したものです。accuracy_factorが高いほど、ユーザーの結果はより正確になります。
ユーザーのaccuracy factorは、以下の式で決定されます:
accuracy_factor = 100 * accuracy_factor_per_user
例えば、100%のaccuracy_factorを持つシステムでは、accuracy_factorが100%になります。