首页 文章 精选 留言 我的

精选列表

搜索[HTTP/3],共10000篇文章
优秀的个人博客,低调大师

大数据OLAP系统(3) OLTP和OLAP的区别

OLTP和OLAP的区别 OLTP(on-line transaction processing)翻译为联机事务处理, 或者在线交易处理系统 OLAP(On-Line Analytical Processing)翻译为联机分析处理,或者在线分析系统 从字面上来看OLTP是做事务处理,OLAP是做分析处理。从对数据库操作来看,OLTP主要是对数据的增删改,OLAP是对数据的查询。 区别: OLTP主要用来记录某类业务事件的发生,如购买行为,当行为产生后,系统会记录是谁在何时何地做了何事,这样的一行(或多行)数据会以增删改的方式在数据库中进行数据的更新处理操作,要求实时性高、稳定性强、确保数据及时更新成功,像公司常见的业务系统如ERP,CRM,OA等系统都属于OLTP。 当数据积累到一定的程度,我们需要对过去发生的事情做一个总结分析时,就需要把过去一段时间内产生的数据拿出来进行统计分析,从中获取我们想要的信息,为公司做决策提供支持,这时候就是在做OLAP了 因为OLTP所产生的业务数据分散在不同的业务系统中,而OLAP往往需要将不同的业务数据集中到一起进行统一综合的分析,这时候就需要根据业务分析需求做对应的数据清洗后存储在数据仓库中,然后由数据仓库来统一提供OLAP分析。所以我们常说OLTP是数据库的应用,OLAP是数据仓库的应用,下面用一张图来简要对比。 多维分析中的常用操作: 下面介绍数据立方体中最常见的五大操作:切片,切块,旋转,上卷,下钻。 下钻(Drill-down):在维的不同层次间的变化,从上层降到下一层,或者说是将汇总数据拆分到更细节的数据,比如通过对2010年第二季度的总销售数据进行钻取来查看2010年第二季度4、5、6每个月的消费数据,如上图;当然也可以钻取浙江省来查看杭州市、宁波市、温州市……这些城市的销售数据。 上卷(Roll-up):钻取的逆操作,即从细粒度数据向高层的聚合,如将江苏省、上海市和浙江省的销售数据进行汇总来查看江浙沪地区的销售数据,如上图。 切片(Slice):选择维中特定的值进行分析,比如只选择电子产品的销售数据,或者2010年第二季度的数据。 切块(Dice):选择维中特定区间的数据或者某批特定值进行分析,比如选择2010年第一季度到2010年第二季度的销售数据,或者是电子产品和日用品的销售数据。 旋转(Pivot):即维的位置的互换,就像是二维表的行列转换,如图中通过旋转实现产品维和地域维的互换。 在调研了市面上主流的开源OLAP引擎后发现,目前还没有一个系统能够满足各种场景的查询需求。其本质原因是,没有一个系统能同时在数据量、性能、和灵活性三个方面做到完美,每个系统在设计时都需要在这三者间做出取舍。 MPP架构的系统(Presto/Impala/SparkSQL/Drill等)有很好的数据量和灵活性支持,但是对响应时间是没有保证的。当数据量和计算复杂度增加后,响应时间会变慢,从秒级到分钟级,甚至小时级都有可能。 MPP即大规模并行处理(Massively Parallel Processor )。 在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据 库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。 缺点:性能不稳定 搜索引擎架构的系统(Elasticsearch等)相对比MPP系统,在入库时将数据转换为倒排索引,采用Scatter-Gather计算模型,牺牲了灵活性换取很好的性能,在搜索类查询上能做到亚秒级响应。但是对于扫描聚合为主的查询,随着处理数据量的增加,响应时间也会退化到分钟级。 缺点:性能不稳定 预计算系统(Druid/Kylin等)则在入库时对数据进行预聚合,进一步牺牲灵活性换取性能,以实现对超大数据集的秒级响应。 缺点:不太灵活 MPP和搜索引擎系统无法满足超大数据集下的性能要求,因此很自然地会考虑预计算系统。而Druid主要面向的是实时Timeseries数据,我们虽然也有类似的场景,但主流的分析还是面向数仓中按天生产的结构化表,因此Kylin的MOLAP Cube方案是最适合作为大数据量的引擎。

优秀的个人博客,低调大师

A3Mall v1.3 发布,新增物流查询

本次版本新增了物流查询功能,支持在后台查看订单物流信息,用户可在订单详情页查看物流状态,并且对H5页面进行了部分修改。 【新增】新增物流查询功能 【新增】新增退款日志 【修复】订单详情地区显示错误 【修复】发货单地区显示错误 【修复】修复在公众号内自动登录时,地址跳转错误问题 【修复】修复注册时验证码错误问题 【修复】修复订单详情页支付失败问题 【修改】完善商品详情页评价功能 【修改】修改商品列表布局 【修改】修改团购列表布局 【修改】修改秒杀列表布局 【修改】修改积分列表布局 【修改】修改h5订单确认页,下单失败后跳转到提示页 【修改】去除收货地址三级联动海外地址

优秀的个人博客,低调大师

3个有关容器和Kubernetes的成功转型案例

各行各业的公司都在推动将数据和工作负载转移到云上,无论是作为数字化转型的一部分,还是为了避免为应对日益增长的需求而建造的成本高昂的新基础设施。 对于许多组织来说,这一转变的关键是容器和Kubernetes--尤其是当涉及到多个云服务时的时候。 容器是独立的软件包,它能够将应用程序的所有代码和依赖项捆绑在一起,以确保无论其计算环境如何,应用程序都能可靠地运行。因此,容器促进了应用程序从例如开发人员的笔记本电脑到测试环境的移动,从测试环境移动到生产环境,或者从数据中心的物理机器移动到私有云或公共云中的虚拟机。 但是,尽管容器简化了环境之间的工作负载转移,但它们仍然需要被维护。这就是Kubernetes的用武之地。Kubernetes是一个开源的容器编排系统,旨在自动化容器化应用程序的部署、扩展和管理。Kubernetes最初是由谷歌开发的,目前由云原生计算基金会进行维护。 人们发现了容器和Kubernetes是在多云或混合云环境中实现工作负载可移植性的一个强大组合。而下面则是三个实际应用的技术示例。 Expedia集团:提升在线旅游体验 在线旅游服务提供商Expedia集团于2013年开始使用Amazon Web services(AWS)的微服务架构和公共云服务。但该公司是在2015年通过Amazon EC2 Container Service (ECS)来部署容器,以运行这些微服务,并能够在AWS云环境中运行应用程序时,才加快了它的使用速度。 部署这些技术的主要业务和技术驱动因素包括了跨多个环境的应用程序的更大可移植性,以及新产品和服务推向市场的更快速度。 “随着容器在几秒钟内就能开始运转,我们向客户交付新功能所需的时间大大缩短了,因而能够加快产品推向市场的速度,”Expedia Group旗下的Vrbo公司的杰出工程师Kuldeep Chowhan说,该公司正在为旅客提供住宿服务。 容器在工作环境之间的可移植性和容器的部署速度加快了公司向微服务的转变,Chowhan说。如今,有数以千计的应用程序在多个AWS云区域的ECS上运行,这使得Expedia能够为旅行者和合作伙伴提供更强大的服务,他说。 2015年,Vrbo采用了Apache Mesos,这是一个管理计算机集群的开源平台,可以跨本地数据中心和AWS云环境来运行容器的工作负载。这使得Vrbo的开发人员能够在两种环境中运行相同的工作负载,从而加速了从Expedia的内部数据中心到云的迁移,Chowhan说。 Expedia还利用了Kubernetes的强大功能,因为该技术在近年来越来越受到欢迎了。Chowhan表示,该公司旗下的Hotels.com目前在AWS云上的Kubernetes上运行着数百个应用程序,帮助为客户提供酒店预订等服务。 在亚马逊于2019年推出弹性Kubernetes服务(EKS)之后,Expedia集团的许多团队,包括数据科学、在线体验、流媒体,以及其他的一些团队,也开始利用它来运行容器工作负载了。 “长期来看,Expedia正计划朝着满足容器运行时和编排需求的方向发展,”Chowhan说。 Expedia集团向微服务体系结构和容器的转型为该公司在快速推出新服务方面提供了显著的优势。在过去,开发新应用程序往往需要几个月的时间,而现在,它每天都能开发大量的新功能。 “通过我们对应用程序架构和DevOps实践进行的现代化的投资,我们看到交付给客户的功能又增加了一个数量级,”Chowhan说。“Vrbo品牌在过去三年里的发布速度增长了12倍。” 由于容器的可移植性,Expedia的应用程序可以在多个AWS区域以分布式的方式运行,从而提供了高可用性,这样全球的客户都可以使用Expedia的旅游网站,而不会受到任何影响了。 Chowhan说,容器还支持进行“有针对性的扩展”。“早些时候,当我们有一个整体的应用程序时,我们将不得不扩展整个基础设施来支持额外的流量,”他表示。“而有了容器和微服务,现在我们将能够更智能地扩展我们网站中有更高客户需求的特定部分--并实现基础设施成本的节约了。” 但容器仍然需要一些基础设施管理,Chowhan说:“为了能够部署和运行容器,您需要一个容器运行时和编排平台。与任何软件解决方案一样,也会需要发布更新,这些更新需要部署到运行容器平台的现有服务器之上。” 围绕容器和微服务的开发过程是不断发展的,从源代码到运行时,Chowhan说。“我们必须进行重组,以适应我们整个旅游平台的新生态系统,同时还要培训我们的工程师,让他们了解容器生态系统的演变,”他说。 Primerica:确保高质量、现代化的代码 Finserv和保险公司Primerica已经创建了一个新的Kubernetes环境,用来帮助IBM在Nutanix硬件上的私有云产品中扩展应用程序。Docker的容器也帮助Primerica提供了一个环境之间的应用程序一致性。 “这是我们从传统技术栈向现代混合云迁移的关键战略组成部分,”公司首席技术官兼应用程序开发和交付执行副总裁Barry Pellas说。 “这种环境使我们能够继续看到我们几十年来的持续以一种新的、现代的方式开发应用程序的价值,”Pellas说。“它还在我们的API(应用程序编程接口)和微服务战略中扮演着关键角色”,因为它促进了我们向业务应用程序交付新功能,他说。 容器和Kubernetes的组合使Primerica不仅能够托管应用程序,而且能够监视它们并在容器发生任何情况时快速恢复。 “我们提供了端到端的基础设施即代码,这使我们能够始终如一地构建可预测的环境,并消除人为错误的可能性,”Pellas说。“我们的持续集成和交付能力确保了产品团队能够随时掌握最新的更改,他们可以自信地认为环境和应用程序的验证已经作为部署过程本身的一部分被完成了。” 使用容器和Kubernetes的主要目的是为团队提供一个更快交付应用程序的机会,从而提高应用程序的质量,Pellas说。它们还提供了一个安全、稳定的工作环境,并在高可用时间内提供了可伸缩性。 “我们还希望获得各种环境之间的可预测性和一致性,以帮助进行调试和解决问题,”Pellas说。 虽然Primerica最近才开始利用容器和Kubernetes,但它已经看到了团队生产率的提高,以及为用户开发的新功能,这些功能可以以增量的、敏捷的方式进行交付。 “通过在开发过程的早期捕获问题,我们将能够提供更安全、更可预测的应用程序,”Pellas说。“随着我们将越来越多的应用程序迁移到了平台上,我们希望这可以提高我们的应用程序质量,并在整个产品团队中带来一致的开发体验。” 与任何技术一样,对于希望采用容器和Kubernetes的组织来说,都会有一个学习曲线。“让拥有正确技能的团队在环境中得到适当的发展是很有挑战性的,”Pellas说。 Primerica正在通过向其产品团队提供培训,并为商业领袖提供最佳实践来应对这些挑战。 克莱姆森大学:争夺大量的计算资源 克莱姆森大学遗传与生物化学系的Feltus实验室是一个由遗传学家、计算机科学家、计算机工程师和生物工程师组成的跨学科团队,他们将软件工程和计算生物学技术相结合,试图在人类和植物生物系统中做出有用的分子发现。 该实验室使用了生物信息学、统计学和数据科学方法来发现新的模式,系教授Alex Feltus说。“我们分析的生物数据集在万亿到千兆位的范围内,我们设计了优化了的数据密集型计算工作流,使的数据能够适合于各种不同的计算平台”,也包括一些商业云提供商的计算平台。 近年来,实验室一直致力于Kubernetes系统上运行的工作流开发工作。“我们相信Kubernetes将在未来的许多年内成为数据密集型计算的通用标准平台,这将使得我们能够将软件工程的努力集中在一个架构上面,”Feltus说。 Feltus说,生物数据库正在呈几何级数的规模增长,我们可以挖掘数据集,从生物学角度深入了解一些最大的医疗和粮食安全挑战。“即使是小型的生物实验室也经常需要大量的计算资源。,”他说。“研究人员很快就会想要提出千兆级别的生物学问题,这将会需要访问目前商业云中的大型计算机。而Kubernetes集群是进行大规模计算的优秀平台。” 在完全转向云计算之前,“生物学研究人员需要民主化的、免信贷的云沙箱,在那里人们可以大规模地设计和测试工作流,”Feltus说。“这些沙盒是至关重要的,因为90%的科学实验都会走向死胡同,这会导致在发现问题之前就耗尽了云信贷的预算。” Feltus实验室正在与许多其他的研究团队合作,尝试将可扩展的资源融合到本地和云服务当中,而Kubernetes和容器将发挥巨大的作用。 “Kubernetes和容器是计算生物学工作流工程的首选平台,”Feltus说。“这些系统让我的学生绕过了许多难以捉摸的HPC(高性能计算)环境配置。” 该实验室已经部署了Cisco的容器平台,它可以帮助团队在一个平台下管理来自不同云提供商的多个集群。 一旦实验室在Kubernetes集群中测试了它的工作流,它就可以在多个商业云中运行容器化的工作流。“这将简化最终用户的培训,让用户能够专注于科学本身,”Feltus说。 【责任编辑: 赵宁宁 TEL:(010)68476606】

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

用户登录
用户注册