ScaleGridは、パブリッククラウドとプライベートクラウド向けのMongoDBホスティングおよび管理サービスです。 MongoDB(「hu mongo」から us」)は、10genによるスケーラブルで高性能なオープンソースのNoSQLデータベースです。
ScaleGridは、デプロイのプロビジョニング、高可用性とディザスタリカバリの構成、プロビジョニング解除、監視、アップグレード、クローン作成、バックアップ、リカバリを支援し、AWSでのMongoDB、AzureでのMongoDB、MongoDBをサポートしますDigitalOceanで。 ScaleGridの利点の1つは、インスタンスへの完全なSSHアクセスを提供することです。これにより、MongoDBサーバーと同じマシンでPythonサーバーを実行できます。これは、開発およびテストのシナリオで非常に役立ちます。 5つの簡単なステップで、MongoDBとPythonコードを起動して実行できます。
-
ScaleGridでMongoDBインスタンスを作成する
これらの入門手順に従って、マシンプールを作成し、MongoDBインスタンスを作成し、SSHクレデンシャルとSSHをインスタンスに取得するか、ヘルプドキュメントからMongoDBクラスターを作成する方法を学びます。
-
MongoDBに接続して、データを入力します
MongoDBインスタンスへのSSH。組み込みのmongoクライアントを使用してローカルのMongoDBインスタンスに接続し、いくつかのクエリを実行します:
/usr/bin/mongo MongoDB shell version: 2.0.7 connecting to: test >show dbs config (empty) local (empty) >db.version() 2.0.7 >db.stats() { "db" : "test", "collections" : 0, "objects" : 0, "avgObjSize" : 0, "dataSize" : 0, "storageSize" : 0, "numExtents" : 0, "indexes" : 0, "indexSize" : 0, "fileSize" : 0, "nsSizeMB" : 0, "ok" : 1 }
ダミーデータベースを作成し、コレクションにデータを挿入しましょう。 「コレクション」はリレーショナルテーブルに相当し、リレーショナルワールドの行に相当する多くの「ドキュメント」を含めることができます。
>use testdb switched to db testdb >db.testcollection.insert({"name":"blah", "value":"humbug"}); >db.testcollection.insert({"name":"blah1", "value":"humbug1"}); >db.find(); { "_id" : ObjectId("50db292013d7f5d141a9cbfb"), "name" : "blah", "value" : "humbug" } { "_id" : ObjectId("50db292913d7f5d141a9cbfc"), "name" : "blah1", "value" : "humbug1" }
-
Pythonサーバーのセットアップ
すでにマシン上でPythonサーバーを実行している場合は、MongoDBサーバーから分離します。その後、この手順をスキップして手順4に進むことができます。別のPythonサーバーがない場合は、MongoDBマシンでPythonを実行できます。これは、MongoDBマシンへの完全なSSHアクセスを持つことの利点の1つです。 ScaleGridマシンには、デフォルトでPython2.6.8がインストールされています。
-
PyMongoをインストールする
PythonでのMongoDBのサポートは、PyMongoを介して行われます。 Pythonコマンドラインから、以下のコマンドを入力します。
>>> import pymongo
-
Pythonコードを実行する
画面下部の[詳細]タブにあるScaleGridコンソールからMongoDB接続文字列を取得します。同じボックスでPythonコードを実行している場合は、127.0.0.1を使用できます。
作成したコレクション内のドキュメントをクエリするPythonコードを書いてみましょう。 test.pyというファイルを作成し、以下のコードをファイルに入れます。 「pythontest.py」を使用してコードを実行します。
from pymongo import Connection connection = Connection() connection = Connection('localhost', 27017) db = connection.testdb collection = db.testcollection for post in collection.find(): print post
詳細な手順と例については、MongoでのPythonの使用に関する10genのドキュメントを参照してください。