【问题标题】:Guideline when designing a database in Postgresql在 Postgresql 中设计数据库时的指南
【发布时间】:2016-03-02 15:38:59
【问题描述】:

我正在Postgresql 中设计一个数据库,我想在重构我的工作之前获得一些专家建议。

数据库自然包含不同的部分,我计划将这些部分分成模式,以便对反映它们逻辑组织的对象名称进行修改。大约 20 个表格用于科学目的,另外 20 个是技术表格,另外 20 个表格是关于管理任务的。 这是一个好主意,还是我误导自己进入了我以后会后悔的管理开销?

该数据库包含 3 个巨大的表。巨大,我的意思是其中有超过 6000 万行,它们可能会增长一点。我想我会为这些表创建特殊的表空间。我想这样做,以便在逻辑上分离存储数据的位置,因为数据库的其余部分应该以与这三个表不同的方式备份。

另外一个,这 3 个表包含的二进制数据并不重,但在乘以行数时有点重,而且该表的增长速度也比其他 2 个表快。然后我会在备份表后定期清除它。

在数据库中拥有多个表空间是个好主意吗?如果是这样,在这种情况下进行时是否需要采取任何预防措施?

提前感谢您的建议。

【问题讨论】:

    标签: postgresql database-design database-schema database-backups tablespace


    【解决方案1】:

    选择好的名称和对数据库内容进行分组总是一个明智的选择,而且这样的开销通常并不可观。
    关于分离单个数据库的表空间,它也不应该引起任何特殊问题,我有一个类似的数据库(但在 mysql 中)有一个大文件表,出于一些优化原因,我不得不将它的所有内容移动到另一台服务器直到现在我都没有问题。
    RDBMS 设计中有一个非常重要的问题,那就是正确的表索引。我认为选择好的索引是设计关系数据库最关键的阶段,您很快就会看到它的效果(当您开始编写 JOIN 查询时!)。
    一般来说,设计和实现数据库是一项实验性工作,取决于您的情况和专业知识,因此您无法寻求可靠的指导。

    【讨论】:

      猜你喜欢
      • 2015-11-19
      • 2015-11-17
      • 2011-04-11
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多