![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
架构师成长营
这个作者很懒,什么都没留下…
展开
-
Greenplum介绍
一、Greenplum的发展历史Greenplum的发展可以分为下面6个阶段:图 1 Greenplum时间线Postgres关系型数据库。Postgres是UC Berkeley开发的关系型数据库,现已更名为PostgreSQL。PostgerSQL官网介绍自己是最先进的数据库,有强大的SQL支持能力,扩展性好,并且支持空间扩展。通过空间数据引擎PostGIS的支持可以存储...转载 2020-04-20 12:04:37 · 290 阅读 · 0 评论 -
Postgresql主从配置
一、简介PostgreSql在9.0之后引入了主从的流复制机制,所谓流复制,就是从服务器通过tcp流从主服务器中同步相应的数据。这样当主服务器数据丢失时从服务器中仍有备份。与基于文件日志传送相比,流复制允许保持从服务器更新。 从服务器连接主服务器,其产生的流WAL记录到从服务器, 而不需要等待主服务器写完WAL文件(关于Wal可以看看官方的说法https://www.postgres...转载 2020-03-15 14:08:36 · 643 阅读 · 0 评论 -
Postgresql_根据执行计划优化SQL
执行计划路径选择postgresql查询规划过程中,查询请求的不同执行方案是通过建立不同的路径来表达的,在生成许多符合条件的路径之后,要从中选择出代价最小的路径,把它转化为一个计划,传递给执行器执行,规划器的核心工作就是生成多条路径,然后从中找出最优的那一条。代价评估评估路径优劣的依据是用系统表pg_statistic中的统计信息估算出来的不同路径的代价(cost),PostgreSQ...转载 2019-08-20 17:46:05 · 542 阅读 · 0 评论 -
关于数据库不适合docker的原因
所有的服务都开始了容器化升级,在一切皆容器的主流思想下,无状态的服务采用容器化已经是大势所趋,常常困扰架构师的一个问题是,数据库是否需要容器化? 数据库不适合容器化的七大原因 1. 数据不安全 即使你要把 Docker 数据放在主机来存储 ,它依然不能保证不丢数据。 Docker volumes 的设计围绕 Union FS 镜像层提供持久存储,但它仍然缺乏保证。 ...转载 2019-08-08 15:19:09 · 2050 阅读 · 0 评论 -
Spring Cloud的分布式事务框架压测第一轮
前言分布式事务对微服务开发者而言是既想努力避免又无法完全回避的蛋疼问题。通过使用分布式事务处理框架可以很大程度上解决分布式事务所带来的事务性能、可靠性问题,以及引入的编码复杂性。本文由海信HICS技术团队压测提供,目前国内主要的开源分布式事务框架框架包括:框架名称 GitHub地址 star数量 社区开源项目dts https://github.com/venuste...转载 2019-07-31 09:24:21 · 569 阅读 · 0 评论 -
什么样的存储引擎 让Oracle数据库性能100%增长
摘要:数据正进一步凸显其价值,越来越多企业开始意识到数据对业务的强大驱动力,希望收集更多数据并利用新的数据分析技术释放其中的价值,这需要企业IT提供更好的支撑,但传统基于IOE(即以IBM小机、Oracle数据库和EMC存储为代表的关键业务系统架构)方式构建的企业数据中心已经很难适应数字化时代对IT的要... 来源:E企研究院数据正进一步凸显其价值,越来越多企业开始意识到数据对业务的强大...转载 2019-07-21 21:44:38 · 1117 阅读 · 0 评论 -
我是如何在SQLServer中处理每天四亿三千万记录的
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务。项目背景这是给某数据中心做的一个项目,项目难度之大令人发指,这个项目真正的让我感觉到了,商场如战场,而我只是其中的一个小兵,太多的战术,太多的高层之间的较量,太多的内幕了。具体这个项目的情况,...转载 2019-07-30 18:58:16 · 141 阅读 · 0 评论 -
PostgreSQL复制和备份的3种方法
PostgreSQL数据库遵循简单的复制模型。在此模型中,所有写入都将转到主节点。然后,主节点在本地应用这些更改并将它们传播到辅助节点。在Postgres的上下文中,内置复制(称为“流复制”)带来了一些挑战:Postgres复制没有内置监视和故障转移。当主节点发生故障时,您需要将辅助节点提升为新的主节点。此促销需要以客户端仅写入一个主节点的方式进行,并且不会观察到数据不一致。 许多Pos...转载 2019-08-02 18:17:57 · 2404 阅读 · 0 评论 -
PostgreSQL (PG) 高效分区表实现 - pg_pathman(2)
13. 永久禁止分区表pg_pathman插件你可以针对单个分区主表禁用pg_pathman。接口函数如下 disable_pathman_for(relation TEXT) Permanently disable pg_pathman partitioning mechanism for the specified parent table and rem...转载 2019-07-17 16:44:54 · 655 阅读 · 0 评论 -
PostgreSQL (PG) 高效分区表实现 - pg_pathman(1)
PG分区在数据应用中十分广泛。背景目前PostgreSQL社区版本的分区表功能比较弱,需要通过继承和触发器或RULE来实现分区表的功能,由于查询和更新涉及约束的检查、插入则涉及触发器或规则重写,导致分区功能性能较差。商业版本EDB,以及数据仓库Greenplum都有比较好的分区支持。去年GP开源后,阿里云RDS PostgreSQL的小伙伴将Greenplum的分区表功能por...转载 2019-07-17 16:43:56 · 2306 阅读 · 0 评论 -
Mapper 接口大全
Mapper3接口有两种形式,一种是提供了一个方法的接口。还有一种是不提供方法,但是继承了多个单方法的接口,一般是某类方法的集合。例如SelectMapper<T>是一个单方法的接口,BaseSelectMapper<T>是一个继承了4个基础查询方法的接口。基础接口Select接口:SelectMapper<T>方法:List<T>...转载 2019-05-14 16:34:30 · 707 阅读 · 0 评论 -
PGPool-II+PG流复制实现HA主备切换
基于PG的流复制能实现热备切换,但是是要手动建立触发文件实现,对于一些HA场景来说,需要当主机down了后,备机自动切换,经查询资料知道pgpool-II可以实现这种功能。本文基于PG流复制基础上 ,以pgpool-II实现主备切换。在配置pgpool之前需分别在两台规划机上安装好pg数据库,且配置好了流复制环境,关于流复制配置参考前文:http://www.jianshu.com/p/12bc9...转载 2019-08-08 22:30:05 · 1338 阅读 · 0 评论 -
psql 工具详细使用介绍
psql 介绍 psql 是 PostgreSQL 中的一个命令行交互式客户端工具,它允许你交互地键入 SQL 命令,然后把它们发送给 PostgreSQL 服务器,再显示 SQL 或命令的结果。输入的内容允许来自一个文件,此外它还提供了一些元命令和多种类似 shell 的特性来实现书写脚本,以及对大量任务的自动化工作。特性:方便快捷、没有图形化工具使用上的一些限制...转载 2019-08-10 22:05:21 · 917 阅读 · 0 评论 -
postgresql 性能优化
一个优化的SQL:SELECT order_date, order_source, SUM(commodity_num) num, SUM(actual_charge) charge FROM ( SELECT to_char(oc.create_date, 'yyyyMMdd') AS order_date, ...转载 2019-09-19 21:50:04 · 3072 阅读 · 0 评论 -
PostgreSQL之性能优化
解决问题前言PostgreSQL的配置参数作为性能调优的一部分,起着重要的位置。有时候一个简单的配置参数就会觉得应用的性能。因此有必要简单了解下其相关的配置参数。查询Linux服务器配置在进行性能调优之前,需要清楚知道服务器的配置信息,比如说 CPU,内存,服务器版本等信息。查询系统版本信息root@ubuntu160:~# lsb_release -aNo LSB mo...转载 2019-09-19 16:56:25 · 1950 阅读 · 0 评论 -
mybatis一级缓存二级缓存
一级缓存 Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没有超时的情况...转载 2019-08-26 19:30:09 · 102 阅读 · 0 评论 -
pgpool-II 入门教程
欢迎阅读 pgpool-II 入门教程。从本教程中,你将学会如何安装,设置 pgpool-II 以及使用 pgpool-II 运行并行查询和复制。我们假设你已经知道PostgreSQL的基础操作,所以如果有必要,请先参考 PostgreSQL 的文档。目录1.让我们开始吧!1.1.安装 pgpool-II1.2.配置文件1.3.配置 PCP 命令1.4.准备数据库...转载 2019-08-16 14:39:47 · 832 阅读 · 0 评论 -
PostgreSql的Explain命令详解
使用EXPLAINPostgreSQL为每个收到的查询设计一个查询规划。选择正确的匹配查询结构和数据属性的规划对执行效率是至关重要要的,所以系统包含一个复杂的规划器来试图选择好的规划。你可以使用EXPLAIN命令查看查询规划器创建的任何查询。阅读查询规划是一门艺术,需要掌握一定的经验,本节试图涵盖一些基础知识。以下的例子来自PostgreSQL 9.3开发版。EXPLAIN基础查询...转载 2019-08-20 17:50:55 · 2731 阅读 · 0 评论 -
Postgresql数据库执行计划统计信息简述
转载自:http://blog.itpub.net/29487349/viewspace-2375486/ --添加analyze实际执行来获得执行计划,可不加 explainanalyzeselect*fromtest_table; --只看执行路径,不看cost explain(costsfalse)select*fromtest_tab...转载 2019-08-20 17:49:24 · 323 阅读 · 0 评论 -
PostgreSQL执行计划
转载自:https://blog.csdn.net/JAVA528416037/article/details/91998019简介PostgreSQL是“世界上最先进的开源关系型数据库”。因为出现较晚,所以客户人群基数较MySQL少,但是发展势头很猛,最大优势是完全开源。MySQL是“世界上最流行的开源关系型数据库”。当前客户基数大,随着被Oracle收购,开源程度减小,尤其是近期单...转载 2019-08-20 17:47:57 · 378 阅读 · 0 评论 -
Apache Kylin 入门 2 - 原理与架构
Apache Kylin 入门系列目录Apache Kylin 入门 1 - 基本概念 Apache Kylin 入门 2 - 原理与架构 Apache Kylin 入门 3 - 安装配置参数详解 Apache Kylin 入门 4 - 构建 Model Apache Kylin 入门 5 - 构建 Cube工作原理简单来说,Kylin 的核心思想是预计算(利用空间换时间),即对...转载 2019-04-29 19:06:53 · 156 阅读 · 0 评论 -
Kylin工作原理、体系架构
核心思想:预计算。 对多维分析可能用到的度量进行预计算,将计算好的结果保存成Cube,并存在HBase中,供查询时直接访问 将高复杂度的聚合运算、多表连接……操作转换成对预计算结果的查询。决定了Kylin拥有很好的快速查询、高并发能力 理论基础:空间换时间Cuboid:Kylin中将维度任意组合成为一个CuboidCube:Kylin中将所有维度组合成为一个Cube...转载 2019-04-29 18:54:21 · 411 阅读 · 0 评论 -
DB、ETL、DW、OLAP、DM、BI关系结构
在此大概用口水话简单叙述一下他们几个概念:(1)DB/Database/数据库——这里一般指的就是OLTP数据库,在线事物数据库,用来支持生产的,比如超市的买卖系统。DB保留的是数据信息的最新状态,只有一个状态!比如,每天早上起床洗脸照镜子,看到的就是当时的状态,至于之前的每天的状态,不会出现的你的眼前,这个眼前就是db。(2)DW/Data Warehouse/数据仓库——这里保存的是...转载 2019-04-28 23:08:55 · 181 阅读 · 0 评论 -
分布式系统事务一致性解决方案
开篇在OLTP系统领域,我们在很多业务场景下都会面临事务一致性方面的需求,例如最经典的Bob给Smith转账的案例。传统的企业开发,系统往往是以单体应用形式存在的,也没有横跨多个数据库。我们通常只需借助开发平台中特有数据访问技术和框架(例如Spring、JDBC、ADO.NET),结合关系型数据库自带的事务管理机制来实现事务性的需求。关系型数据库通常具有ACID特性:原子性(Atomicity...转载 2019-01-02 20:21:07 · 122 阅读 · 0 评论 -
微服务--分布式事务的实现方法及替代方案
微服务–分布式事务的实现方法及替代方案这两天正在研究微服务架构中分布式事务的处理方案, 做一个小小的总结, 作为备忘. 如有错误, 欢迎指正!概念澄清事务补偿机制: 在事务链中的任何一个正向事务操作, 都必须存在一个完全符合回滚规则的可逆事务.CAP理论: CAP(Consistency, Availability, Partition Tolerance), 阐述了一个分布式系统的三个...转载 2019-01-02 20:15:16 · 254 阅读 · 0 评论 -
mysql 主从复制和读写分离的应用层实现
前期项目上用到了mysql的主从复制和读写分离功能,实现的方式有两种,分别是应用层实现和中间插件实现,前期使用中间件(变形虫插件)实现了数据库的主从复制和读写分离,具体实现参考这篇博文,博文地址http://itindex.net/detail/55411-spring。 1. 使用 背景 我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思...转载 2019-01-02 19:57:45 · 403 阅读 · 0 评论 -
整体介绍分布式事务
分布式事务之一:整体介绍分布式事务场景如何设计系统架构及解决数据一致性问题,个人理解最终方案把握以下原则就可以了,那就是:大事务=小事务(原子事务)+异步(消息通知),解决分布式事务的最好办法其实就是不考虑分布式事务,将一个大的业务进行拆分,整个大的业务流程,转化成若干个小的业务流程,然后通过设计补偿流程从而考虑最终一致性。一、基本概念原则真正重要的是满足业务需求,而不是追求抽...转载 2019-01-05 18:10:51 · 178 阅读 · 0 评论 -
支付宝运营架构中柔性事务指的是什么?
在支付宝架构与技术中对柔性事务有大致的描述:可以看出,柔性事务(遵循BASE理论)是指相对于ACID刚性事务而言的。支付宝所说的柔性事务分为:两阶段型、补偿型、异步确保型、最大努力通知型几种。由于支付宝整个架构是SOA架构,因此传统单机环境下数据库的ACID事务满足了分布式环境下的业务需要,以上几种事务类似就是针对分布式环境下业务需要设定的。其中:1、两阶段型:就是...转载 2019-01-04 19:05:52 · 171 阅读 · 0 评论 -
浅谈数据分库分表之道
为什么讨论分库分表在服务器后端技术人员的成长路线上,分片(Sharding)思想的理解和把握是绕不过去的门槛,而数据库分库分表可能是讲述拆分思想最好的教材,大部分后端技术人员都会在成长过程中遇到这样的问题。为什么讲道,因为道比术重要一万倍。技术浪潮一波一波在推动社会的前进,新的技术雨后春笋,简单且朴实的道理,更长久也更朴实且普适。分库分表是什么我们如何描述分库分表。可以这样定义分库...转载 2018-12-19 20:16:13 · 156 阅读 · 0 评论 -
银行跨数据中心数据库双活架构设计:设计原则及技术选型
灾备中心要承载业务运行,这已经是一个共识。因此灾备中心的概念也在弱化,取而代之的是IDC数据中心概念。首先数据需要在多数据中心复制,保证数据不丢失。其次业务多数据中心部署,同时提供服务。这一点在互联网行业做得最好。这也是因为互联网行业本身的业务特点促成的。然而对于传统行业,不能完全照搬互联网行业的分布式技术。更多的系统是需要在现有架构的基础上进行改造。这也是为什么要做双活的数据中心。每个系统在...转载 2018-12-09 10:22:58 · 1973 阅读 · 0 评论 -
银行跨数据中心数据库双活架构设计:五大难点攻克
数据库双活技术已成为企业重点关注的对象,社区最近组织了交流活动,以帮助大家更好的明确理解数据中心建设。我们将活动内容总结为设计原则、技术选型和五大难点攻克。前篇见:银行跨数据中心数据库双活架构设计:设计原则及技术选型(点击标题可读)本篇交流分享者——本次活动专家:孔再华 民生银行 数据库架构师冯帅 点融网 高级DBA韩成亮 某金融单位 数据库架构师还有以下会员热心分享:...转载 2018-12-09 10:21:21 · 2676 阅读 · 0 评论 -
一文教你迅速解决分布式事务 XA 一致性问题
导语 近日,腾讯云发布了分布式数据库解决方案(DCDB),其最明显的特性之一就是提供了高于开源分布式事务XA的性能。大型业务系统有着用户多、并发高的特点,在这方面,集中式数据库(单机数据库)的性能很难支持,因此主流的互联网公司往往采用分布式(架构)数据库,物理上利用更多的低端设备,逻辑上对大表水平拆分支撑业务的需要。 虽然分布式数据库能解决性能难题,但事务一致性(Consisten...转载 2018-12-09 10:07:39 · 904 阅读 · 0 评论 -
什么是N+1查询
在Session的缓存中存放的是相互关联的对象图。默认情况下,当Hibernate从数据库中加载Customer对象时,会同时加载所有关联的Order对象。以Customer和Order类为例,假定ORDERS表的CUSTOMER_ID外键允许为null,图1列出了CUSTOMERS表和ORDERS表中的记录。 以下Session的find()方法用于到数据库中检索所有的Custome...转载 2019-01-07 22:01:06 · 721 阅读 · 0 评论 -
redis缓存和mysql数据库同步
解决方案一、对强一致要求比较高的,应采用实时同步方案,即查询缓存查询不到再从DB查询,保存到缓存;更新缓存时,先更新数据库,再将缓存的设置过期(建议不要去更新缓存内容,直接设置缓存过期)。二、对于并发程度较高的,可采用异步队列的方式同步,可采用kafka等消息中间件处理消息生产和消费。三、使用阿里的同步工具canal,canal实现方式是模拟mysql slave和master的同步机...转载 2019-01-22 21:42:01 · 408 阅读 · 0 评论 -
MySQL批量SQL插入各种性能优化
对于一些数据量较大的系统。数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此。优化数据库插入性能是非常有意义的。经过对MySQL innodb的一些性能測试,发现一些能够提高insert效率的方法。供大家參考參考。1、一条SQL语句插入多条数据。经常使用的插入语句如:INSERT INT...转载 2019-03-30 16:15:36 · 147 阅读 · 0 评论 -
苏宁OLAP架构设计
一. 功能综述OLAP引擎为存储和计算二合一的引擎,自身内部涵盖了对数据的管理以及提供查询能力。底层数据完全规划在引擎内部,外部系统不允许直接操作底层数据,而是需要通过暴露出来的接口来读写引擎内部数据。目前整体来说OLAP功能由两部分组成:数据管理,查询引擎。1.1 数据管理引擎中数据核心概念包括:事实表,维度表,模型表,加速表,其中事实表和维度表统称为Dataset表。数据操作包...转载 2019-04-28 23:03:44 · 671 阅读 · 0 评论 -
多维交叉分析
我们在进行数据分析的时候,大部分时间都在使用趋势分析、比较分析、细分分析这三类方法,但其实还有一个方法我们也会经常使用——交叉分析,尤其是在排查数据异常的问题时,交叉分析就能展现其强大的威力。另外要跟大家说声抱歉的是博客的更新频率可能没有那么频繁了,但是尽量每个月至少能发布一篇,希望文章的质量有所保证,还是欢迎大家留言讨论,能够发起一些有趣的话题,一起拓展在网站数据分析方面的思路。什么是交叉分...转载 2019-04-28 22:09:42 · 2308 阅读 · 0 评论 -
数据仓库的多维数据模型
可能很多人理解的数据仓库就是基于多维数据模型构建,用于OLAP的数据平台,通过上一篇文章——数据仓库的基本架构,我们已经看到数据仓库的应用可能远不止这些。但不得不承认多维数据模型是数据仓库的一大特点,也是数据仓库应用和实现的一个重要的方面,通过在数据的组织和存储上的优化,使其更适用于分析型的数据查询和获取。多维数据模型的定义和作用 多维数据模型是为了满足用户从多角度多层次进行数据查询和分...转载 2019-04-28 22:07:28 · 863 阅读 · 0 评论 -
网站数据分析
数据立方体与OLAP24 条回复 前面的一篇文章——数据仓库的多维数据模型中已经简单介绍过多维模型的定义和结构,以及事实表(Fact Table)和维表(Dimension Table)的概念。多维数据模型作为一种新的逻辑模型赋予了数据新的组织和存储形式,而真正体现其在分析上的优势还需要基于模型的有效的操作和处理,也就是OLAP(On-line Analytical Processi...转载 2019-04-28 22:06:12 · 434 阅读 · 0 评论 -
Solr与MySQL查询性能对比
测试数据量:10407608Num Docs: 10407608在项目中一个最常用的查询,查询某段时间内的数据,SQL查询获取数据,30s左右SELECT * FROM `tf_hotspotdata_copy_test` WHERE collectTime BETWEEN '2014-12-06 00:00:00' AND '2014-12-10 21:31:55';对coll...转载 2019-04-02 19:06:40 · 686 阅读 · 0 评论