关于使用大型数据库,我需要了解什么?

Dan*_*iev 8 sql database database-design bigdata

我想知道在使用大型数据库时会出现哪些具体问题/解决方案/建议/最佳实践[不要惩罚我这个词].

在巨大的I暗示数据库,其具有数百万行的表和/或具有数PB数据的数据库.

面向平台的答案也会很棒.

Căt*_*tiș 10

一些想法

  • 了解特定数据库引擎的详细信息,以及它的工作原理

  • 如何优化查询(提示,执行计划)

  • 如何调整数据库(不仅是索引,还有物理存储和表示,操作系统集成).

  • 查询"技巧",如临时表,以存储可重复使用的临时结果,

  • 如何评估非规范化对性能改进的必要性

  • 如何使用数据库分析工具来识别瓶颈.


Bra*_*adC 8

来自生产DBA的一些建议(我的经验是MS SQL,但这些应该适用于其他平台):

  • 维护成为一个重要问题(夜间备份,DBCC,每周重新索引/优化工作等).很容易开始超过合理的夜间或周末维护窗口.这不仅仅是一个技术问题,它也是一个商业问题("你的意思是,从最后一次良好的备份恢复数据库需要4个小时?")

  • 开发人员需要了解他们可能需要以不同的方式工作."你的意思是我不能只是DELETE (500m rows) FROM MassiveTable期望它能发挥作用?

我相信我会想到更多......