sql >> データベース >  >> NoSQL >> MongoDB

DigitalOceanでのMongoDBの実行

    DigitalOceanは、SSDベースの仮想マシンを専門とするNYベースのホスティングプロバイダーです。お客様の大多数はAmazonAWSにデータベースをデプロイして管理することを選択していますが、AWSで大規模な書き込み集約型データベースを実行することは、かなり困難で時間のかかる操作です。これらの問題について詳しく知りたい場合は、EC2で見たいものを確認してください…DigitalOceanを数か月使用しており、システムについて学んだことを共有できることをうれしく思います。

    >

    DigitalOceanの何が好きですか?

    1. SSDは素晴らしいです

      SSDでデータベースを実行するのはとても正しいと感じています。ディスクスループットは素晴らしく、インデックスを実行したりデータベースを修復したりするときの利点をはっきりと確認できます。この操作は、Amazon Elastic Block Store(EBS)で数時間かかっていましたが、DigitalOceanではわずか数分で完了できるようになりました。現在SSDでデータベースを実行していない場合は、決定を再検討する必要があります。

    2. シンプルさ

      APIとUIはシンプルでエレガントです。数回クリックするか、数行のコードを実行するだけで、目的を達成するのは非常に簡単です。彼らが新しい機能を追加し続けるので、彼らが単純さを維持することを願っています。

    3. 価格

      価格は素晴らしく、シンプルで低価格です。また、オンデマンドインスタンスとリザーブドインスタンスについて心配する必要もありません。

    4. Amazonからの低レイテンシ

      Amazon AWSUS-EastおよびDigitalOceanNYデータセンターからのレイテンシーは約5〜8ミリ秒です。これにより、お客様は引き続きフロントティアとミッドティアにAWSを使用し、DigitalOceanにMongoDBのクラスターをデプロイすることができます。

    DigitalOceanで何を改善できるでしょうか?

    1. 可用性フレームワーク

      EC2アベイラビリティーゾーンと同様のアベイラビリティーフレームワークが必要です。現在、稼働時間を2倍にする必要がある場合は、さまざまなデータセンターNY1、NY2、SFO、アムステルダムにまたがっています。ただし、長期的には、単一のデータセンター内の「アベイラビリティーゾーン」構造を確認することをお勧めします。

    2. オンラインスナップショット

      DigitalOceanにはオンラインスナップショットがないため、スナップショットのためにマシンをシャットダウンする必要があります。これにより、バックアップやスナップショットの作成が途方もなく困難になります。 MongoDump / MongoRestoreは、実際には大規模な展開のオプションではありません。多くのエンジニアリング作業を行う必要がありましたが、DigitalOceanで信頼性の高い迅速なバックアップソリューションを構築することができました。

    3. 複数のディスクのサポートとLVMのサポート

      現在、仮想マシンに接続できるディスクは1つだけです。高性能クラスターの場合、データベースのさまざまな部分(ログ、データベースなど)をさまざまなディスクに分散させ、複数のディスクを接続/切断できるようにしたいと考えています。 LVMも現在サポートされていません。システムのスナップショットを撮るのに非常に便利なので、これは素晴らしい追加になるでしょう。

    4. ダイナミックディスクのサイズ変更

      現在のディスクがいっぱいになると、実際には多くのオプションがありません。新しい、より大きなマシンを作成し、データを移行する必要があります。長期的には、ディスクがいっぱいになったときに新しいマシンに移行するのではなく、既存のディスクのサイズを変更できることが重要です。

    全体的に私たちはシステムが好きで、彼らが成功するように応援しています!今年は、DigitalOceanにさらに多くのMongoDBサーバーをデプロイして管理したいと考えています。

    DigitalOcean製品の詳細については、DigitalOceanページを参照してください。

    いつものように、他にご不明な点がございましたら、[email protected]までお問い合わせください。


    1. 外部インジェクション攻撃からMongoDBを保護する

    2. データベースをmysqlからmongoDbに変換する

    3. mongoDB配列から特定の要素を取得します

    4. SpringDataMongoDBのクエリガイド