雪花云数据仓库-数据库最佳实践限制



一个Snowflake数据库中可以有多少架构和安全对象有限制吗?成千上万的这些对象会降低性能吗?

将数据拆分为多个数据库是否有助于提高性能?

我的知识没有硬性限制。我们的经验是,当您拥有成千上万的安全对象(用户、角色、模式(时,会出现严重的性能问题。我们有几个关于这方面的支持案例。到目前为止,我们已经能够找出一些影响性能的因素:

  • 当安全对象变化很大时,性能问题会更糟。如果安全对象不经常更改,那么有某种缓存会有很大帮助
  • 当安全图复杂时,性能问题会更糟。用户/角色的绝对数量不如他们的关系重要(例如,用户A可以授予1000个角色,每个角色可以授予100个其他角色(
  • 使用多个数据库没有任何效果(除了前一点(
  • 扩展仓库的效果有限,因为您可以通过更快地执行DQL/DML查询来抵消DCL/DDL查询中的"滞后">
  • 云安全功能的性能变化很大——你可以在一个数据库上的一个查询上平均200毫秒,持续几天,然后突然提高到平均500毫秒,并在那里停留几天

有趣的是,支持人员不断告诉我们,我们是唯一遇到此类问题的客户。

最新更新