翻译|布加迪评论家|孙淑娟元数据过去对数据中心架构影响不大。元数据是关于数据的数据,隐藏在某处以供检索和分析,对业务运营影响很小或没有影响。随着大数据、人工智能、物联网、5G等应用系统规模的扩大,它们积累了大量的元数据,现在数据与元数据的传统关系已经被颠覆。十年前,数据与元数据的典型比例为1000:1。例如,大小为32K的数据单元(文件、块或对象)将具有大约32字节的元数据。现有的数据引擎可以非常有效地处理这些数据量。如今,当拍摄对象较小时,比例通常更接近1:10。许多组织现在发现元数据超过了存储的数据量;随着非结构化数据量继续飙升,情况只会变得更糟。元数据的激增引发了以下问题:元数据的存储位置、如何有效管理元数据,最重要的是,如何扩展底层架构以支持快速增长的元数据量和快速扩展的系统。除非元数据缩放问题得到充分解决,否则保存元数据的系统最终将遇到可能影响业务运营和性能的问题。扩展元数据的四种解决方案这种传统方法在处理元数据时无法有效应用:添加更多计算资源和/或实施各种解决方案来监控和优化IT堆栈的不同层,以解决可能的可扩展性和性能问题。组织通常使用像RocksDB这样的键值存储(KVS)系统来管理元数据,它依赖于存储引擎(又名数据引擎),它是对数据进行排序和索引的软件堆栈的一部分。然而,现有的数据引擎存在容量有限、CPU利用率高、内存消耗大等先天缺陷,无法通过简单的增加计算能力来解决。通常,一系列操作任务从此时开始,其中很少有有效的长期解决方案。1.分片——将数据集拆分成逻辑块并同时运行多个数据集的过程。这是处理高度可扩展系统生成的元数据的一种方法——至少在短期内如此。但是,随着越来越多的数据流入系统,原来分片方案的问题往往开始暴露出来,开发者不得不不断地重新分片,这本身就成了一种活动。2.数据库调优——即使使用灵活高效的NoSQL数据库,开发人员也常常难以创建异常配置,专门用于遇到需要调优的性能问题的应用程序。如果工作负载或底层系统发生变化,这些实例会遇到更多、更大的性能问题。随着应用程序变得越来越大和越来越复杂,这可能会形成一个看似无穷无尽的进一步重新调整循环,从而耗费开发人员的时间。3、数据引擎调优——存储管理的基本操作通常由数据引擎(即存储引擎)完成。作为应用程序层和存储层之间的软件层安装,数据引擎是一个嵌入式键值存储(KVS),用于对数据进行排序和索引。此外,KVS越来越多地作为应用程序内部的软件层实现,以在传输过程中对实时数据执行不同的动态活动。这种类型的部署通常旨在管理元数据密集型工作负载并防止可能导致性能问题的元数据访问瓶颈。数据引擎是复杂的构建块,组织经常发现在根据特定性能和可扩展性要求调整和配置应用程序底层的数据引擎方面存在技能差距。即使是熟练的开发人员也很难克服这个问题。4.添加资源——任何性能问题的传统解决方案都是添加额外的存储资源来解决问题。这往往是权宜之计,成本难以为继。新方法当前的数据架构无法再支持现代企业的需求,因此需要从头开始设计新的数据引擎以跟上元数据增长的步伐。但随着开发人员开始深入挖掘底层数据引擎,他们面临着在不影响存储性能、敏捷性和成本效益的情况下实现更大规模的挑战。这需要一种新的架构来支持新一代的数据引擎,这些引擎可以高效地处理大量的元数据,同时仍然确保应用程序可以快速访问元数据。下一代数据引擎可能是新兴用例的关键推动因素,这些用例的特点是需要前所未有的规模和性能的数据密集型工作负载。例如,实施适当的数据基础架构来存储和管理物联网数据对于智慧城市项目的成功至关重要。基础架构必须具有足够的可扩展性,以在不牺牲性能的情况下处理来自交通管理、安全、智能照明、废物管理和许多其他系统的越来越多的元数据。这对于对响应时间和延迟高度敏感的应用程序尤其重要,例如交通优化和智能停车。在越来越多的数据密集型用例中,元数据增长将继续成为数据中心的一个问题。最近推动数据引擎创新的举措为致力于使应用程序能够扩展和增长的团队提供了选择。原标题:HowtoManageMetadatainaHighlyScalableSystem,作者:AdiGelvan
