极高的QPS-DynamoDB vs MongoDB vs其他noSQL?
我们正在建立一个系统,从第一天起就需要处理大量的小请求。“加载”是指每秒约5000次查询。对于每个查询,我们需要从noSQL数据库中检索约20条记录。将有两次批读取-首先读取3-4条记录,然后立即读取16-17条记录(基于第一次读取的结果)。这意味着每秒要读取约100000个对象 到目前为止,我们一直在考虑使用DynamoDB实现这一点,因为它非常容易开始 存储不是我会担心的事情,因为对象将非常小。 我担心的是阅读的成本。DynamoDB每秒每100次最终一致(这对我们来说很好)读取的成本为每小时0.0113美元。如果所有物体的大小都达到1KB,我们每小时的价格是11,3美元。根据每天16小时的平均使用量,每月的费用为5424美元 所以每月5424美元 我会考虑其他选择,但我担心维修问题,费用等。我从来没有与这样的设置之前,所以你的建议将是非常有价值的。< /P> 对于这种读/写密集型应用程序,哪种解决方案最具成本效益(但仍然没有麻烦) “加载”是指每秒约5000次查询 啊,这不算多,连SQL都能处理。因此,您已经处于大多数现代DBs能够处理的范围之内。但是,他们只能通过正确的方式处理此问题:极高的QPS-DynamoDB vs MongoDB vs其他noSQL?,mongodb,nosql,Mongodb,Nosql,我们正在建立一个系统,从第一天起就需要处理大量的小请求。“加载”是指每秒约5000次查询。对于每个查询,我们需要从noSQL数据库中检索约20条记录。将有两次批读取-首先读取3-4条记录,然后立即读取16-17条记录(基于第一次读取的结果)。这意味着每秒要读取约100000个对象 到目前为止,我们一直在考虑使用DynamoDB实现这一点,因为它非常容易开始 存储不是我会担心的事情,因为对象将非常小。 我担心的是阅读的成本。DynamoDB每秒每100次最终一致(这对我们来说很好)读取的成本为每小
- 索引
- 询问
- 服务器硬件
- 分割大数据(可能需要大量碎片,每个碎片的数据量相对较低,具体取决于此处,所以我说“可能”)
:\
我会考虑其他选择,但我担心维修问题,费用等。我从来没有与这样的设置之前,所以你的建议将是非常有价值的。< /P>
现在你遇到了所有的困难。您可以设置自己的集群,但最终可能会为服务器、人员、管理员和您自己的维护时间付出那么多的金钱和时间(或者更多)。这就是为什么DynamoDB在这里大放异彩的原因之一。对于那些希望承担服务器管理的负担、痛苦和压力(相信我,这真的很痛苦,如果你是一名开发人员,那么从现在起,你最好将你的职位改为服务器管理员)的大型设置公司
考虑到自行设置,您需要:
- 大量的EC实例(取决于数据和索引大小,但我想说可能接近30?)
- 一名服务器管理员(可能是2名,可能是自由职业者?)
- 我不确定您拥有的数据量
- 我不确定你的写作
- 大量写作(与你的阅读量差不多)
- 海量数据(lots)
SELECT*FROM table WHERE primary_key={CONSTANT}
-不要麻烦搞乱NoSQL-只需使用RDBMS并学习如何调整dang。如果您可以在自己的硬件上运行它,则这一点更加正确。如果连接计数较高,请使用读从属设备来平衡负载
事后很久编辑(5/7/2013):
我之前应该提到的一点是:EC2是一个非常糟糕的地方,用来衡量自我管理的数据库节点的性能。除非你付出了代价,否则你的I/O性能会很糟糕。您的选择是要么为配置的IOPS支付大笔资金,要么将一组EBS卷RAID在一起,要么在将WAL同步到S3或类似版本时依赖临时存储。所有这些选项都很昂贵且难以维护。所有这些选择