我需要插入100亿行并多次更新它们的值。
表格结构:
Column1 Column2 Count
1 1 99
1 2 10003
1 3 1
1 4 23
1 5 9994
...
99999 1 2
99999 2 2233
99999 3 5904
99999 4 12
99999 5 4598435
...
我需要将Column1
编入索引。
在一个表中Count
将是另一个表中的Integer,它将是Double。
哪种数据库最适合我的需求? 我被告知我应该使用NoSQL,但它们有很多。
答案 0 :(得分:2)
我会使用你熟悉的数据库,只要它能处理你所需的吞吐量。所以我假设你问你的首选数据库还没有满足你的要求。
如果您需要具有一致的亚毫秒查找延迟的高吞吐量,请查看ADTech行业中大量使用的Aerospike。见Case Study from AppNexus and Intel。 Aerospike是一个开源的,分布式的内存和/或SSD NOSQL KV数据库,支持UDF和二级索引。
答案 1 :(得分:0)
尝试从PostgreSQL开始。它没有行数限制manifested here。如果您遇到任何麻烦问题,您可能会再次考虑一些NoSQL解决方案。但它更有可能,Postgres将满足您的要求。今天非常成熟。
答案 2 :(得分:0)
任何主流RDBMS中都没有任何东西可以使这很难甚至不可能。对于任何RDBMS,您的所有要求都琐碎。
您需要的是一个包含单个索引的表。这并不会对架构上的任何系统造成压力。
请注意,RAM可能不足以缓存所有数据。这意味着每次访问都会访问磁盘。您需要具有足够IOPS的磁盘。