use*_*424 3 python sqlite amazon-s3 amazon-ec2
假设我SQLite
在亚马逊中存储了一个巨大的文件(比如500 [MB])S3
.python
在小型EC2
实例上运行的脚本可以直接访问和修改该SQLite
文件吗?或者我必须先将文件复制到EC2
实例,在那里更改然后复制到S3
?
I/O会有效吗?
这就是我想要做的.正如我写的,我有500 [MB] SQLite
文件S3
.我想开始说10 different Amazon EC2 instances
每个人都会读取文件的一个子集并进行一些处理(每个实例都会处理500 [MB] SQLite
文件的不同子集).然后,一旦完成处理,每个实例将仅更新它处理的数据子集(如上所述,进程之间不会有数据重叠).
例如,假设SQLite
文件说1M行:
instance 1
将处理(和更新)行 0 - 100000
instance 2
将处理(和更新)行 100001 - 200000
.........................
instance 10
将处理(和更新)行 900001 - 1000000
它可能吗?听起来不错吗?欢迎任何建议/想法.
我想开始说10个不同的Amazon EC2实例,每个实例读取文件的一个子集并进行一些处理(每个实例将处理500 [MB] SQLite文件的不同子集)
你不能用SQLite做到这一点; 在亚马逊基础设施或其他方面.sqlite执行数据库级写锁定.除非所有十个节点都独占执行读操作,否则您将无法获得任何类型的并发. 甚至SQLite网站也这么说.
另一个RDBMS可以更好地工作的情况
- 客户/服务器应用
- 大量网站
- 非常大的数据集
- 高并发性
你考虑过PostgreSQL吗?