2

我刚刚尝试了来自亚马逊的 dynamodb 示例。

我了解数据库本身的优势,但我发现它使用 http 连接来写入和读取数据。如果我有 1000 次写入/秒,这是否意味着我需要有 1000 个可用于写入的连接?如果是这样,对于客户端服务器来说是不是太重了?

有什么方法可以像普通数据库一样使用 TCP 连接?谢谢。

4

3 回答 3

1

将吞吐量设置为 1000 次写入/秒意味着您的数据以这样的方式分布,以保证您在一秒钟内成功写入 1000 次数据。dynamodb 在可扩展的环境中非常快速且可靠。

于 2012-03-30T08:16:16.270 回答
0

您不是在为每个查询打开连接,而是在发出请求。因为您在亚马逊内部的高速网络中,所以即使使用 http,延迟也非常低。当然 TCP 可能“更快”,但这只是在您比较非现实世界中的连接速度时。使用 HTTP 获得的真正好处是可以非常轻松地扩展它。他们所做的是在每个请求上增加了几毫秒的延迟,作为回报,他们保证请求将小于 10 毫秒。在他们的文档中,他们声明他们保证的响应时间是个位数毫秒。

所以如果你只是比较协议,那么肯定 HTTP 比 TCP 慢。但是,当您实际查看该产品时,您会发现它的速度远不慢,它可能是您开始考虑大型数据集时可以设计的最快的数据库之一。

于 2012-03-30T14:01:47.723 回答
0

如果要每秒写入 1000 次,则需要将表的写入吞吐量配置为 1000,假设每个数据项大小为 1KB,如果小于或大于 1KB,则使用除以 1kb 后的舍入数,例如 1.6kb/ 1kb =1.6 ~ 2 即每秒 1000 次写入的写入吞吐量必须为 2000。即使在 http 连接之后,考虑到我们的插入服务也在同一个 EC2 区域中运行,我发现它非常快。

于 2017-04-14T21:54:53.163 回答