![]() |
1
2
MySQL不仅能满足您的需求,而且能满足Alex对PostgreSQL的建议。合理的性能不应该很难实现,但是如果表将被大量访问并拥有大量DML,那么您将希望了解更多有关最终选择的数据库所使用的锁的信息。 我相信PostgreSQL可以使用开箱即用的行级锁定,MySQL将依赖于您选择的存储引擎。myisam只在表级别锁定,因此并发性会受到影响,但是InnoDB for MySQL等存储引擎可以并且将使用行级别锁定来增加吞吐量。我的建议是从myisam开始,只有当您发现需要行级锁定时才转到innodb。Myisam在大多数情况下都能很好地工作,而且非常轻。我使用myisam在mysql中有超过10亿行的表,并且有良好的索引和分区,您可以获得很好的性能。您可以在mysql中阅读有关存储引擎的更多信息 MySQL Storage Engines 关于表分区 Table Partitioning . 这是一篇关于 partitions in practice on a table of 113M rows 你也会觉得有用。 我认为将数据存储在关系数据库中的好处远远大于成本。一旦您的数据在数据库中,您可以做很多事情。时间点恢复,确保数据完整性、更细粒度的安全访问、数据分区、通过公共语言向其他应用程序提供可用性。(SQL)等 祝你的项目好运。 |
![]() |
2
7
PostgreSQL 应该能够充分地容纳您的数据——每个表最多32兆字节,等等。如果我理解正确的话,您现在谈论的是5兆字节,最大10兆字节(大约36字节/行,最多3亿行),所以几乎任何数据库实际上都应该能够轻松地容纳您。 |
![]() |
3
3
仅供参考:在多处理器/重叠请求方面,Postgres比MySQL的伸缩性更好,这是我几个月前读到的一篇评论文章(抱歉,没有链接)。 我想从你的个人资料来看,这是某种生物特征(密码子序列,酶与蛋白质氨基酸序列,或者类似的)问题。如果你打算用并发请求攻击这个问题,我会和Postgres一起去。 Otoh,如果要加载一次数据,然后用一个线程进行扫描,那么mysql在其“acid-not-required”模式下可能是最好的匹配。 在选择“最佳”堆栈之前,您需要做一些计划,以防访问用例。 |
|
tggtsed · PostgreSQL从平均值中排除值 1 年前 |
![]() |
Dawid · 为什么我不能在子查询中使用表别名? 2 年前 |
![]() |
CraZyCoDer · 在PostgreSQL中锁定潜在事务 2 年前 |
![]() |
ranebec · 计数时如何返回0而不是null? 2 年前 |
![]() |
Flo · 分组依据中的SQL大小写 2 年前 |