Apache Aries

数据库恢复子系统的常见技术和方案对比(一)

て烟熏妆下的殇ゞ 提交于 2021-02-07 12:21:38
作者:实验室小陈/大数据开放实验室 对于事务型数据库而言,最关键的功能是要保证事物ACID属性,其中原子性和持久性依靠恢复子系统保证。事务在进行中如果发现无法继续,就需要用恢复子系统进行回滚;或者出现系统崩溃,也需要依靠恢复子系统把数据库恢复到崩溃前状态。在本专栏中,我们主要介绍Logging Protocols / Recovery Algorithms,它们分别是事务型数据库恢复子系统中的两个关键部分。 — Logging Schemes— 恢复子系统中的关键是恢复算法,目的是要实现两个过程。首先是事务执行过程中为系统恢复做的准备工作,目前大多数系统通常采用日志记录方式,尽管事务执行过程中同时记录数据更新日志会有额外开销,但如果没有日志,一旦系统崩溃则无法实现系统恢复和未完成事务的回滚。此外,还有Shadow Paging方案,即数据每次修改都通过Copy-on-Write的方式进行。在更新数据时,复制一份原数据的副本并在副本上进行更新,最后通过用副本替换原始数据的方式完成操作。Shadow Paging方案开销较大,一般用在更新不频繁的场景下,如文本编辑器等类似场景,因此事务型数据库系统里大都采用基于日志的方案。第二个过程是在出现系统故障或事务回滚的情况时,如何利用系统记录的日志信息并采用合适策略来保证数据库能够恢复到正确状态。 Physical Logging &

跟我学Springboot开发后端管理系统1:概述

老子叫甜甜 提交于 2020-08-12 14:06:50
前言 Matrxi-Web是一个前后端分离的管理系统,前端采用vue开发框架,后端使用springboot开发框架,具体快速开发、简单可复用的特点。只要把整体框架搭建起来了,后面就只用写CRUD了。 Matrxi-Web具备基本的管理系统的基本功能,后端CRUD代码只需要配置好数据库,便可一键生成。 使用教程 跟我学Spring Boot开发管理系统1:后端整体技术架构 目录 本项目一共有三个模块: matrix-web-backend 后端代码模块 matrix-web-admin 前端代码模块 matrix-gen-code 后端代码生成模块 使用的技术栈 后端模块 Web框架:Spring Boot 2.0.3 数据库ORM:Mybatis-Plus 数据库读写分离:Sharding-JDBC 数据库连接池:支持Druid、也支持Hikari 缓存:Caffeine 权限控制:AOP+注解 日志输出:AOP+logback+MDC 任务调度:Quartz 工作流:activiti5.22.0,设计页面放在前端模块。、 API管理:Swagger 前端模块 前端框架:Vue 网络框架:axios 组件:element-ui 路由:vue-router cookie技术:js-cookie 代码生产模块 生产代码:Mybatis-Plus自带的代码生成 包含的功能 Matrix

如何把pyecharts的炫酷延续到PPT里!?

狂风中的少年 提交于 2020-04-16 14:57:14
【推荐阅读】微服务还能火多久?>>> 大家好,我是小z 这几天,群里有些小伙伴被一个奇怪的需求困住: “pyecharts作图既炫酷,又交互。但是,这个炫酷的效果往往只存在于分析师自己的编辑器中,充其量也就是生成一个html文件来嗨一嗨, 有没有什么办法能够嵌入PPT呢? ” “为什么想要嵌入PPT呢?”我有点疑惑。 “对于分析师来说,PPT才是和业务沟通的主战场,当然了,更是装X的主战场。有时候,一张炫酷的图,能让会议室所有的人喊一声牛X!” “有啊!截图放进去呗~”机智如我。 “没有交互功能的pyecharts,是没有灵魂的!” ..... 于是我搜罗了一圈,结果发现,关于如何实现这个需求的内容,要么语焉不详,要么极其麻烦,要么已经过时完全不兼容。 最后,我找到了一个目前相对简便的方法,分享给大家。 这句话有强烈的潜台词:此乃抛砖引玉,旁友们,苟有方法,勿相忘! 这个方法的逻辑其实非常简单,可以说是一道小学应用题: 已知,pyecharts绘制的图形可以保存为html格式,通过网页打开,也能查看html源代码 又已知,有一款ppt插件,可以编辑html文本代码,最终生成对应的可视化效果 求:如何让pyecharts图在ppt中出现? 答:先用pyecharts画图生成html文件,然后查看源代码,把相关的源代码复制到那个PPT插件中,点击运行即可。

超算简史与下一代超级计算机

与世无争的帅哥 提交于 2020-01-09 10:32:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 什么是超级计算机 上图为超算界2012年世界冠军“泰坦”(Titan),它有一万多个兄弟,每个兄弟都是当时最强的CPU,再配上GPU、高速网络等高精尖武器,运算速度达到20+ PFLOPS。“泰坦”占地面积与标准篮球场相当,消耗的电力足以供应一个小型城镇;普通电脑放在背包里带走,超级计算机要专门建一栋楼来放置。 “超级计算(Supercomputing)”这一名词在1929年《纽约世界报》关于“IBM为哥伦比亚大学建造大型报表机(tabulator)的报道”中首次出现。超级计算机是一种由数百、数千甚至更多的处理器(机)组成的,能计算普通PC机和服务器不能完成的大型、复杂课题的计算机。 超级计算机是计算机中功能最强、运算速度最快、存储容量最大的一类计算机;多用于国家高科技领域和尖端技术研究,对国家安全,经济和社会发展具有举足轻重的意义;也是国家科技发展水平和综合国力的重要标志。 超算简史 1960年代前 60年代及之前,可以看成是超级计算机的蛮荒时代,有IBM、DEC、GE等众多玩家。 其中IBM的各种牛,各种首创,不一一细表。我认为对广大程序员影响最大的还是FORTRAN的发明,它是影响了计算机历史,影响了编程语言的发展,并且如今仍在科学计算领域仍然被广泛使用。刚毕业时,我还在物探局编写