Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将外部硬盘上的MongoDB转储转移到google云平台_Mongodb_Google Cloud Platform_Google Cloud Datastore - Fatal编程技术网

将外部硬盘上的MongoDB转储转移到google云平台

将外部硬盘上的MongoDB转储转移到google云平台,mongodb,google-cloud-platform,google-cloud-datastore,Mongodb,Google Cloud Platform,Google Cloud Datastore,作为我论文项目的一部分,我得到了一个240GB大小的MongoDB转储,它位于我的外部硬盘上。我必须使用这些数据在短时间内运行python脚本。然而,由于我的数据集很大,而且我无法在本地mongodb服务器上进行mongoimport(因为我没有足够的内存),我的教授给了我一张100美元的谷歌云平台优惠券,这样我就可以使用谷歌云计算资源 到目前为止,我已经研究过我可以这样做: 在GCP中创建计算引擎,并在远程引擎上安装mongodb。将MongoDB转储传输到远程实例,并运行脚本以获得输出 这种

作为我论文项目的一部分,我得到了一个240GB大小的MongoDB转储,它位于我的外部硬盘上。我必须使用这些数据在短时间内运行python脚本。然而,由于我的数据集很大,而且我无法在本地mongodb服务器上进行mongoimport(因为我没有足够的内存),我的教授给了我一张100美元的谷歌云平台优惠券,这样我就可以使用谷歌云计算资源

到目前为止,我已经研究过我可以这样做:

在GCP中创建计算引擎,并在远程引擎上安装mongodb。将MongoDB转储传输到远程实例,并运行脚本以获得输出

这种方法工作得很好,但我正在寻找一种方法来在GCP中创建远程数据库服务器,这样我就可以在本地运行我的脚本,这类似于下面的一种方法

  • 在GCP上创建远程mongodb服务器,以便我可以建立远程mongo连接在本地运行脚本

  • 将mongodb转储传输到google的数据存储,这样我就可以使用数据存储API远程连接并在本地运行脚本

  • 我曾考虑过使用MongoDB atlas,但由于数据量太大,我将收到巨额账单,我无法使用我的GCP优惠券


    对于如何实现这两种方法中的任何一种,我们都非常感谢您的帮助或建议。

    您的问题分为两部分

    首先,您可以创建安装了MongoDB的计算引擎VM,并在其上加载备份。然后,打开允许从本地环境连接到Google Compute Engine VM的正确防火墙规则。连接将通过简单的登录/密码执行

    您可以在VM上使用静态IP。顺便说一句,如果在虚拟机上重新启动,您将保持相同的IP(这将更方便您的本地连接)

    第二步,注意数据存储。这是一个很好的产品,无服务器NoSQL数据库,面向文档,但它绝对不是MongoDB的同类产品。您无法执行聚合,您的搜索功能有限,。。。它是为特定的用例而设计的(我不知道你的,但我不认为这是MongoDB的等价物!)


    无论如何,如果您使用数据存储,则必须使用服务帐户或在本地环境上安装Google Cloud SDK才能进行身份验证并能够请求数据存储API。在这种情况下没有登录名/密码。

    您的问题有两个部分

    首先,您可以创建安装了MongoDB的计算引擎VM,并在其上加载备份。然后,打开允许从本地环境连接到Google Compute Engine VM的正确防火墙规则。连接将通过简单的登录/密码执行

    您可以在VM上使用静态IP。顺便说一句,如果在虚拟机上重新启动,您将保持相同的IP(这将更方便您的本地连接)

    第二步,注意数据存储。这是一个很好的产品,无服务器NoSQL数据库,面向文档,但它绝对不是MongoDB的同类产品。您无法执行聚合,您的搜索功能有限,。。。它是为特定的用例而设计的(我不知道你的,但我不认为这是MongoDB的等价物!)


    无论如何,如果您使用数据存储,则必须使用服务帐户或在本地环境上安装Google Cloud SDK才能进行身份验证并能够请求数据存储API。在这种情况下没有登录名/密码。

    那么你的问题是什么?也许我不清楚。我正在研究如何在GCP上设置一个远程数据库服务器,它可以是以下任意一种-1。远程mongodb服务器2。远程数据库服务器使用gcp数据存储所以你的问题到底是什么?也许我不清楚。我正在研究如何在GCP上设置一个远程数据库服务器,它可以是以下任意一种-1。远程mongodb服务器2。使用gcp数据存储的远程数据库服务器感谢您的回复。我接着介绍了在gcp上创建远程mongodb服务器的第一种方法。但是,当我从外部硬盘驱动器中的mongodb转储向服务器发送mongorestore时,传输速度非常慢。如果我可以加快传输速度,你知道其他方法吗?我建议你将备份从外部磁盘上传到云存储。对于优化上载。然后将文件复制到Mongo虚拟机,您就可以从虚拟机本地提供数据。再次感谢。我将尝试将备份上载到连接到mongodb vm实例的持久磁盘。我计划使用一个辅助持久磁盘,它充当我的mongodb的数据文件夹。有没有一种方法可以让我们只通过mongodb转储就知道数据库的大小?谢谢你的回复。我接着介绍了在gcp上创建远程mongodb服务器的第一种方法。但是,当我从外部硬盘驱动器中的mongodb转储向服务器发送mongorestore时,传输速度非常慢。如果我可以加快传输速度,你知道其他方法吗?我建议你将备份从外部磁盘上传到云存储。对于优化上载。然后将文件复制到Mongo虚拟机,您就可以从虚拟机本地提供数据。再次感谢。我将尝试将备份上载到连接到mongodb vm实例的持久磁盘。我计划使用一个辅助持久磁盘,它充当我的mongodb的数据文件夹。有没有一种方法可以让我们只通过mongodb转储就知道数据库的大小?