数据中心成用电大户
|
以下是2021年值得关注的十大AR和VR趋势 AR头像的崛起 快速的技术进步,例如新的AI工具套件,下一代游戏引擎和增强现实的发展,有望开创人工智能AR头像的新时代。化身通常是指AI代理的任何拟人化形式。在日本,已经有超过4000个AR头像在YouTube上闪闪发光,被称为虚拟YouTuber或VTubers,看起来像动漫人物。 AR室内导航
苹果公司的ARKit和Google的ARCore的出现极大地提高了AR应用程序的强劲性。这些应用程序为用户提供了无缝、轻松的AR体验。AR允许用户使用智能手机添加有关其周围真实世界的视觉信息层。该技术还用于室内导航,以在购买前看到用户想要的物体。AR室内导航适用于家庭、大学和企业的各种实践,甚至对医院、博物馆和机场也很有用。 4. MySQL 的其他优势到目前为止,我们介绍了 Postgres 和 MySQL 的磁盘架构。MySQL 还有其他一些重要方面也让它的性能明显优于 Postgres。 缓冲池 首先,两个数据库的缓存方式不同。Postgres 为内部缓存分配了一些内存,但是与计算机上的内存总量相比,这些缓存通常很小。为了提高性能,Postgres 允许内核通过页面缓存自动缓存最近访问的磁盘数据。例如,我们最大的 Postgres 副本有 768 GB 的可用内存,但实际上只有 25 GB 被用作 Postgres 的进程 RSS 内存,这样就为 Linux 页面缓存留出了 700 GB 以上的可用内存。 这种设计的问题在于,与访问 RSS 内存相比,通过页面缓存访问数据实际上开销更大。为了从磁盘上查找数据,Postgres 进程发出 lseek 和 read 系统调用来定位数据。这些系统调用中的每一个都会引起上下文切换,这比从主存储器访问数据的开销更大。实际上,Postgres 在这方面甚至还没有完全进行优化:Postgres 并未利用 pread 系统调用,这个系统调用会将 seek 和 read 操作合并为一个系统调用。 相比之下,InnoDB 存储引擎通过缓冲池实现了自己的 LRU。从逻辑上讲,这与 Linux 页面缓存相似,但它是在用户空间中实现的。尽管 InnoDB 缓冲池的设计比 Postgres 的设计要复杂得多,但它具备一些优势:
连接处理 MySQL 通过一个连接一个线程的方式来实现并发连接。这种开销相对较低,每个线程都有自己的栈内存和分配给特定连接的缓冲堆内存。在 MySQL 中使用 10000 个左右的并发连接,这种情况并不少见,实际上,在我们现有的某些 MySQL 实例上,连接数已经接近这个数字。 但是,Postgres 采用的是一个连接一个进程的设计,这比一个连接一个线程的设计要昂贵得多。派生新进程比生成新线程占用更多的内存。此外,进程之间的 IPC 比线程之间的 IPC 也昂贵得多。Postgres 9.2 通过 System V IPC 原语实现 IPC,而不是使用轻量级的 futex。futex 比 System V IPC 更快,因为通常情况下,futex 不存在竟态条件,因此无需进行上下文切换。 除了内存和 IPC 开销,Postgres 似乎也无法很好地支持大量连接,即使有足够的可用内存。我们在 Postgres 中使用数百个活动连接时遇到了大问题。Postgres 文档建议采用进程外连接池机制来处理大量连接,但没有详细说明是为什么。因此,我们使用 pgbouncer 来处理 Postgres 的连接池。但是,我们的后端服务偶尔会出现 bug,导致它们打开的活动连接过多,从而延长了宕机时间。 5. 结论
在 Uber 早期,Postgres 为我们提供了很好的服务,但是随着公司规模的增长,我们遇到了伸缩性问题。现在,我们仍然保留了一些旧的 Postgres 实例,但大部分数据库都建立在 MySQL 之上(通常使用 Schemaless 层),或者在某些特殊情况下会使用像 Cassandra 这样的 NoSQL 数据库。 (编辑:广元站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

