SSD 现在很常见。Amazon EBS 由 SSD 支持,因此大多数云数据库现在也在 SSD 上运行(Heroku PostgreSQL 等)。传统上,数据库和相关架构的设计理念是随机访问是不好的——SSD 不再是这种情况。
SSD 如何影响以下内容?
- 数据库设计 - DB 旨在最大限度地减少磁盘寻道(WAL、B 树)。SSD 如何改变数据库设计的内部结构和调整?
- 应用程序开发 - 工作假设一直是(a)您希望服务器用户从内存而不是 DB 请求,以及(2)对 DB 的访问是 IO 绑定的。使用 SSD,从数据库中检索数据可以足够快,并且数据库访问通常受网络限制。这会减少对内存数据库的需求吗?显然您仍然希望预先计算昂贵的操作,但您可以将它们存储在数据库中
- 专业数据库 - 有相当多的数据库可以做一些关系数据库被认为不擅长的事情(部分原因是随机数据访问)。一个这样的例子是图形数据库(Neo4j),它以一种紧凑的方式在磁盘上存储节点和邻接列表。如果我们可以在 SSD 上部署 RDBMS 而不必担心随机访问,这些数据库是否有用?