データサイエンスのための仮想マシンが必要ですか?
-
16-10-2019 - |
質問
私はデータサイエンスの分野にまったく新しい、それに侵入したいと思っています。そして、そこには非常に多くのツールがあります。これらのVMには多くのソフトウェアがありますが、並んで比較することはできませんでした。
これが私の研究からの始まりですが、誰かが私に、より大きなサポートコミュニティがあり、始めるのに役立つ、それが大いに役立つと誰かが私に言うことができれば、私に言うことができれば:
datasciencetoolkit.org-> VMはVagrant Cloud(4 GB)上にあり、R、IPythonノート、およびその他の有用なコマンドラインツール(HTML-> TXT、JSON-> XMLなど)を使用して、より「ヒップ」になっているようです。 8月に詳細にリリースされている本があります。
datasciencetoolbox.org-> VMは、Webサイトからダウンロード可能なVagrant Box(24 GB)です。ここにはもっと多くの機能があり、より多くの文献があるようです。
解決
VMが必要ですか?
仮想マシンは、オペレーティングシステムを実行できる独自または別のマシンハードウェア構成のソフトウェアエミュレーションであることに留意する必要があります。ほとんどの基本的な用語では、仮想OSと独自のOSとの間のレイヤーインターフェースとして機能し、低レベルのハードウェアと通信して仮想OSをサポートします。これがあなたにとって意味することは:
短所
ハードウェアサポート
仮想マシンテクノロジーの欠点は、仮想マシンハイパーバイザーとゲストオペレーティングシステムの両方のサポートの両方がサポートされるハードウェアのみをサポートすることです。ゲストオペレーティングシステムが物理ハードウェアをサポートしていても、仮想マシンによって提示される仮想ハードウェアのみが表示されます。仮想マシンハードウェアサポートの2番目の側面は、ゲストオペレーティングシステムに表示されるハードウェアです。ホストのハードウェアに関係なく、ゲスト環境に提示されるハードウェアは通常同じです(CPUを除き、それを示しています)。たとえば、VMware GSXサーバーは、選択したものに応じて、AMD PCNET32高速イーサネットカードまたは最適化されたVMware-Proprietary Networkカードを提示します。ホストマシンのネットワークカードは関係ありません。 VMware GSXサーバーは、ゲスト環境のネットワークカードとホスト環境のネットワークカードとの間の翻訳を実行します。これは標準化に最適ですが、VMwareが理解していないホストハードウェアがゲスト環境に存在しないことも意味します。
パフォーマンスペナルティ
Virtual Machine Technologyは、物理的なハードウェアの上に追加のレイヤーを実行して、ゲストオペレーティングシステムの下に実行することでパフォーマンスペナルティを課します。パフォーマンスのペナルティは、使用される仮想化ソフトウェアと実行中のゲストソフトウェアによって異なります。これは重要です。
プロ
隔離
仮想化を採用する主な理由の1つは、アプリケーションを相互に分離することです。 1つのマシンですべてを実行すると、すべてが機能する場合は素晴らしいことですが、多くの場合、望ましくない相互作用や完全な対立さえも発生します。原因は、多くの場合、孤立したセキュリティの必要性など、ソフトウェアの問題やビジネス要件です。仮想マシンを使用すると、独自のサンドボックス環境で各アプリケーション(またはアプリケーションのグループ)を分離できます。仮想マシンは同じ物理マシンで実行できます(ハードウェア管理を簡素化します)が、実行中のソフトウェアには独立したマシンとして表示されます。すべての意図と目的 - パフォーマンスを削除すると、仮想マシンは独立したマシンです。アプリケーションまたはオペレーティングシステムのエラーにより1つの仮想マシンがダウンした場合、他のマシンは実行を続け、ビジネスにスムーズに機能する必要があります。
標準化
仮想マシンが提供するもう1つの重要な利点は標準化です。ゲストオペレーティングシステムに提示されるハードウェアは、ほとんどの場合均一です。通常、CPUは、ゲストがホストにあるものを見るという意味で「パススルー」である唯一のコンポーネントです。標準化されたハードウェアプラットフォームは、サポートコストを削減し、ビジネスに競争上の優位性を与える目標を達成することに専念できるITリソースのシェアを増やします。ホストマシンは異なる場合があります(実際、ハードウェアがさまざまな時期に取得されるときにしばしばそうです)が、仮想マシンはそれらすべてで同じように見えます。
テストの容易さ
仮想マシンでは、シナリオを簡単にテストできます。今日のほとんどの仮想マシンソフトウェアは、スナップショットとロールバックの機能を提供しています。これは、仮想マシンを停止し、スナップショットを作成し、仮想マシンでより多くの操作を実行し、テストが終了するまで何度もロールバックできることを意味します。これはソフトウェア開発に非常に便利ですが、システム管理にも役立ちます。管理者は、システムをスナップしてソフトウェアをインストールしたり、システムを不安定にしたりする可能性があると疑っている構成変更を加えることができます。ソフトウェアが作業をインストールまたは変更すると、管理者は更新をコミットできます。更新がシステムに損害を与えたり破壊した場合、管理者はそれらをロールバックできます。仮想マシンは、仮想ネットワークを有効にすることにより、シナリオテストを促進します。たとえば、VMware Workstationでは、混雑やレイテンシからのパケット損失など、構成可能なパラメーターを備えた仮想ネットワーク上に複数の仮想マシンを設定できます。したがって、タイミングに敏感または負荷に敏感なアプリケーションをテストして、シミュレートされた重いワークロードのストレスの下でどのように機能するかを確認できます。
可動性
仮想マシンは、物理マシン間を簡単に移動できます。今日の市場にある仮想マシンソフトウェアのほとんどは、ホスト環境の単一のファイルとしてゲスト環境にディスク全体を保存しています。スナップショットおよびロールバック機能は、ホスト情報の別のファイルに状態の変更を保存することにより実装されます。ゲスト環境全体を表す単一のファイルを持つことは、仮想マシンのモビリティを促進します。仮想マシンを別の物理マシンに転送することは、仮想ディスクファイルと一部の構成ファイルを他の物理マシンに移動するのと同じくらい簡単です。仮想マシンの別のコピーを展開することは、ファイルを移動する代わりにコピーすることを除いて、仮想マシンの転送と同じです。
始めている場合、どのVMを使用すればよいですか?
データサイエンスボックスまたはデータサイエンスツールボックスは、データサイエンスに入ったばかりの場合に最善の策です。必要な基本的なソフトウェアがあり、主な違いはこれらのそれぞれが実行できる仮想環境です。 DSBはAWSで実行でき、DSTは仮想ボックス(VMに使用される最も一般的なツール)で実行できます。
ソース
他のヒント
ほとんどの場合、練習データ科学者は、パーソナルコンピューターのインストール優先ソフトウェアパッケージに独自の作業環境を作成します。通常、メインマシンで仮想マシン(VM)を実行するには、RAMのかなりの部分を割り当てる必要があるため、コンピューティングリソースの十分かつ効率的な使用です。ソフトウェアは、多くのRAMを除き、メインマシンと仮想マシンの両方で著しく遅く実行されます。
この速度への影響により、VMSを主要な作業環境として使用することは一般的ではありませんが、追加の作業環境が必要な場合は良い解決策です。
VMは次の場合を考慮します
- コースを教えたり、会議でプレゼンテーションを行ったりする際に、多くの同一のコンピューティング環境を簡単に複製する必要があります。
- 実験または計算のために正確な環境を保存して再作成する必要があります。
- 別のOSを実行するか、別のOSで実行されるツールでソリューションをテストする必要があります。
- メインマシンにインストールする前に、ソフトウェアツールのバンドルを試してみたいと考えています。たとえば、VMの間にHadoop(CDH)のインスタンスをインストールする機会があります Hadoopのイントロ udacityのコース。
- VMは、AWS EC、Rackspaceなどのクラウドでの迅速な展開に使用される場合があります。
元の質問に記載されているVMは、簡単にインストール可能なデータサイエンスソフトウェアバンドルとして作成されます。これら2つ以上があります。これ ブログ投稿 Jeroen Janssensによると、少なくとも4つの比較があります。
- データサイエンスツールボックス
- ソーシャルウェブの採掘
- データサイエンスツールキット
- データサイエンスボックス