• 为什么PostgreSQL越来越火?
    根据DB-Engines1月发布的年度数据库报告,PostgreSQL已经连续两年获得“全球增长最快数据库”称号。结果在意料之中,AWS占了大多数,在公有云环境中它占据所有PostgreSQL使用情况的55%。托管在公有云中的PostgreSQL用户平均使用1.3个不同的云提供商来支持他们的应用程序。单一云的使用占据了主要地位,占比78.1%,只有21.9%的PostgreSQL用户利用了多云策略。由此得出,PostgreSQL一定填补了其他数据库在某些方面的空白。用户使用PostgreSQL单个数据库的占比最大,使用率为43.6%。PostgreSQL被用于其他数据库的主要原因25.5%的受访者认为,成本是PostgreSQL优于其他数据库的首要原因。
  • PHP接口性能优化之路
    奇技指南笔者最近在做PHP接口的性能优化,在排查性能问题和优化的过程中总结了一些心得,分享给大家。本文来自公众号Qtest之道No.1性能问题排查首先,做性能优化要先进行性问题排查,即排查PHP接口的代码实现中那一块执行比较慢。排查方法一笔者使用的ThinkPHP框架中自带了G方法可以很方便的获取某个区间的运行时间和内存占用情况。排查方法二使用PHP性能分析工具来辅助定位。目前市面上有很多PHP性能分析工具,老牌的调试工具XDebug,以及Facebook开源的Xhprof。所以升级PHP版本的收益还是很大的。因为,MySQL 为了提高性能,会将表的索引装载到内存中。
  • 一个高频面试题:怎么保证缓存与数据库的双写一致性?
    如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据就出现了不一致。随后数据变更的程序完成了数据库的修改。只有在对一个数据在并发的进行读写的时候,才可能会出现这种问题。像这种针对读高并发、读缓存架构的项目,一般来说写请求是非常少的,每秒的 QPS 能到几百就不错了。
  • SQLServer、MySQL、Oracle三种数据库的优缺点总结
    只支持C/S模式,SQL Server C/S结构只支持windows客户用ADO、DAO、OLEDB、ODBC连接;使用风险:SQL server 完全重写代码经历了长期测试断延迟许多功能需要时间来证明并十分兼容;2、MySQL优点体积小、速度快、总体拥有成本低,开源;支持多种操作系统;是开源数据库,提供的接口支持多种语言连接操作;MySQL的核心程序采用完全的多线程编程。
  • 面试的时候,如果你没掌握索引,绝对没戏!
    之前朋友在面试的时候被问到了许多关于索引的问题,而索引这个词一直也是我们在开发中最最最常见的,也是很多在进行性能优化的时候会去做的一件事情,所以今天我们就来说说面试中关于索引的那点事。但是面试的时候一般不会问你索引是什么?使用哈希索引的原因是,在寻找值时哈希表效率极高。所以,如果使用哈希索引,对于比较字符串是否相等的查询能够极快的检索出的值。而B树则需要进行每一层的递归遍历,相邻的元素可能在内存中不相邻,所以缓存命中性没有B+树好。
  • 开发者如何学好 MongoDB
    MongoDB 是火热的 NoSQL 之一,我们怎样才能学好 MongoDB 呢?MongoDB 是非关系型数据库中较为人熟知的一种。与 MySQL 数据库不同的是,MongoDB 不需要预先定义表和字段,这正是它灵活性的体现。下图描述了 MongoDB 中数据库、集合和文档的关系▼数据库 fotoo 中有两个集合,它们分别是 player 和 books。例如在此基础上增加对某个字段的运算、替换、排序、分组计数、增删字段,用 MySQL 来实现就会很头疼,而 MongoDB 的聚合可以让我们轻松地完成这类复杂需求。02我如何确定我需要学习 MongoDBMongoDB 是近些年涌现的几十种 NoSQL 中第一梯队的成员,另外一个为人熟知的是 Redis。
  • 聊聊数据库优化
    写在前面数据库优化涉及到方方面面的知识,每种数据库的架构,优化方式也都有着很大的差异,如果想做好数据库优化要了解数据库的技术架构、存储结构、存储方式、缓存结构、SQL语句执行过程等有很深刻的了解。目的是让开发人员对常用数据库优化有所了解。数据库的优化也符合二八法则· 80%的性能问题是由20%的应用导致的。数据库优化该怎么做在小品里面问大象放冰箱分几步?每种数据库都有工具可以查看SQL的执行计划。聊聊索引前面也提到索引对于数据库的优化特别重要,接下来聊聊创建和使用索引时的一些注意事项。
  • 用大白话告诉你 :Java 后端到底是在做什么?
    今天我们就来聊一聊,Java 开发工程师到底开发的是什么东西。准确点来说,Java后端到底在做什么?知道 Java 程序如何运行在计算机上之后,我们再来讲一讲平时学的一些 Java 基础知识,它们到底有什么用?为什么 Java 要引入这些东西呢,其实就是想让使用者更好地进行设计、抽象和编程。说完基本知识之后,我想你也会好奇,Java里经常提到的一些集合类是干嘛的呢,因为在现实生活中有很多场景,需要用到集合类,比如说一个用户名列表,你要怎么存呢?一口气讲了这么多,算是把 Java 后端的大概面貌介绍清楚了,除此之外还有很多东西没讲到,真要讲完的话一晚上也说不完。
  • Greenplum 6.0有哪些不可错过的硬核升级与应用?
    在海量数据的处理能力上,Greenplum可以说是佼佼者之一。2019年,Greenplum被Gartner评为全球排名第三的分析型数据库和排名第四的实时分析数据库,且为前十名中唯一的开源产品。如今,Greenplum已被广泛运用于大规模商业智能和分析中,而随着6.0大版本的发布,其功能和性能上都实现了大幅度的提升。前沿技术大咖们,从产品路线到新功能特性,硬核解说Greenplum 6.0。关于Greenplum 6.0中的新特性和强大功能,你是不是也迫不及待想第一时间了解?揭开强大的Greenplum 6.0的神秘面纱Greenplum处于全球研发大规模数据分析应用的最前沿。Greenplum作为新一代数据平台,可以帮助企业应对这一变化,最大限度释放数据的价值。
  • 一个高频面试题:怎么保证缓存与数据库的双写一致性?
    如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据就出现了不一致。随后数据变更的程序完成了数据库的修改。只有在对一个数据在并发的进行读写的时候,才可能会出现这种问题。像这种针对读高并发、读缓存架构的项目,一般来说写请求是非常少的,每秒的 QPS 能到几百就不错了。
  • 星环科技百城巡展之武汉、济南、重庆站精彩回顾
    本次“数据云端、繁星璀璨”百城巡展活动武汉、济南、重庆站圆满结束。济南站山东省物联网协会常务秘书长苏冠群进行开场致辞。重庆站重庆站,由星环大学执行校长王涛进行开场致辞。星环科技百城巡展成都站将于明天开启点击阅读原文即刻报名简介评测投资培训巡展媒体报道认证考试用户大会TDHTDCSophon流式计算图数据库闪存数据库技术支持深入机器学习技术干货白话大数据小白学AI 金融能源交通制造业银行基金质检航空保险物流医疗点击这里报名哦
  • 用NoSQL给高并发系统加速
    由于以上这些诸多问题,便诞生了以“NOSQL”为口号的很多解决方案。NoSQL并不是银弹,更多的时候是关系型数据库一个有力补充,或者是特定场景下优于关系型数据库的一种解决方案NoSQLNoSQL,泛指非关系型的数据库。由此可见,没有哪一种NoSql是完美的,每一种Nosql都有自己擅长的领域,这也是我们做系统架构中要考虑的重要因素。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷,解决关系型数据库存储和处理复杂关系型数据功能较弱的问题。其中以Neo4j为代表。
  • 58沈剑解读:数据库典型架构实践
    本文将介绍数据库架构设计中的一些基本概念,常见问题以及对应解决方案,为了便于读者理解,将以“用户中心”为例,讲解数据库架构设计的常见玩法。通过消除读写锁冲突提升数据库写性能。一句话总结,分片解决的是“数据库数据量大”问题,所实施的架构设计。06业务场景决定数据库架构业务初期用单库。本专栏作者——58沈剑:“架构师之路”公众号作者,58到家高级总监,技术委员会主席。
  • MongoDB是什么?看完你就知道了!
    用一句话总结MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库。MongoDB提出的是文档、集合的概念,使用BSON作为其数据模型结构,其结构是面向对象的而不是二维表,存储一个用户在MongoDB中是这样子的。{username:'123',password:'123'}使用这样的数据模型,使得MongoDB能在生产环境中提供高读写的能力,吞吐量较于mysql等SQL数据库大大增强。自动故障转移是副本集的概念,MongoDB能检测主节点是否存活,当失活时能自动提升从节点为主节点,达到故障转移。
  • 介绍一个超好用的orm库gorm【Golang 入门系列十二】
    实际上,为提高开发效率,一般都会使用一些orm框架,把数据库层屏蔽,用户看到的只有对象而无需我们手动做一些转换,这样在使用的时候就非常方便。golang也有很多优秀的orm框架,今天就来介绍介绍gorm。gorm 跟其他框架有什么不一样?库安装go get -u github.com/jinzhu/gorm数据库连接db, err = gorm.Open("mysql", "root:root@tcp(127.0.0.1:3306)/irisapp?= nil { panic}连接比较简单,直接调用 gorm.Open 传入数据库地址即可。gorm支持基本上所有主流的关系数据库,只是连接方式上略有不同,这里我用的 mysql为例吧。表定义type Product struct { ID int `gorm:"primary_key"` Code string `gorm:"type:varchar;"` Price int `gorm:"type:int;"` Name string `gorm:"type:varchar;"` Mail string `gorm:"type:varchar;"` CreatedAt time.Time}创建表if !
  • MySQL | MySQL 数据库系统(一)
    # groupadd mysqlYou have new mail in /var/spool/mail/root# useradd -M -s /sbin/nologin mysql -g mysql将下载的 MySQL 源码包进行解压,释放到 /usr/src 目录下,并切换到源码目录。# cp support-files/mysql.server /etc/rc.d/init.d/mysqld# chmod +x /etc/rc.d/init.d/mysqld# chkconfig --add mysqld若启动 mysqld 系统服务,可使用 service 工具或执行 /etc/init.d/mysqld 脚本来控制 MySQL 数据库服务,当 mysqld 系统服务启动后,可执行 netstat -anpt | grep mysqld 命令来进行验证 TCP 端口是否已经监听到了;# service mysqld startStarting MySQL.. [确定]# /etc/init.d/mysqld statusMySQL running [确定]# netstat -anpt | grep mysqldtcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 59041/mysqld4.访问 MySQL 数据库访问 MySQL 数据库时,我们可以使用 Linux 系统中自带的客户端 mysql 命令工具。
  • 分布式事务选型的取舍 | 建议收藏
    点击上方“朱小厮的博客”,选择“设为星标”回复”1024“获取独家整理的学习资料微服务兴起的这几年涌现出不少分布式事务框架,比如ByteTCC、TCC-transaction、EasyTransaction以及最近很火爆的Seata。最近刚看了Seata的源码(v0.5.2),借机记录一下自己对分布式事务的一些理解。(3年前这类框架还没成熟,因项目需要自己也写过一个柔性事务框架)。本文分五部分,首先明确分布式事务概念的演变,然后简单说下为什么大家不用XA,第三部分阐述两阶段提交的“提升”,第四部分介绍Sea
  • ​面试官:你们是如何解决分布式事务问题的?
    现在面试,分布式系统成了标配,而分布式系统带来的分布式事务也成了标配了。比如 TCC 方案的网络问题、XA 方案的一致性问题。这个就是避免可能本地事务执行成功了,而确认消息却发送失败了。你找一个严格资金要求绝对不能错的场景,你可以说你是用的 TCC 方案;如果是一般的分布式事务场景,订单插入之后要调用库存服务更新库存,库存数据没有资金那么的敏感,可以用可靠消息最终一致性方案。
  • 打开DBaaS性能大门,SQL Server的秘诀是什么
    为什么微软可以走在DBaaS趋势的最前沿,让我们从Windows Server的SQL Server DBaas一窥究竟,看看SQL Server DBaas开性能大门、支撑多种数据分析和运营工作负载的秘诀到底是什么。当前,越来越多用户开始扩展原有的SQL Server部署,将SQL Server作为DBaaS解决方案的一部分使用。纵向扩展通常采用添加内存的方式,这种方式既无法满足多租户和企业私有云部署的全部性能需求,也无法在旧版本SQL Server不再受支持时提供解决方案。随着5G、AI、物联网等应用的兴起,DBaaS在企业中将会发挥更大的作用,英特尔面向Windows Server上的SQL Server的精选解决方案向DBaaS指明了一条路
  • 值得收藏:一份非常完整的 MySQL 规范
    显示数据时,使用inet_ntoa把整型的ip地址转为地址显示即可。如果一定要使用,建议把BLOB或是TEXT列分离到单独的扩展表中,查询时一定不要使用select * 而只需要取出必要的列,不需要TEXT列的数据时不要对该列进行查询。·TEXT或BLOB类型只能使用前缀索引因为MySQL对索引字段长度是有限制的,所以TEXT类型只能使用前缀索引,并且TEXT列上是不能有默认值的。TIMESTAMP 占用4字节和INT相同,但比INT可读性高超出TIMESTAMP取值范围的使用DATETIME类型存储。
官方公众号