首页
学习
活动
专区
圈层
工具
发布

从MySQL到PostgreSQL:那些让我决定迁库的硬核功能

从MySQL到PostgreSQL:那些让我决定"迁库"的硬核功能做了六年后端,MySQL用了五年,Redis、MongoDB、Elasticsearch也都在生产环境摸爬滚打过。...去年开始把一部分业务往PostgreSQL迁移,跑了半年之后,整理出3个让我觉得"迁对了"的核心功能。...二、部分索引 + 表达式索引:用更小的索引覆盖更多的查询MySQL的索引相对"死板",无法对索引行做条件过滤,也无法对函数结果建索引。PostgreSQL的部分索引和表达式索引在大表场景下非常实用。...写在最后从MySQL迁到PostgreSQL,最核心的感受是:以前需要在应用层解决的问题,现在可以推到数据库层解决,而且数据库层做得更好、更稳定。...如果业务只有简单的CRUD且数据量不大,MySQL依然够用且生态更成熟。但如果你的业务开始出现复杂查询、混合数据类型、高并发写入+一致性要求,PostgreSQL值得花时间深入了解。

27310

性能超过MySQL的MariaDB到底强在哪里?

MySQL的发展史 MySQL的历史可以追溯到1979年,它的创始人叫作Michael Widenius,他在开发一个报表工具的时候,设计了一套API,后来他的客户要求他的API支持sql语句,他直接借助于...一到1996年,MySQL 1.0发布,仅仅过了几个月的时间,1996年10月MySQL 3.11.1当时发布了Solaris的版本,一个月后,linux的版本诞生,从那时候开始,MySQL慢慢的被人所接受...2001年,MySQL生命中的大事发生了,那就是存储引擎InnoDB的诞生!直到现在,MySQL可以选择的存储引擎,InnoDB依然是No.1。...Sun为MySQL的发展提供了绝佳的环境,2008年11月,MySQL 5.1发布,MySQL成为了最受欢迎的小型数据库。...因此,大家都认为,MariaDB拥有比MySQL更纯正的MySQL血脉。最初的版本更新与MySQL同步,相对MySQL5以后的版本,MariaDB也有相应的5.1~5.5的版本。

4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL内存到底消耗在哪里?

    MySQL内存到底消耗在哪里? 一说起MySQL使用的内存,你可能会想到各种buffer,最著名的莫过于innodb buffer pool了,它是内存使用的大户,还有sort buffer等等。...内存分配器: 和其他数据库一样,MySQL的内存分配器也要长时间持有一部分内存,以供正常的内存销毁和分配,从而实现内存重复使用。...因此,我们可以简单的推导一个公式,就是MySQL中内存的使用量,大概等于: SELECT ( @@key_buffer_size + @@innodb_buffer_pool_size + @@innodb_log_buffer_size...从公式中不难看出,当基础配置不变情况下,连接数很多的时候,MySQL占用的内存数据,就会上涨的比较快。...02 performance_schema维度分析 Performance_schema特性可以监控MySQL的运行指标,通常情况下,默认是开启的,开启时候,会带来10%左右的MySQL性能损耗

    4.4K30

    MYSQL 8 show processlist 到底信息从哪里来,换到哪里了,怎么打开,哪里有进步?

    放假的最后一天,的回答最近有一个小朋友问了一个关于 processlist 的问题,基于MYSQL 8 show processlist 到底从哪里来的信息,MYSQL 8 中提供processlist...MYSQL 的 SHOW PROCESSLIST 是每个MYSQL DBA 通过这个命令来获得MYSQL数据库当时访问的信息。...在MYSQL 8.022 之前获取这些信息是需要根据线程管理模块通过全局互斥的方式来获得数据。...语句执行的时间 7 语句分配的内存 8 事务的状态,以及事务对应的 PID 信息 具有以上的信息后,一个mysql thread 运行中的信息都已经获得,基于MYSQL 8 在获取 show processlist...那么的说说为什么在MYSQL 8 中不在建议使用原有的方式来获得系统的信息。

    3.5K20

    MySQL中,如何分析你的 SQL 慢在哪里

    前言MySQL 是我们日常开发中最常用的关系型数据库之一,当随着数据库中的数据量增多,同样的SQL查询性能却开始下降,造成页面卡顿,数据加载缓慢。...那么,如何分析出哪条SQL性能下降,就成了开发人员的必备技能。查询分析工具在MySQL中,数据库查询优化主要关注以下几个核心点:哪条 SQL 慢?慢在哪里?全表扫描?索引没命中?...本篇文章就带从工具和方法两个角度,去探究 MySQL 的查询分析问题排查。1....EXPLAIN(SQL 预估执行计划)EXPLAIN 是 MySQL 中最基础的分析命令,可以用来查看 SQL 查询时的执行计划,我们可以在将要查询的SQL语句前面加上 EXPLAIN,例如: explain...慢查询日志(Slow Query Log)这是生产环境比较常用的诊断方式。开启慢查询日志后,MySQL 会自动把执行时间超过阈值的 SQL 记录下来。

    2.4K10

    异构数据集成搬追对三步落地复盘:Oracle、MySQL迁国产库

    ERP在Oracle,CRM用MySQL,报表库是SQLServer,后来分析平台又上了Hadoop。每套系统当年都是按需采购的,没人会提前设计"以后要互通"。...数据类型映射(Oracle的NUMBER到MySQL)、字符集(UTF-8与GBK混存,中文变乱码)、时区(交易时间差8小时,报表全错位)、字段语义(A系统的"状态1"和B系统的"状态1"不是一回事),...第三种,日志解析,也就是常说的CDC。去读数据库自己的日志,Oracle读redolog,MySQL读binlog,PostgreSQL读WAL,把变更一条条解析出来,再应用到目标端。...五、案例复盘:Oracle、MySQL迁向国产库,异构数据集成怎么落地聊个我做国产化替代时很典型的场景。...官方公开的案例里,某中煤生产运营项目50多个系统从MySQL迁到金仓,应用侧基本零改造就完成平滑过渡;另一个案例,从SQLServerAlwaysOn集群往独立库同步300多张关键表,靠的也是同一套机制

    28810

    MYSQL 8 日志系统到底比MYSQL 5.X 好在哪里

    为什么MYSQL 8 要解决这个问题,主要的原因是多CPU 在MYSQL中的使用越来越被支持,而瓶颈在于并发和顺序之间的矛盾....MYSQL 8 解决关于锁的问题,采用了另一种方式,因为记录必须有顺序性,而不在增加锁,则顺序性如何完成, 这里MYSQL 8 采用的方式是预留空间的方式来对还未写的日志预留空间,然后 ?...MYSQL 8 提出了新的一个数据结构,来解决以下几个问题 1 填补的数据并没有完全填充满, 而其中有空洞的问题 2 怎么能不使用锁来将信息继续有序的刷入到日志中 这里MYSQL 8 采用了log_writer...通过更细化的设计,将原来的数据中的瓶颈化解, 这点的设计,其实和MYSQL GROUP REPLICATION 的化解原有数据复制的瓶颈的想法有共同的地方. ?...这里借用某帖子关于MYSQL 8 改进后整体的数据写入的流程总结 ?

    2.2K30

    王迁:电子游戏直播的著作权问题研究

    王迁  华东政法大学知识产权学院教授   摘   要:对电子游戏的直播涉及向公众传播游戏中的影视作品和音乐作品。...对游戏画面的直播通常不是为了单纯地再现画面本身的美感或所表达的思想感情,而是展示特定用户的游戏技巧和战果,因此具有转换性。同时游戏直播不会替代欣赏直播的用户对运行游戏的需要,对游戏市场的影响是有限的。...由于涉案赛事的比赛本身并无剧本之类的事先设计,比赛画面是由参加比赛的双方多位选手按照游戏规则、通过各自操作所形成的动态画面,系进行中的比赛情况的一种客观、直观的表现形式,比赛过程具有随机性和不可复制性,...18 而通过互联网对游戏进程的直播,既不是以无线方式进行的传播,也不是在接收到某一广播组织的无线传播之后,再进行的无线或有线的转播。...作者简介:王迁,华东政法大学知识产权学院教授、博士生导师,法学博士。   1.

    2.4K70

    MYSQL 分布式哪里有你想的那么简单之 XA协议

    最近有点不大爽,主要是有的人认为MYSQL分布式中间件并没有那么复杂,就是一个通过设置分区键进行数据下发的软件而已,实际上呵呵 首先要说明的是,什么是XA 协议,XA是一种两阶段提交协议,很多数据库和事务监视器都支持...到这里不拉不拉,你说了老半天,到底这些有什么关系,DBLE 分布式中间数据库的中间件,就是利用MYSQL 通用的 XA 协议来做的,如果不知道DBLE,那请百度一下。...下面我们看一下 举例,如果三个物理数据中的一个数据库,在中间件下发数据的时候,其中一个进行了重启,回怎么样,如果是在 MYSQL 5.6 版本的时候,那很可能就丢数据的情况,上面的话如果不理解的话我们还是捋一捋...所以使用MYSQL5.6的同学你要注意了,MYSQL5.6中是没有 xa prepare 的严格的持久化的,当Session断开,数据库CRASH等情况下这些事务会被回滚掉,并且一个主库配了SemiSync...所以安全的使用中间件的情况一定是你使用了MYSQL.5.7 的情况下,分布式的MYSQL 才能有安全的保证。 我们来做一个实验 ? 然后,机器突然就崩溃了。如果是一般的事务,那一定就消失了。

    1.3K40

    SMT的优势在哪里

    SMT贴片指的是在PCB的基础上进行加工这一系列的工艺流程的简称,SMT是表面组装技术(表面贴装技术)(Surface Mounted Technology的缩写),是电子组装行业里最流行的一种技术和工艺...,也是是新兴的工业制造技术和工艺。...迅速地将电子元器件地贴装在PCB上,从而实现了高效率、高密度、高可靠、低成本的自动化生产。下面就来详细分析下SMT贴片的优势以及能给企业带来哪些好处。...3、可靠性高,抗震能力强 4、高频特性好,减少了电磁和射频干扰 5、焊点缺陷率低 6、贴片组装密度高 随着人工成本、生产成本的逐渐上升,竞争市场越来越激烈,企业的生存空间被不断挤压,想要良好的生存发展...科技发展的同时电子产品体积越来越小,这就对SMT提出了更高的要求。

    2.9K70

    拓端tecdat:已迁离北京外来人口的数据画像

    ▼ 为此我们分析了已迁离北京的外来人口的月收入、性别、迁入北京和迁离北京的日期、教育程度和职业这些方面的数据。...外来人口在京的职业情况 如果对北京外来人口的职业分布进行分析,可以看到工人农业人员远低于各个职业人数的平均值。...不同职业的收入、居住时间、学历情况 考虑到不同职业的收入、居住时间等因素,图2显示了通过关联规则挖掘得到的结果。...图表2 从学历水平来看,不同职业的数据中都存在硕士以上的规则结果,普遍的教育水平在提高,高学历的人力资源会成为推动城市发展的一股巨大动力。...我们认为之所以造成这样的现象,和北京的发展密不可分。从职业角度来看,男性比例偏大是因为男性的身体素质普遍比女性好,尤其是在从事体力劳动的工作。今年随着北京的科技发展,产业结构变化,服务业的比重增加。

    58300

    ERP的价值在哪里

    ERP项目的成果70%是管理的改进,30%才是信息技术工具的改进。那么上了ERP,它的价值在哪里呢?...管理观念的提升   ERP项目建设有一半的时间在整理流程,在配置阶段还要持续地进行流程优化工作,BPR不是把企业现有的工作图纸化,而是把企业的工作先流程化而后再进一步优化,同时融入企业战略规划中期望推进的新管理理念...,所以即使ERP软件没有投用,BPR的成果(已经优化的企业流程)如在企业中实行起来,其实无所谓再用什么工具,其管理效益都是不可估量的。...生产效益 当然,ERP非常重要的功能之一,还是直接在生产中产生的价值,这就是前面提到的平均库存资金下降、库存周转率上升、采购费减少、加班时间减少,对于核电运营行业来说设备可用率提升、设备故障率下降等指数变化幅度更有显著的生产效益...一方面,保证了各业务本领域内数据的精确性,另一方面,也保证了各业务领域间的数据高匹配度,如物资与财务、物资与维修、财务与合同的数据形成匹配 绩效管理动态化 ERP不只是业务层的业务操作平台,更重要的也是企业决策层的管理平台

    2.3K10

    经验分享(2) 一次表空间不足引起的连锁反应

    分享一个大概1年前的案例, 还挺经典的. 主要是涉及的知识点多. 以下内容并非真实环境的, 当时没有记录. 现在来大概模拟一下....我实际上是1023个32GB的数据文件, 也就是32T左右, 已经达到上限了. image.png 那咋办呢? 第一反应是迁移表/表分区, 那迁哪张表呢? 也不知道啊....但是开发的说可能会使用.... 那就迁移表吧, 在线迁移还是锁表迁移? 在线迁移不锁表, 但是巨慢无比(迁1T左右大概20+小时), 锁表迁移好一点, 反正也没得人使用....并没有新的程序发布, 也不是新的业务, 所以中间件的问排除了, 看数据库awr 发现有个sql执行时间非常长. 用恩墨的sql10.sql查看该sql的执行计划, 发现选择了一个错误的执行计划....mysql都会啊, oracle肯定也会啊.

    1.8K10

    Python开发 的优势在哪里

    1.开源 Python都是开源的语言,简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。...2.可移植性 Python是跨平台语言, Python的跨平台是语言自身的特性决定的,在很多平台上直接写Python代码就可以运行。...在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。...你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。 4.类库 Python有自己的类库,而且标准库还很庞大。python有可定义的第三方库可以使用。...同时虽然python虽然是用c语言写的,但是它摈弃了c中非常复杂的指针,简化了python的语法,同时Python采用强制缩进的方式使得代码具有极佳的可读性。

    2.6K50

    .ART的价值潜力在哪里?

    “2019年,youtube上每分钟上传的视频超过500个小时,每天是72万小时,超过80年。相当于每天我们产生的图像,超过了一个人一辈子的时间。”...来自俄罗斯的乌尔维•卡西莫夫先生是中国围棋和书法的爱好者。 作为与老牌传统顶级域同级的新顶级域(New gTLD),.ART更具备独特的市场调性与明确的文化属性。...ART域名的网站可以成为所有者的个人“宝库”,使其能够以一种增加和保存价值的方式上构建和分发内容。 而且.ART已经获得美国专利的数字孪生技术会让保护数字产权的具体措施成为可能。...网上发布的巨量照片、视频以及各种数字信息,彻底淹没了个人的艺术表达。 同时信息智能推送制造认知“茧房”的弊端越来越遭到消费者与业界的鄙弃的情况下,该如何甄别优质信息再次摆到了互联网世界的面前。...权威的、独一无二的、稳定的、标志性创意与个性标签,这就是.ART。 有关.ART域名的详细介绍和申请流程 点击查看.ART域名详情

    1.1K10
    领券