我想在单个表中存储10亿条记录,并且只使用非常有限的用户频繁执行搜索操作。
表格式
注册ID(唯一)|名称|年龄|性别|地址
ABC / 12 / XY / 34 | ABC | 25 M |一些地址是gere
问题:
- 我可以使用mysql存储10亿条记录并对其进行频繁搜索
-Backend是在aws上托管的nodejs上,是否有任何工具可以使这个无缝连接?
-Registration ID是唯一的列,我应该应用哪些约束来加快搜索速度(散列或索引或其他什么?)
答案 0 :(得分:0)
由于您已经加入AWS,请尝试使用Amazon Aurora(MySQL)。确保选择具有足够RAM的实例类型,以便缓存足够大以用于索引。如果您不经常插入并只是查询,请将您的注册ID字段设置为主键。如果您按注册ID进行搜索,这将有助于加快您的查询速度。虽然如果您的硬件可以胜任任务,那么使用庞大的表是可行的,但通常最好将数据分成多个表。您应该尝试存储以" A"开头的那些记录。在1表中的注册ID中,以" B"在另一个等等。
答案 1 :(得分:0)
任何关系数据库都可以处理十亿行。
出现性能问题
如果这是一个"数据仓库"申请,"汇总表"对表现至关重要。
在某些情况下,我问"你真的需要保留数据吗?"如果您愿意描述您的数据集,我将详细说明为什么您可能不需要保留所有数据集。
您的查询"点查询"?示例:给定一个registration_id,获取其余的数据。 - 无论数据库引擎,表大小等如何,这都是非常琐碎,非常快。
(我很难相信你会去注册十亿不同的人!)
摄取速度怎么样?计算在合理的时间内达到十亿行所需的每秒行数。
你必须草拟你的查询,这样我们就可以帮你设计表格,索引甚至是十亿行的查询。