レビュー7
サーバーの場所
サーバーの場所
MongoDBデータベースのホスティング
近年、MongoDBは学界と専門家の両方で人気が高まっています。このデータベースシステムを使用すると、非構造化データを非常に簡単な方法で保存できます。
通常、このタイプのデータベースは、このデータベースを使用するアプリケーションが物理的に離れた場所に配置する必要があるため、簡単にアクセスできる環境に配置する必要があります。この必要性を考慮して、この記事では、Webホスティングサービスを使用してMongoDBに基本的な操作を保存および実行する方法を紹介します。このトピックの説明は、クラウドでMongoDBデータベースを作成および管理する方法を知りたい人に役立ちます。このタイプのデータベースを管理するためのソリューションを提供するために、この記事では、その管理のためのグラフィカルツールも示しています。この記事全体を通して、Javaプログラミング言語を使用してWebアプリケーションを開発するためのテクノロジーに重点が置かれます。
データベースにアクセスするために、無料のホストでホストされるWebサービスが開発されます。サービスをテストするために、Java言語のコンソールアプリケーションが開発されます。最後に、この記事では、MongoDBWebサービスとデータベースをテストおよび監視する方法を示します。
NoSQLという用語は、SQLだけではなく、つまりSQLだけではないことを意味します。他の意味が最初に提案されましたが、コミュニティによって最も採用されたのはこれでした。 NoSQLデータベースは、大量のデータの保存と処理を容易にするために登場し、高いスケーラビリティを可能にする構造を提供します。
現在、約150の異なるNoSQLデータベースがあります。 MongoDBは、その膨大なドキュメントと関与するコミュニティにより、新しいフォロワーを獲得しています。
MongoDBの動きは2009年の初めに始まり、それ以来、スキーマなしのサポート、簡単なレプリケーション、シンプルなAPI、さまざまな言語のドライバー、操作ツール、関数の更新など、より多くの機能がMongoDBに追加されています。
NoSQLデータベースグループは、大量のデータを管理し、スケーラビリティ機能、RESTプロトコル、MapReduce(BOX 1を読む)、およびその他の高性能機能を採用するアプリケーション指向データベースで構成されています。
ボックス1:MapReduce
MapReduceは、複数のコンピューター(クラスター)に分散したデータセットでの並列処理をサポートすることを目的としてGoogleによって導入されたプログラミングモデルです。このモデルの操作は、mapとreduceの2つの機能に基づいています。データがクラスター化されている検索統合を実行するために、リクエスターは検索を複数のコンピューターに同時に送信します。
この時点で、リクエスターとクラスターの間でマッピング(マップ)が作成され、検索結果のデータがグループ化(縮小)されて、リクエスターに配信される検索結果が生成されます。
頭字語RESTは、Representational StateTransferの略です。これは、HTTP呼び出しのみを使用する分散データ操作(CRUD)システムで広く使用されている手法です。このタイプの呼び出しは、プログラミングを簡素化し、プログラマーに低レベルのタスクを抽象化し、Webサービスでのさまざまなルーチンの実装を可能にします。行われる呼び出しは、基本的に、データ挿入(POST)、データクエリ(GET)、データ更新(PUT)、およびデータ削除(DELETE)のためのものです。
MongoDB
NoSQLを始めるときに最初に考えることは、比較です。話を欠かすことはできなかったので、リレーショナル銀行に関連する主要な用語の比較に行きます。
MongoDBでは、各ドキュメントを同じコレクション内の別のドキュメントと完全に区別できますが、これはリレーショナルモデルには当てはまりません。通常、データはBSON(Binary JSON)形式で書き込まれます。
次のセクションで説明する手順に従うために、MongoDBをローカルコンピューターにインストールする必要はありません。
ローカルコンピューターへのインストールは、より高速で簡単なテストを目的としています。読者が自分のコンピューターにMongoDBをインストールして操作したい場合は、次のような初期コマンドが役立ちます。サービス(デーモン)を実行するには、次のコマンドを検討する必要があります:/ mongo。サービスが実行されている状態で、コマンドインタープリター:/ mongoを起動できます。データベースを一覧表示するための基本的なコマンドは、showDBSまたはshowdatabasesです。データベースの用途を選択するには(存在しない場合、データベースはsqlMagazineで作成されます):sqlMagazineを使用する場合、大文字と小文字が異なることに注意することが重要です。この詳細には注意してください。
MongoDBツール
非常に多くのコマンドを実行した後、私たちはすでに前進するための基盤を持っています。コマンドを知ることは、アプリケーションを開発するために不可欠ですが、管理のために、良い味方である他のグラフィカルツールがあります。たとえば、図1と図2はMongoHubソフトウェアからキャプチャされたものです。
RockMongoやMongoVUEなど、MongoDBにアクセスするための他のツールがあります。 RockMongoツールには、PHP構成でMongoDBモジュールをアクティブ化することに加えて、他のサービス(PHPおよびApache)が必要です。このツールはOpenShiftの標準として採用されているため、知識があると便利です。
MongoVUEツールは、MicrosoftWindowsオペレーティングシステムを搭載したコンピューター専用です。それは良い機能を提供します。
Appleオペレーティングシステムユーザー(Mac OS 10.6.x以降)には、MongoHubツールがあります。このツールには特定のWebサイトがありますが。
アプリケーションをホストするためのアカウントの作成
目的は、データベースをWebで利用できるようにし、Web上にあるアプリケーションまたは別のコンピューターにインストールされているアプリケーションからデータベースにアクセスできるようにすることです。データベースをホストするために選択されたサービスはOpenShiftでした。この場合、ユーザーは最大3つのアプリケーションを作成でき、それぞれにJava、PHP、Phyton、Rubyアプリケーションなどの複数のサービスを作成できます。
同じアカウントでさらに多くのアプリケーションを作成したい場合、または他のサービスやスケーラビリティリソースを採用したい場合は、有料アカウントを作成する必要があります。 OpenShiftは、頭字語PaaSで識別されるサービスとしてのプラットフォームを提供します。アカウントを作成するために必要な手順を実行してみましょう。
最初に、ユーザーはOpenShiftポートアドレスに移動して、オプションを選択する必要があります。図のように登録画面が表示されます。
データを入力して、「サインアップ」をクリックするだけです。登録を確認するための電子メールが送信されます。この電子メール内のリンクをクリックして登録をアクティブにし、アプリケーションを作成する必要があります。
OpenShiftアカウントにアクセスすると、目的のサービスを作成できます。コマンドラインからアプリケーションにアクセスするための手順も提供され、JBossを使用します。Developer Studio IDE、およびその他の多数のリソース。このステップバイステップを容易にするために、ローカルで開発した後、アプリケーションを自動的に作成します。
一部の設定は、OpenShiftアカウントで行う必要があります。アカウントにアクセスした後、“設定”に移動する必要があります図に示すように、セクション。
テキストボックス内の“ドメイン名”目的のドメインの名前を入力する必要があります。このテストでは、“ SQLマガジン”と入力します。この名前(最大文字数は16)は自由に選択できますが、Javaプロジェクトで使用されるため、重要です。次に、“保存”をクリックしますオプション。
この手順を完了すると、“アプリケーション”に戻ることができます。タブをクリックし、「今すぐ最初のアプリケーションを作成する」をクリックします。オプション。作成できるさまざまなサービスのリストが表示されます。 “ JBoss Application Server 7”を選択しましょう。次に、アプリケーション名を選択するためのウィンドウが表示されます
この名前も自由に選択できますが、すぐに必要になるため、覚えやすい名前にする必要があります。このテストでは、“ MongoDB”と入力します。
次のステップは、“アプリケーションの作成”をクリックすることです。このプロセスには数秒または数分かかる場合があり、プロセスが完了するまで待ちます。これで、“アプリケーション”に戻ることができます。タブをクリックし、作成したアプリケーションをクリックします。
この時点で、MongoDBをアプリケーションに追加します。これを行うには、アプリケーションをクリックするだけです。この例では“ mongodb”次に、“ Add MongoDB 2.4&rdquo ;、をクリックします。情報と手順が表示されたウィンドウを開くと、リンク“アプリケーションの概要ページに進む”クリックする必要があるが表示されたら、“ Add MongoDB 2.4”をクリックできます。
次に、“カートリッジの追加”をクリックします。このプロセスにも数秒かかる場合があります。次に、データベースにアクセスするための重要な情報を示す画面が表示されます。次の手順で使用するため、この情報を記録することが重要です。情報は、ユーザー名、パスワード、およびデータベース名です。
現時点では、サーバー(JBoss Application Server)とNoSQLデータベース(MongoDB)がすでに用意されています。次に、この銀行にアクセスするためのWebサービスと、このWebサービスにアクセスするためのプロジェクトを作成します。
アプリケーション開発
基本的に、2つのアプリケーションと1つのデータベースがあります。最初のアプリケーションは、データベースの要求を行う責任があります。このアプリケーションは、Webサービスの機能をテストするための非常に簡単な例として機能します。 2番目のアプリケーション(Webサービス)は、最初のアプリケーションからの要求の受信とデータベースへのアクセスを担当します。
最初のアプリケーションに行きましょう。その前提条件は、Eclipse Keplerと2つのAPIライブラリ(アプリケーションプログラムインターフェイス)Jersey(jersey-clientとjersey-core)です。ここで説明するステップバイステップを容易にし、単純化するために、EclipseKeplerでJavaアプリケーションを作成します。
ステップバイステップを説明する画像は、Mac OS 10.9.3オペレーティングシステムを使用して取得されましたが、読者はMicrosoftWindowsまたはLinuxディストリビューションを使用することもできます。
Eclipseアクセス内:ファイル、新規、プロジェクト。次のウィンドウで、“ Java Project”を選択します。 “次へ”をクリックします。次に、プロジェクトの名前を入力し、オプション“終了”を選択します。
次に、プロジェクトにクラスを作成する必要があります。これを行うには、“ src”、“ New”、“ Class”を右クリックします。
次の画面で、クラスの名前を入力し、[メインメソッドを作成する]オプションをオンにする必要があります。 “ public static void main(String [] args)”、および“ Finish”をクリックします。
このJavaプロジェクトは、Web上でホストされるMongoDBデータベースに情報を記録することを目的としています。使用されるホスティングのタイプにより、データベースへの外部アクセスが可能になります。つまり、どこからでもアプリケーションがデータベースサーバーにアクセスできますが、ローカルマシンのポートをリダイレクトする必要があります。
これは、制御不能なコンピューターや、ローカルポートへのアクセスを継続する必要のあるコンピューターの場合、またはモバイルデバイスの場合でも、非常に複雑になる可能性があるため、ポートリダイレクトは最善の方法ではありません。このようにして、JavaプロジェクトはWebサービスを介してデータベースにアクセスします。
コードを入力する前に、Webサービスで動作する2つのライブラリを追加しましょう。使用する2つのライブラリは、Jersey 1.18APIからのものです。それらをプロジェクトに追加するには、ダウンロード後、それらをプロジェクトフォルダーにコピーし、プロジェクト名を右クリックして、プロパティを選択します。
「プロパティ」ウィンドウ内で、「Javaビルドパス」オプションを選択してから「ライブラリ」を選択します。次に、“ Add External Jar”をクリックします。
プロジェクトにJerseyAPIが追加されたので、少しコーディングできます。
この最初のコードスニペットでは、URLクライアントを作成しているだけです。最初の行(3と4)には、“ Jersey”のメソッドを使用するためのインポートがあります。図書館。 9行目と10行目では、WebサービスのURLに接続するためのオブジェクトを作成しています。 WebサービスのURLは、OpenShiftアカウントのフルネームとrestおよびpostという単語で構成されていることに注意してください。これは、Webサービスにrestと呼ばれるメソッドとpostと呼ばれるメソッドの場所があることを示しています。次に、データベースに送信する情報を作成しましょう
このリストに示されているコードスニペットの目的は、MongoDBデータベースに送信されるJSON標準に準拠した文字列を組み立てることです。最後に、サーバーに送信されるファイル。それでは、Javaプロジェクトの最後のコードスニペットに行きましょう。
このコードスニペットは、プロジェクトのために別のインポートが必要になります。
クラウドへの送信
これで、WebサービスをOpenShiftに送信できます。 Eclipse内でJBossパースペクティブを選択し、OpenShiftApplicationをクリックします。
登録で定義されたアカウント資格情報(電子メールとパスワード)が要求されます。アカウントの詳細を入力して、[次へ]をクリックするだけです。初めて接続するときは、SSHキーを作成するように求められます。
オプション“をチェックする必要があります既存のアプリケーションを使用”。このオプションをチェックすると、以前に作成したアプリケーションを選択する画面が表示されます。アプリケーションを選択し、「次へ」をクリックします。
次の画面で、サーバーに送信するプロジェクトを作成するか、既存のプロジェクトを使用するかを尋ねられます。既存のプロジェクト、この場合は新しく開発したWebサービスを使用します。これを行うには、オプション“の選択を解除します。新しいプロジェクトを作成”、“をクリックします探索”そして、jboss-as-helloworld-rsプロジェクトを選択します。
プロセスを完了します。 SSHキーを使用するための確認を求められたら、[はい]をクリックします。再び“はい” Webサービスの送信を確認します。このステップの後、Webサービスを公開できます。これを行うには、Eclipseに移動して[サーバー]タブを開き、クリックしてサーバータブ(この場合は「mongodbatOpenShift」)を展開します。 Webサービスjboss-as-helloworld-rsの名前が表示されたら、それを右クリックして、オプション“ Full Publication”を選択します。または“完全公開”。
アプリケーションがOpenShiftサーバー上にすでにビルドされているかどうかを確認します。これを行うには、ブラウザーに移動し、“アプリケーション”でOpenShiftアカウントにアクセスします。タブをクリックし、アプリケーションをクリックします。このチュートリアルの例では、“ mongodb”を実行し、既にビルドされていることを確認します。
時間がかかりすぎる(3分以上)場合は、アプリケーションの再起動が必要になる場合があります。これを行うには、画面の右側にある対応するアイコンを使用します。
最終テスト
これで、MongoDBを自由に使用できるサーバー、サーバーにデータを送信するプロジェクト、および2つを統合するWebサービスができたので、テストを開始できます。
機能をチェックするための重要な味方はロックモンゴです。 OpenShiftで非常に簡単にアクティブ化できます。“をクリックするだけです。 Rock Mongo 1.1を追加” “アプリケーションs”タブ。
もう1つの重要な機能は、コンソールでアクティブ化できる“テールファイル”です。 Eclipseコンソールに移動してOpenShiftExplorerをクリックし、アプリケーションに到達するまですべてのオプションを展開します。この場合は“ mongodb”。右クリックして“を選択します。テールファイル”オプション。