区块链的特有属性使数据可追溯、不可篡改的同时弊端也很明显,采用的分布式存储技术需要每一个节点保存一份数据库,存储成本高;网络中发生的每笔交易都需要其它节点认证和记录,处理速度慢;这让区块链的系统的存储效率相较集中式存储受到诟病。作为数字经济新型信息基础设施,区块链需面对全国乃至全球的用户带来的海量数据上链存储需求。长安链从超大规模数据存储场景出发,推出PB级区块链开源存储引擎“泓”,英文名定为“Huge”,预计将在2022年底正式开源。泓在保证区块链系统中数据一致性和唯一性外还将具备:大规模、低成本、高性能、强隐私的特点。效率成本兼容泓采用混合式存储架构、数据分片、冷热分离等技术,具备海量数据
本文将从以下五部分切入,讲述日志系统的演进之路:携程日志的背景和现状、如何搭建一套日志系统、从ElasticSearch到Clickhouse存储演进、日志3.0重构及未来计划。 一、日志背景及现状 图1 2012年以前,携程的各个部门日志自行收集治理(如图1)。这样的方式缺乏统一标准,不便治理管控,也更加消耗人力和物力。 从2012年开始,携程技术中心推出基于ElasticSearch的日志系统,统一了日志的接入、ETL、存储和查询标准。随着业务量的增长,数据量膨胀到4PB级别,给原来的ElasticSearch存储方案带来不少挑战,如OOM、数据延迟及负载不均等。此外,随着集群规模的扩大,
本文将从以下五部分切入,讲述日志系统的演进之路:携程日志的背景和现状、如何搭建一套日志系统、从ElasticSearch到Clickhouse存储演进、日志3.0重构及未来计划。 一、日志背景及现状 图1 2012年以前,携程的各个部门日志自行收集治理(如图1)。这样的方式缺乏统一标准,不便治理管控,也更加消耗人力和物力。 从2012年开始,携程技术中心推出基于ElasticSearch的日志系统,统一了日志的接入、ETL、存储和查询标准。随着业务量的增长,数据量膨胀到4PB级别,给原来的ElasticSearch存储方案带来不少挑战,如OOM、数据延迟及负载不均等。此外,随着集群规模的扩大,
作者介绍Dongyu,资深云原生研发工程师,专注于日志与OLAP领域,主要负责携程日志平台和CHPaas平台的研发及其运维管理工作。本文将从以下五部分切入,讲述日志系统的演进之路:携程日志的背景和现状、如何搭建一套日志系统、从ElasticSearch到Clickhouse存储演进、日志3.0重构及未来计划。一、日志背景及现状图12012年以前,携程的各个部门日志自行收集治理(如图1)。这样的方式缺乏统一标准,不便治理管控,也更加消耗人力和物力。从2012年开始,携程技术中心推出基于ElasticSearch的日志系统,统一了日志的接入、ETL、存储和查询标准。随着业务量的增长,数据量膨胀到4
作者介绍Dongyu,资深云原生研发工程师,专注于日志与OLAP领域,主要负责携程日志平台和CHPaas平台的研发及其运维管理工作。本文将从以下五部分切入,讲述日志系统的演进之路:携程日志的背景和现状、如何搭建一套日志系统、从ElasticSearch到Clickhouse存储演进、日志3.0重构及未来计划。一、日志背景及现状图12012年以前,携程的各个部门日志自行收集治理(如图1)。这样的方式缺乏统一标准,不便治理管控,也更加消耗人力和物力。从2012年开始,携程技术中心推出基于ElasticSearch的日志系统,统一了日志的接入、ETL、存储和查询标准。随着业务量的增长,数据量膨胀到4
Protobuff是一个与开发语言、平台无关序列化的工具,广泛应用于需要跨进程传输数据的场景。除此之外,PB还提供了强大的反射能力。可以利用反射的技巧,可以大量降低重复的代码。对于C++来说,语言层面是默认不支持反射的,PB的反射可以很好的补充cpp不支持反射的问题。什么是反射?计算机程序在运行时可以访问、检测和修改它本身状态或行为开局一张图:反射可以干什么://比如:根据对象的名称去动态的创建出一个对象intpb_reflect(){//"PersonInfo"创建一个PersonInfo的对象constgoogle::protobuf::Descriptor*descriptor=goog
Protobuff是一个与开发语言、平台无关序列化的工具,广泛应用于需要跨进程传输数据的场景。除此之外,PB还提供了强大的反射能力。可以利用反射的技巧,可以大量降低重复的代码。对于C++来说,语言层面是默认不支持反射的,PB的反射可以很好的补充cpp不支持反射的问题。什么是反射?计算机程序在运行时可以访问、检测和修改它本身状态或行为开局一张图:反射可以干什么://比如:根据对象的名称去动态的创建出一个对象intpb_reflect(){//"PersonInfo"创建一个PersonInfo的对象constgoogle::protobuf::Descriptor*descriptor=goog