【架构即未来】海量数据

毫无疑问,数据是价值非凡的,但是我们也不能否认数据的价值随着时间的流逝而逐渐减少。
——ljl

数据的成本

数据是昂贵的
很多人下意识会想要反驳,我们每个人都能感受到存储介质(机械硬盘,固态硬盘)价格越来越低,容量越来越高,怎么能说数据是昂贵的呢。
俗话说“免费的才是最贵的”,对于企业来说真的是消减了成本吗?存储成本下降50%,但是我们有没有把价格下降带来的好处转化为收益呢。甚至我们可能会让数据的存储量增长一倍,因为它“便宜”。

“云存储”这个概念近年来被炒的风生水起,价格很便宜,但终究“完全免费”和“几乎免费”不是一回事。

当然,数据成本不仅仅只有存储系统。存储的规模越大,所需的管理就越多,这也会带来增加的费用(或者还有电费,场地租金什么的)。我们不能只关注直接成本,数据量的增加会带来更长的查询时间,要知道没有一个查询算法的时间复杂度是减小的!这可能带来性能损失,用户使用体验变差,用户流失,用户流向对手企业,游戏结束!

可能你会说,更快的处理器、更大的缓存会带来更好的使用体验,但是你依然无法解决根本问题:数据增多,处理时间增长

毋庸置疑,你需要定期对数据进行备份。随着数据量的增长,“全量备份”(full backup)的工作量随之增加,并且数据会不断重复。尽管你可以使用“增量备份”(只备份修改过的数据)缓解这个问题,但还可能需要定期进行“全量备份”,以降低“全量备份”上叠加多个“增量备份”的成本。如果你只进行“增量备份”,那么当你想要恢复存储系统的某些部分时,灾难恢复的时间一定不会短!

讨论至此,希望你已经拜托关于存储系统的错误想法。存储设备的成本在下降,但那仅仅只是存储信息、数据和知识的真正成本的一部分。

数据存储的6种成本
* 数据的存储资源
* 管理存储的人员和软件
* 使存储系统正常运行所需的电力和空间
* 确保适当电力基础设施正常运行的投入(防止突然停电导致事故)
* 遍历数据的处理能力
* 备份的时间和成本

数据的成本价值困局

数据的成本价值困局(cost-value data dilemma):随着时间流逝,数据成本逐渐增加和数据价值逐渐减少的矛盾。

这是可以理解的,互联网产生的大多数都是垃圾,现在不是垃圾也会随着时间的流逝变成垃圾,而且垃圾还会重复出现。
随着存储成本的下降,我们想保存更多数据的野心逐渐膨胀。几乎所有人都说过“如果我保存了那个数据”,对于过去没有保存某些数据的遗憾成为我们永久保存所有数据的接口。对于企业来说也许保持战略竞争力是其理由,拥有数据毫无疑问的会提升你的竞争力,不过比永久保存数据更为合理的是比你的竞争对手更久的保存数据。( ̄︶ ̄)

单位存储成本下降 != 总存储成本下降

数据产生利润

保存带来利润的数据,删除其他数据。下面会阐述驱动数据膨胀的因素,然后寻找能使得数据存储成本和本身价值相匹配的方法。

选项价值

每种选择方案都有一定的价值。你的选择方案是否有利用数据呢,问问自己下面的问题:

* 我们过去经常依靠数据做出有价值的决定吗
* 在那个决定中,我们用到的数据有多旧
* 我们最终创造的价值是多少
* 维护这些数据的成本是多少
* 最终的结果是盈利吗

可以通过对数据对选择影响程度来决定是否保留数据。

战略竞争差异化

保留数据保持竞争力。
然而无限的数据不意味着无限的价值,之前谈到的数据的“折旧”和对成本的影响。意味着企业必须做点什么来决定什么数据要被抛弃,也许你们可以对数据做价值评估,找出“零价值点”。

分层存储解决方案

假设一个公司确认一部分数据有价值,但是存储成本大于其价值时,就该考虑分层存储了。
其实就是把不变的、价值低的数据放在云存储系统或者是静态存储中。依据价值分层存储。

这可能造成额外的管理成本,但是相信这会是利大于弊的!

数据转换

ETL,代表“提取、转换、加载”(Extract, Transform, Load),是数据处理过程中一个重要的环节。在数据从原始源系统提取后,ETL 过程负责数据的转换和清洗,然后将数据加载到目标系统或数据仓库中。
以下是ETL过程的三个主要步骤:

  • 提取 (Extract):这一步涉及从各种源(如数据库、文件、API等)中提取数据。
  • 转换 (Transform):在这一步,将从源系统提取的数据进行必要的处理和转换,以使其满足业务需求和规范。这可能包括数据清洗、验证、重新格式化或合并等操作。
  • 加载 (Load):最后,处理后的数据被加载到目标系统或数据仓库中,以便于报告、分析和查询。
    ETL是数据集成和大数据处理的关键部分,特别是在构建数据仓库时。使用ETL工具,可以自动化数据迁移和数据质量保证的过程,从而提高数据处理效率并确保数据的准确性和一致性。

对于实际业务来说,合适的数据转换可以大大提升在面对需求时的响应时间。如,在网购平台中将每一条原始的数据转化为用户记录,预处理推荐商品的信息。

处理大量的数据

化简并减少
分析+计算,映射+规约。

大数据

大数据是指一个数据的集合,这个数据的集合如此庞大和复杂以致很难用传统的数据处理技术处理。

NoSQL

使用NoSQL旨在完全或部分消除结构化查询语言的问题,放松对于ACID的讨论。
当然,具体使用什么你需要考虑实际情况。
NoSQL解决方案分为四类:

  1. 键值存储(Key-Value store)
  2. 列存储
  3. 文件存储 - JSON(JavaScript Object Notation)
  4. 图形存储(技术上来说并不算是)

结论

讨论数据成本、价值。

你可能感兴趣的:(读书笔记,架构,数据)