自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Syntactic Sugar

理论与实践结合!

  • 博客(572)
  • 资源 (1)
  • 收藏
  • 关注

转载 微服务(Microservices)—— Martin Flower

当然,这也不是绝对的,有些服务会改变导致协调的服务接口,但是一个好的微服务架构的目标就是通过在服务契约(service contracts)中解耦服务的边界和进化机制来避免这些。发布的接口是指一个类向外公开的成员,比如 Java 中的声明为 Public 的成员,C# 中声明为非 Internal 的成员。服务边界上的代码迁移是困难的,任务接口的变更需要参与者的共同协作,向后兼容的层次需要被增加,测试也变更更加复杂。可以肯定的时,微服务社区中使用的许多的技术都开发者是从大型机构的整合服务经验中发展来的。

2023-06-21 17:06:55 308

原创 我的创作纪念日

泥泞中爬行。

2023-04-07 21:40:30 252 1

原创 欢迎参加第19届高级数据挖掘与应用国际会议(ADMA‘23)

Welcome to The 19th International Conference on Advanced Data Mining and Applications (ADMA’23), August 21-23, Shenyang, China.Homepage: ADMA2023.UQCloud.Nethttp://www.cse.neu.edu.cn/2023/0330/c6274a227847/page.htm

2023-04-06 16:27:32 608

原创 Scalable but Wasteful: Current State of Replication in the Cloud

共识协议是部署在基于云的存储系统中的强一致性复制的核心。已经有许多建议来优化这些协议,其中大多数是通过识别瓶颈节点并将负载转移到未充分利用的节点来实现的。我们表明,虽然这些优化提高了吞吐量,但却牺牲了资源效率,这在云环境中至关重要。我们提出了一个新的度量来衡量这些协议的效率,并表明使用该度量,例如,优化的EPaxos协议比未优化的Multi-Paxos协议效率更低。然后,我们证明了Multi-Paxos可以在固定预算资源设置下实现比EPaxos高2倍的吞吐量,这是典型的云。

2023-02-22 22:59:54 360 1

原创 Distributed Algorithms - Preface

这本书还将让你对各种系统模型及其功能有一个很好的感觉,这样你就可以自己设计新的算法(甚至证明新的不可能的结果)。最后,这本书应该让你相信,仔细分析分布式算法和系统是可行的:对它们进行形式化建模,为它们所需的行为给出精确的规范,严格证明它们满足规范,确定适当的复杂性度量,并根据这些度量对它们进行分析。然而,由于它们运行的设置非常复杂,因此设计此类算法可能是一项极其困难的任务。这本书包含了分布式算法领域的全面介绍——最重要的算法和不可能的结果的集合,所有这些都在一个简单的自动机理论环境中呈现。

2023-02-15 11:30:57 128

原创 Paxos Made Simple

如果proposer想要发出一个number为n的proposal,那么它必须要获取已经或者将要被一个majority接受的最高number不大于n的proposal的value。经过这样的优化以后,acceptor只需要记住它接受过的最高number的proposal以及它回复过的最高number的prepare request。出错的情况,当前一个leader刚刚发送故障但是新的leader还没有选举出来的情况(系统刚刚启动时是一个特殊的情况,那时候还没有任何命令被提交)。

2023-02-07 21:52:30 439

原创 Time, Clocks, and the Ordering of Events in a Distributed System

happen-before定义偏序关系,将偏序扩展为全序的算法,展示算法在分布式互斥的应用。该算法定义的全序关系有些随意。当系统与用户观察到的顺序不一致时会产生异常行为。该问题可以通过使用一个被正确同步的物理时钟系统来避免。我们的定理还展示了时钟可以被同步到怎样的程度。在分布式系统中,认识到事件的发生顺序是只是一个偏序关系是非常重要的。我们认为这个观点对理解所有多进程的系统非常有帮助。它可以帮助人们理解多进程系统中的基本问题,撇开那些用于解决这些问题的各种机制。

2023-02-04 21:21:02 560 6

原创 神经网络与机器学习

神经网络是计算智能和机器学习的重要分支。

2022-08-26 23:20:29 295

原创 神经网络与机器学习 - 第0章 导言

人脑计算与传统的数字计算机相比是完全不同的方式,人脑是一个高度复杂的、非线性的和并行的计算机器(信息处理系统)。人脑能够组织它的组成成分,即神经元,以比今天已有的最快的计算机还要快许多倍的速度进行特定的计算。脑在出生的时候就有很复杂的构造和具有通过我们通常称为的“经验”来建立它自己规则的能力。确实,经验是经过时间积累的,人脑在出生后头两年内发生了非常大的进化(即有硬接线),但是进化将超越这个阶段并继续进行。一个“进化中”的神经系统是与可塑的大脑同义的。可塑性允许进化中的神经系统适应其周边环境。可塑性。...

2022-08-26 23:18:38 678

原创 Spark - 第20章 流处理基础

流处理是连续处理新到来的数据以更新计算结果的行为。应用程序在运行时将输出多个版本的结果,或者在某外部系统(如键值数据库)中持续保持最新的结果。批处理是在固定大小输入数据集上进行计算的。批处理也可以进行查询计算,与流处理差不多,但只计算一次结果。连续应用程序:把包括流处理、批处理和交互式作业等全部作用在同一数据集上的处理环节串联起来,从而构建端到端应用程序,提供最终的处理结果。结构化流处理注重使用简单的端到端的方式构建此类应用程序,而不是仅仅在流数据级别上针对每条记录进行记录。...

2022-08-11 21:24:05 1010

翻译 SparkTune: tuning Spark SQL through query cost modeling

我们演示了SparkTune,这是一种支持从多个角度评估和调整SparkSQL工作负载的工具。与SparkSQL的优化器主要依赖于基于规则的模型不同,SparkTune采用了基于成本的SQL查询模型;这使得能够准确估计执行时间,并识别用户定义的工作负载中的成本和复杂性因素。估计基于集群配置、数据库统计信息(由工具自动检索)和分配给工作负载的资源。因此,对于任何给定的集群、数据库和工作负载,SparkTune能够确定运行工作负载的最佳集群配置,估计在云平台上运行工作负载的价格,同时评估性能/价格权衡等等。..

2022-07-18 22:52:27 191

翻译 A Tutorial on Learned Multi-dimensional Indexes

近年来,机器学习(简称ML)已成功应用于数据库索引。对学习索引的初步实验表明,与传统数据库相比,其搜索性能更好,空间需求更低。为了将学习到的索引扩展到多维空间,已经进行了许多尝试。这使得学习的索引可能适用于空间数据库。本教程的目标是在单维和多维空间中提供学习索引的最新内容。本教程涵盖了25个学习过的索引。本教程通过分类法浏览学习索引的空间,该分类法有助于在一维和多维空间中对所涵盖的学习索引进行分类。...

2022-07-16 11:02:51 265

翻译 Tutorial: Adaptive Replication and Partitioning in Data Systems

为了满足不断增长的应用需求,分布式数据系统跨多台机器复制和分区数据。复制通过在多台机器上分发数据副本来增加系统的资源和请求处理能力,而分区则跨机器分割数据以实现相同的目标。复制和分区在复制维护和多机协调成本方面存在不同的权衡,系统管理员必须仔细评估。传统上,管理员根据对应用程序工作负载的理解来做出复制和分区决策,如果系统配置错误或工作负载发生变化,则会导致性能不佳。然而,自适应地使用复制和分区的系统可以根据工作负载观察和预测来调整这些决策,从而提高性能并降低管理员的复杂性。...

2022-07-16 09:36:18 137

翻译 Workload-Aware Performance Tuning for Autonomous DBMSs

优化配置对于数据库管理系统(DBMS)实现高性能至关重要。由于每个工作负载具有不同的模式和不同的资源需求,因此没有适用于不同工作负载的通用配置。配置、工作负载和系统性能之间存在关系。如果配置无法适应工作负载的动态变化,则DBMS的整体性能可能会显著下降,除非经验丰富的管理员不断重新配置DBMS。在本教程中,我们重点介绍了自主的工作负载感知性能调优,它有望随着工作负载的变化自动、连续地调优配置。我们综述了三个研究方向,包括1)工作负载分类、2)工作负载预测和3)基于工作负载的调优。...

2022-07-15 23:23:11 252

翻译 Machine Learning for Cloud Data Systems: the Progress so far and the Path Forward

本教程的目标是在研究和实践中向观众介绍云数据系统ML的最新技术。本教程分为两部分进展和前进道路。第一部分介绍了最近在为云数据系统部署机器学习解决方案方面取得的成功。我们将讨论考虑到的实际因素以及在各个层面取得的进展。目的是将ML对系统的承诺与工业实际覆盖的领域进行比较和对比。最后,第二部分讨论了机器学习在企业中的实际问题,包括解释的生成、模型调试、模型部署、模型管理、对数据使用和匿名的限制,以及通过机器学习和企业中的模型而产生的技术债务。...

2022-07-15 21:32:47 158

翻译 Speedup Your Analytics: Automatic Parameter Tuning for Databases and Big Data Systems

论文地址幻灯片 Hadoop和Spark等数据库和大数据分析系统具有大量配置参数,用于控制内存分配、I/O优化、并行性和压缩。参数设置不当可能会导致性能显著下降和稳定性问题。然而,普通用户甚至专家管理员都很难理解和调整它们以实现良好的性能。在本教程中,我们回顾了数据库、Hadoop和Spark的现有自动参数调整方法,我们将其分为六类:基于规则、成本建模、基于仿真、实验驱动、机器学习和自适应调整。我们描述了不同自动参数调整算法的基础,并介绍了每种方法的优缺点。我们还重点介绍了真实世界的应用程序

2022-07-14 16:42:39 166

原创 《高质量读研:教你如何写论文、做科研》- 张军平

——陆汝铃——张军平 这里写下我自己在还未上研时读了张老师的书的一点感受。首先,我们要完成从大学生到研究生身份的转变,这意味着我们的学习方式需要进行改变。我们要从被动的学习转变为主动的学习,这一点与我而言是没有问题的,因为我自己认为我并不是很符合现如今大多数大学生的标准,大学的四年里我算的上是充分锻炼了我的自学能力以及能动的思想(仅局限于我感兴趣的方面)。然后我们就会面临选择导师以及研究方向的问题,这一点需要考虑的有很多,不过我认为最重要的是兴趣,而兴趣的产生是有多方面因素影响的,并且兴趣之花

2022-07-14 07:56:54 4033 3

翻译 AI Meets Database: AI4DB and DB4AI

数据库和人工智能可以相互受益。一方面,人工智能可以使数据库更加智能(AI4DB)。例如,传统的经验数据库优化技术(例如,成本估算、连接顺序选择、旋钮调整、索引和视图顾问)无法满足大规模数据库实例、各种应用程序和多样化用户的高性能要求,尤其是在云上。幸运的是,基于学习的技术可以缓解这个问题。另一方面,数据库技术可以优化人工智能模型(DB4AI)。例如,人工智能很难部署,因为它需要开发人员编写复杂的代码和训练复杂的模型。数据库技术可用于降低使用人工智能模型的复杂性,加速人工智能算法,并在数据库内提供人工智能能力

2022-07-08 18:40:36 2362

翻译 Make Your Database System Dream of Electric Sheep: Towards Self-Driving Operation

论文地址 众所周知,数据库管理系统(DBMS)难以部署和管理。自动驱动DBMS通过自动管理自身来消除这些干扰。尽管对DBMS自动调优进行了数十年的研究,但真正自主、自动驱动的DBMS尚未出现。但是最近在人工智能和机器学习(ML)方面的进展已经使这一目标接近。 有鉴于此,我们提出了一个实现自动驱动DBMS的系统实现论文。我们首先概述了NoisePage自驱动DBMS,该DBMS使用ML预测DBMS的行为并在没有人的支持或指导的情况下进行自我优化。该系统的架构有三个主要的基于ML

2022-07-08 12:03:37 223

翻译 Machine Learning for Databases

已经提出了机器学习技术来优化数据库。例如,传统的经验数据库优化技术(例如,成本估算、连接顺序选择、旋钮调整、索引和视图顾问)无法满足大规模数据库实例、各种应用程序和多样化用户的高性能要求,尤其是在云上。幸运的是,基于机器学习的技术可以通过明智地选择优化策略来缓解这个问题。在本教程中,我们将基于数据的任务分类为三个可以通过不同机器学习模型进行优化的典型问题,包括NP难问题(例如,旋钮空间探索、索引/视图选择、离线优化的分区键推荐;在线优化的查询重写、连接或排序选择),回归问题(例如,成本/基数估计、索引/视图

2022-07-06 20:47:15 388

翻译 From Auto-tuning One Size Fits All to Self-designed and Learned Data-intensive Systems

我们调查了设计能够适应数据和查询工作负载的数据系统、数据结构和算法的新机会。数据不断增长,硬件不断变化,新的应用程序出现得越来越频繁。一种规模并不适合所有人,但数据密集型应用程序希望平衡和控制云上的内存需求、读取成本、写入成本以及货币成本。这需要量身定制的数据系统、存储和计算解决方案,以满足当前场景的确切需求。此类系统应快速、几乎自动地“合成”,尽可能地将人类系统设计者和管理员从循环中移除,以跟上应用程序和工作负载的快速发展。此外,此类系统应“学习”过去和当前的系统性能和工作负载模式,以不断调整其设计。

2022-07-05 12:10:58 166

原创 Spark - 第15章 Spark如何在集群上运行

当实际运行Spark应用程序时,我们会从集群管理器那里请求资源来运行它。根据应用程序的配置,我们可能获得一个运行Spark驱动器的机器资源,或者可能获得的是我们Spark执行器的计算资源。在Spark应用程序执行过程中,集群管理器将负责管理执行应用程序的底层机器。 Spark目前支持三个集群管理器:一个简单的内置独立集群管理器。Apache Mesos和Hadoop YARN。但是,支持的集群管理器可能会越来越多,因此请务必查看集群管理器的文档以了解最新的更新,这会让你有机会使用你最喜欢的集

2022-07-01 23:31:49 1093

原创 Spark - 第13章 高级RDD

基于RDD的许多方法要求数据是key-value格式,这种方法都有形如ByKey的API名称,只要在方法名称中看到ByKey,就意味着只能以PairRDD类型执行此操作。最简单的方法就是将当前的RDD映射到基本的key-value结构,也就是说在RDD的每个记录中都有两个值。 也可以使用keyBy函数,它是根据当前value创建key的函数。 在有一组键值对之后,你可以开始对它们进行操作。如果我们有一个元组,Spark将假设第一个元素是key,第二...

2022-07-01 10:15:57 231

原创 Spark - 第12章 弹性分布式数据集

有两种低级API:一种用于处理分布式数据(RDD),零一种用于分发和处理分布式共享变量(广播变量和累加器) SparkContext是低级API函数库的入口,可以通过SparkSeesion来获取SparkContext,SparkSession是用于在Spark集群上执行计算的工作。 无论是DataFrame还是Dataset,运行的所有的Spark代码都将编译成一个RDD。 简单来说,RDD是一个只读不可变的且已分块的记录集合,并可以被并行处理。RDD与DataFrame不同

2022-06-30 09:12:56 431

原创 Spark - 第4章 结构化API概述

文章目录Spark的基本架构        介绍大致功能,Spark的核心术语和概念。包括集群计算的核心体系结构和Spark应用程序,并结合DataFrame和SQL介绍Spark结构化API。Spark的基本架构.........

2022-06-28 17:22:14 222

原创 Spark - 第3章 Spark工作集介绍

文章目录Spark的基本架构        介绍大致功能,Spark的核心术语和概念。包括集群计算的核心体系结构和Spark应用程序,并结合DataFrame和SQL介绍Spark结构化API。Spark的基本架构.........

2022-06-28 09:33:19 167

转载 Spark - Failed to locate the winutils binary in the hadoop binary path!!!

如果本机操作系统是 Windows,在程序中使用了 Hadoop 相关的东西,比如写入文件到HDFS,则会遇到如下异常:出现这个问题的原因,并不是程序的错误,而是 windows 系统用到了 hadoop 相关的服务,解决办法是通过配置关联到 windows 的系统依赖就可以了在 IDEA 中配置 Run Configuration,添加 HADOOP_HOME 变量前提:电脑已经安装了Hadoop环境,在Windows环境下需要导入winutils.exe和hadoop.dll到安装路径的bi

2022-06-27 11:09:13 397

原创 Spark - 权威指南

文章目录Apache Spark 开源集群计算框架第 I 部分 大数据与Spark概述第 II 部分 结构化API - DataFrame、SQL和Dataset第 III 部分 低级API第 IV 部分 生产与应用第 V 部分 流处理第 VI 部分 高级分析与机器学习第 VII 部分 生态系统Apache Spark 开源集群计算框架大数据技术和Spark概述通过实例学习DataFrame、SQL、Dataset等Spark的核心API了解Spark的低级API实现,包括RDD以及SQL和Dat

2022-06-25 11:58:25 844

翻译 Database Meets Deep Learning: Challenges and Opportunities

深度学习最近非常流行,因为它在许多复杂数据驱动的应用中取得了惊人的成功,包括图像分类和语音识别。数据库社区多年来一直致力于数据驱动的应用程序,因此应该在支持这一新浪潮方面发挥主导作用。然而,数据库和深度学习在技术和应用方面都有所不同。本文讨论了这两个领域交叉点的研究问题。特别是,我们从数据库的角度讨论了深度学习系统可能的改进,并分析了可能从深度学习技术中受益的数据库应用程序。 近年来,我们见证了许多基于数据驱动的机器学习应用程序的成功。这对数据库社区研究将机器学习技术集成到数据库系统和应用程序

2022-06-24 18:31:49 338

原创 TsinghuaDatabaseGroup - AIDB

根据我们过去的教程,不断更新AI4DB和DB4AI(ML4DB和DB4ML)论文和源代码。如果遗漏了任何重要论文,请通知我们。[Survey | AIDB] Xuanhe Zhou, Chengliang Chai, Guoliang Li, Ji Sun. Database Meets Artificial Intelligence: A Survey. TKDE, 2020. [paper][Survey | ML4DB] Wei Wang, Meihui Zhang, Gang Chen, et a

2022-06-24 10:14:06 325

翻译 Database Meets AI: A Survey

数据库和人工智能(AI)可以相互受益。一方面,人工智能可以使数据库更加智能化(AI4DB)。例如,传统的经验数据库优化技术(例如,成本估算、连接顺序选择、旋钮调整、索引和视图选择)无法满足大规模数据库实例、各种应用程序和多样化用户的高性能要求,尤其是在云上。幸运的是,基于学习的技术可以缓解这个问题。另一方面,数据库技术可以优化AI模型(DB4AI)。例如,人工智能很难在实际应用中部署,因为它需要开发人员编写复杂的代码和训练复杂的模型。数据库技术可用于降低使用AI模型的复杂性,加速AI算法,并在数据库中提供A

2022-06-24 09:50:48 1077

原创 DDIA - 第9章 一致性与共识

本章目标: 分布式环境如何达成一致性与共识。 本章我们将讨论构建容错式分布式系统的相关算法和协议。为了构建容错系统,最好先构建一套通用的抽象机制和与之对应的技术保证,这样只需实现一次,其上的各种应用程序都可以安全地信赖底层的保证。例如,抽象的事务机制可以屏蔽系统内很多复杂的问题,例如发生崩溃、边界条件、磁盘故障等,使得应用层轻松无忧。 现在继续沿着这个思路,尝试建立可以让分布式应用忽略内部各种问题的抽象机制。例如,分布式系统最重要的抽象之一就是共识:所有的节点就某一项提议达成一

2022-06-19 10:25:44 347

原创 DDIA - 第8章 分布式系统的挑战

本章目标: 分布式系统的更多细节。 所有可能出错的事情一定会出错。 关键在于,分布式系统与在单节点上的软件有着非常显著的区别,你会碰到五花八门、千奇百怪的问题所导致的各种故障。 本章对分布式系统可能出现的故障做了一个全面、近乎悲观的总结。故障可能来自网络问题,以及时钟与时序问题等,并讨论这些问题的可控程度。 单台节点上的软件通常不应该出现摸棱两可的现象(要么功能正常,要么完全失效) 然而当涉及多台节点时,情况发生了根本性变化。对于这种分布式系统,理想化的标准正确模型

2022-06-15 22:15:28 348 1

原创 DDIA - 第7章 事务

本章目标: 事务。 在一个苛刻的数据存储环境中,会有许多可能出错的情况。例如: 近十年来,事务技术一直是简化这些问题的首选机制。事务将应用程序的多个读、写操作捆绑在一起成为一个逻辑操作单元。即事务中的所有读写是一个执行的整体,整个事务要么成功(提交)、要么失败(中止或回滚)。如果失败,应用程序可以安全地重试。这样,由于不需要担心部分失败的情况(无论出于何种原因),应用层的错误处理就变得简单很多。 事务不是一个天然存在的东西,它是被人为创造出来,目的是简化应用层的编

2022-06-14 16:10:02 354

原创 DDIA - 第6章 数据分区

文章目录第6章 数据分区1 数据编码格式1.12 数据流模式小结信息是激发创新的力量        本章目标: 数据分区。第6章 数据分区        1 数据编码格式1.12 数据流模式小结.........

2022-06-05 18:34:44 289

原创 DDIA - 第5章 数据复制

文章目录第5章 数据复制1 数据编码格式1.12 数据流模式小结信息是激发创新的力量        本章目标: 数据编码(序列化)方面,包括常见模式的演化历程。第5章 数据复制        1 数据编码格式1.12 数据流模式小结.........

2022-06-04 10:43:40 258

原创 DDIA - 第4章 数据编码与演化

文章目录第4章 数据编码与演化1 数据编码格式2 数据流模式小结信息是激发创新的力量        本章目标: 数据编码(序列化)方面,包括常见模式的演化历程。第4章 数据编码与演化1 数据编码格式2 数据流模式小结...

2022-05-29 17:00:19 188

原创 DDIA - 第3章 数据存储与检索

文章目录第3章 数据存储与检索1 数据库核心:数据结构2 事务处理与分析处理3 列式存储小结信息是激发创新的力量        本章目标: 针对存储引擎,即数据库是如何安排磁盘结构从而提高检索效率。第3章 数据存储与检索1 数据库核心:数据结构2 事务处理与分析处理3 列式存储小结...

2022-05-25 16:37:27 290

原创 Spark - 第2章 浅析Spark

文章目录Spark的基本架构        介绍大致功能,Spark的核心术语和概念。包括集群计算的核心体系结构和Spark应用程序,并结合DataFrame和SQL介绍Spark结构化API。Spark的基本架构......

2022-05-14 12:05:40 187

原创 Spark - 第1章 Spark是什么?

文章目录Apache Spark的设计哲学背景:大数据问题Spark的历史Spark的现状和未来运行Spark本地下载下载Hadoop集群的Spark从源代码构建Spark启动Spark交互式控制台启动Python控制台启动Scala控制台启动SQL控制台        Apache Spark是一个在集群上运行的统一计算引擎以及一组并行数据处理软件库。Apache Spark的设计哲学   

2022-05-13 21:12:08 438

asmpatch.zip

本资源配合masm32汇编编程环境,内含辅助软件包,由于masm32内置编辑器不完善,我们这里提供notepad2编辑器,最重要的是ollydbg调试器,方便查看程序状态。

2020-05-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除