关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 算法设计 »Google Analytics为什么会这么快

    Google Analytics为什么会这么快

    2014-11-01 00:00:00 出处:zhanlijun的博客
    分享

    Google Analytics存储了全球范围内网站的大量静态数据,随着数据体积越来越大,检索的难度也必然随之增加。近日,Gen Furukaw在Dzone上撰文表示,Google Analytics的高效一定程度上归功于其兼职存储BigTable

    在Google,随时都可能存在大量应用程序被添加到其基础设施,而这些应用程序中,任意一个都可能给系统带来繁重的工作负载。迎合这样的资源需求并不简单,而在有限时间内做到这一点就更是难上加难了。

    假如Google部署的是一个单节点上的传统数据库,那么一旦达到容量限制,他们必须为其更新硬件。鉴于Google应用程序的数量和存储数据的体积,这种硬件升级可能每天都会进行一次。虽然负载也可以分配到多个节点,但随着节点数的增加,系统维护的难度将变得不可思议。

    综上所述,鉴于大规模系统升级和维护的难度,标准关系型数据库对Google来说并不可选。

    寻找一个可扩展解决方案

    为了保证速度,及避免频繁的更新硬件,Google定制了自己的存储解决方案——BigTable。取代关系型数据库将数据存放到表格中,BigTable使用了多维排序映射的方式对数据进行存储,也就是现在我们所说的键值存储类型。这种方式不仅提升了性能,也简化了扩展过程。

    关系型数据库中的信息存储

    关系型数据库将信息的每个部分都存放到独立的位置,通常是表中的一列。同时,在关系型数据库中,数据的规范化非常重要,这个过程保证了其他表格或者列中不会存在冗余数据。

    举个例子,客户的“姓”必须存放在某个表格的对应列中。假如某个客户的姓在其他位置发现,那么它将被删除,信息的检索仍然会被指定到原始表格。

    这种结构的缺点是数据库内部可能变得非常复杂,从而导致即使一个简单的查询都可能涉及到大量的执行路径,而所有这些路径都会在运行时进行计算以寻找最优路径。数据库越复杂,运行时就需要越多的资源来确定查询路径。

    键值存储中的信息存储

    在键值存储中,数据被允许存在多个备份。取代使用其他昂贵硬件资源来增加速度,这里的设计理念是利用磁盘空间,它更新起来非常容易,成本也不高。

    对于简单查询来说,多备份非常有利,在键值存储中,相关的数据可以被存储到一起,从而避免在查询过程中访问多个路径以获得所需数据。

    取代关系型数据中的表格存储类型,键值存储使用域,同时也无需预定义数据结构模式。域中存储的数据通过键定义,它们可以通过大量不同的属性访问。

    这些属性可能是字符串,也可以是流行编程语言中匹配的任意数据类型,它可能会是数组、对象、整形、浮点型、布尔型以及编程语言中使用的任意基本数据类型。

    在键值存储中,取代数据本身,数据完整性和逻辑通过应用程序代码维护,通过使用1个或多个API,开发者可以编写出最优的实现方法。这样一来,数据检索工作被转移到编写正确的逻辑上,而不是依赖数据库去优化在大量可能路径中选择一个最佳路径。

    写在最后

    当然,除了键值存储的使用之外,Google Analytics快还源于其优秀的编程逻辑,这点就不再一一详述了。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。