• 开发中常见的Oracle三大故障与调优方法
    合著作品有《剑破冰山——ORACLE开发艺术》、《Oracle DBA手记2》。这一般是Oracle的bug导致的,少部分是执行计划错误导致的。但这第三类bug,我从9i到10g都碰到过,明明写的SQL没任何问题,但Oracle偏偏就给你错误的结果,还好每次都因细心发现了,及时调整了技术方案,才没导致更大的问题发生。但在这里我需要指明的是,其实很多最终结果不正确的程序,多数都是因为代码本身的问题导致的,而因为Oracle Bug导致的问题只占极少的部分。Oracle的开发和运维是一个系统性的工作。
  • guava缓存批量获取的一个坑
    摘要Guava Cache是Google开源的Java工具集库Guava里的一款缓存工具,一直觉得使用起来比较简单,没想到这次居然还踩了一个坑。extends Long> ids) throws Exception { return doLoad; } }); }// 实际从数据库中加载数据private Map<Long, List<Long>> doLoad { return sthMapper.findByIds;} // 批量获取数据 public Map<Long, List<Long>> getSthById { return sthCache.getAll; }没毛病,getAll方法用来执行批量查询。默认情况下,对每个不在缓存中的键,getAll方法会单独调用CacheLoader.load来加载缓存项。也就是说,并没有调用 loadAll,走到批量查询数据库中。分析解决首先看了下guava的代码实现ImmutableMap<K,V>getAll(Iterable<?搜索了下,https://github.com/google/guava/issues/1975 github上这个issue还在。最后我这边解决是用 SpringCache统一了缓存管理。
  • Redis
    redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。使用 redis 或 memcached 之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。缺点是需要保持 redis 或 memcached服务的高可用,整个程序架构上较为复杂。Redis list 的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销。Redis可以非常方便的实现如共同关注、共同粉丝、共同喜好等功能。redis 设置过期时间Redis中有个设置时间过期的功能,即对存储在 redis 数据库中的值可以设置一个过期时间。
  • TablePlus 2.10(268) Mac破解版
    今天,小子要来分享的是Mac下一款本地原生数据库编辑软件——TablePlus,他支持MySQL、SQL Server、PostgreSQL等多种数据库,具备备份、恢复、云同步等功能。小子这次带来的是2.10版本。TablePlus Mac版还包含许多安全功能以更好地保护您的数据安全,包括使用本地libssh和TLS来加密您的连接等。TablePlus使得数据库管理变得简单。SSH是TablePlus的一部分。功能强大的SQL编辑器- 我们已将SQL编辑器的最佳实践构建为默认值,以帮助您提高工作效率 小子简单说明下TablePlus 2.10版本的更新内容:- 改进了macOS Catalina支持。
  • 盘点几种MySQL复制的解决方案和常见的错误理解
    作者 | 阿飞的博客来源 |公众号「阿飞的博客」本文将回顾MySQL复制概念和MySQL几种复制方案,同时也会澄清一些关于复制问题的误解。下图是MySQL复制示意图:MySQL有哪些复制方案?当改变发生时,master需要等待slave已经将日志保存到relay-log中并向master回复确认master才能提交事务。这个解决方案把重心放在一致性上,并且通过使用一个认证过程来保证事务避免冲突和执行的正确性。Percona XtraDB Cluster 有很多组件:Percona Server for MySQL;Percona XtraBackup ;wsrep patches / Galera Library;该解决方案几乎是同步的,可与组复制相媲美。因为它们是两种不同复制方案的实现原理。
  • 如何去写一手好SQL?
    MySQL性能最大数据量抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。max_connections是指MySQL实例的最大连接数,上限值是16384,max_user_connections是指每个数据库用户的最大连接数。MySQL会为每个连接提供缓冲区,意味着消耗更多的内存。实施原则相比NoSQL数据库,MySQL是个娇气脆弱的家伙。避免空值MySQL中字段为NULL时依然占用空间,会使索引、索引统计更加复杂。索引优化分页查询很重要,如果查询数据量超过30%,MYSQL不会使用索引。
  • 数据库中间件详解(精品长文)
    我们在《“分库分表" ?选型和流程要慎重,否则会失控》这篇文章中,在广度上和流程上总结了数据库中间件的一些特征。而本篇长文,会在深度上解析数据库中间件需要考虑的,一些非常重要的知识点,推荐收藏细读。如果你正在调研或者使用数据库中间件,交叉阅读会获得较好的效果。1数据库拆分过程及挑战互联网当下的数据库拆分过程基本遵循的顺序是:垂直拆分、读写分离、分库分表(水平拆分)。每个拆分过程都能解决业务上的一些问题,但同时也面临了一些挑战。1.1 垂直拆分对于一个刚上线的互联网项目来说,由于前期活跃用户数量并不多,并发量
  • 大型 Web 网站架构演变历程!
    扫描下方二维码试读专栏详细目录请移步至文末前言我们以 javaweb为 例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。keepalived配合上ipvsadm又可以做负载均衡,可谓是神器。在请求到达负载均衡器后,负载均衡器通过修改请求的目的IP地址,从而实现请求的转发,做到负载均衡。需要系统支持IP Tunneling协议,难以跨平台。
  • 巨头垂涎却不能染指,loT 数据库风口已至
    时序数据库的数据存储设计在典型的物联网场景中,往往有许多各类不同的终端设备,布署在不同的位置,去采集各种数据,比如某一生产区有5万个终端,每个终端每10秒发送一次数据。当程序挂掉重启时,可以从 WAL 文件中重新恢复内存中的 Cache。Cache一般 k-v 数据的写入、删除以及读取的操作接口。其中使用C开发的TimescaleDB还是基于传统关系型数据库PostgreSQL 进行的二次开发,本质上并不是完整的时序数据库。所以前一段时间使用C语言开发的国产时序数据库TDEngine宣布开源并正式发布后,在性能上对于其它时序数据库形成全面碾压的态势其实并不奇怪。
  • 史上最详细的一线大厂Mysql面试题详解
    Mixedlevel: 是以上两种level的混合使用,一般的语句修改使用statment格式保存binlog,如一些函数,statement无法完成主从复制的操作,则 采用row格式保存binlog,MySQL会根据执行的每一条具体的sql语句来区分对待记录的日志形式,也就是在Statement和Row之间选择 一种.新版本的MySQL中队row level模式也被做了优化,并不是所有的修改都会以row level来记录,像遇到表结构变更的时候就会以statement模式来记录。
  • 一文集齐几大硬核 Linux 技术公众号,不是精品不推荐
    公众号很多,但优秀的公众号却很少,优秀的 Linux 公众号更是稀有。今天特地全网收集了一些优质 Linux 公众号,分享给大家!良许Linux一个就职于世界500强的Linux工程师,专注于C/C++、Linux、Python、树莓派等,定期分享技术资料、源码等干货,并且定期分享英语资料及学习方法。马哥Linux运维10多年IT老司机的职场经验分享。关注阅码场查看最新Linux名企*内推*职位!运维分享网络管理、网络运维、Linux运维等运维相关的技术文章,学习DevOps理念的自动化运维实践。
  • 再见了 Oracle!Amazon 消费业务彻底弃用了 Oracle 数据库
    2004年开始在AWS撰写博客,此后笔耕不辍数据库一直是Amazon和Oracle两家公司近年来争论的话题。Oracle创始人兼 CTO Larry Ellison在多个场合宣传Amazon每年都要采购Oracle的数据库。如今,Amazon消费者业务在内部完成对Oracle数据库业务的迁移,在Amazon公司算是一个标志性事件。亚马逊的消费者业务部门刚刚关闭了最后一些Oracle数据库。我们将存储在近7,500个Oracle数据库中的75 PB内部数据迁移到多项AWS数据库服务,包括Amazon DynamoDB,Amazon Aurora,Amazon RelationalDatabase Service和Amazon Redshift。我们见证了Oracle数据库的最终关闭。由于Oracle拥有深厚的用户基础,市场依然非常看重Oracle数据库服务。无论如何,AWS与Oracle的数据库业务之争恐怕将继续下去,且会愈演愈烈。
  • 成都&上海 Meetup 预告 | 硬核来袭:SQL、高可用、悲观事务、Performance Engineering
    本周末,成都 & 上海 Meetup回归~在成都,我们将邀请 TiDB Committer 杜川分享他对SQL 语言的独到见解,另外,我司 TiDB 研发工程师徐锐将以 TiDB 为例介绍高可用数据库服务的构建。在上海,我司 TiKV 研发工程师赵磊将介绍 TiDB 3.0 版本的新特性——悲观事务,我司研发工程师 & Rust core team 成员 NickCameron将带来非常硬核的 Topic,和大家聊聊 Performance Engineering。
  • 不好意思,就是要问你原理源码!
    你也许能说出一万个不知道原理源码也能胜任工作的理由,但是,也改变不了,高质量的面试必须要通过原理源码来筛选的事实!框架框架范围就很大了,一般也会挑你熟悉的框架问,比如最常问的就是Spring了,因为这个基本是标配了。但是自学并不是没有任何指导性的资料,凭空对着源码来学。仅仅有思维导图还不够,这里还给大家准备了免费的Java源码与实战视频直播课程,系统+实战,助力全面提升!▼No.1《Java高级进阶系列直播》直播主题10月14日 20:00不学SpringBoot原理,终究是个CURDer!10月16日 20:00Spring注解从原理剖析到组件封装10月17日 20:00数据大并发高!
  • 亚马逊干掉Oracle数据库,谁最受伤?
    今天看到了一个热门的新闻,说的是亚马逊把消费者业务使用的Oracle数据库都迁移了, 迁移到了自家的AWS Database, 这不由得让人想起了Oracle 总裁Larry Ellison 曾经说过的一段话:"让我告诉你一件有趣的事情,亚马逊并不使用自家的AWS来构建业务,他们的整个业务构建在Oracle数据库之上,他们不能迁移到AWS,因为AWS还不够好。这次亚马逊迁移了7500个Oracle数据库,75 PB的数据,系统包括这包括Alexa,Amazon Prime,Amazon Prime Video,Amazon Fresh,Kindle,Amazon Music,Audible,Shopbop,Twitch和Zappos 等。还有第三方应用程序和Oracle密切绑定,没法迁移。但是亚马逊的最终目标是到2020年彻底摆脱那个Big Red。
  • 国际认可不断增加,国产数据库发展与应用前景如何?
    近期,国产数据库消息不断,从蚂蚁金服Oceanbase “霸榜”TPCC测试,到华为等数据库体系的发布,国产数据库在行业需求下不断扩展。为确保评选的公平可信,Gartner 保持严格的标准来甄选供应商。同时,巨杉数据库在“客户总评”、“客户推荐度”和“产品能力”三个维度均获得超过平均分以上的成绩。目前,SequoiaDB 巨杉数据库的付费企业级客户与社区用户总数超过1000家,并已在近百家500强级别的银行、保险、证券等大型金融机构核心生产业务上线。
  • 完全去 Oracle!吹过的牛叉,Amazon 做到了
    如今看来,Amazon 是做到了!就在 2019 年 10 月 16 日,AWS 的首席技术布道师 Jeff Barr 在官博发文,宣告 Amazon 消费者业务终于把最后一个 Oracle 数据库关闭了。据悉,之前亚马逊内部用了 7500 个 Oracle 数据库,数据量约 75 PB,全部迁移到 AWS 数据库服务,包括:Amazon DynamoDB、Amazon Aurora、Amazon Relational database Service 和 Amazon Redshift。Oracle DBA 没出路了么?AWS 在文章中称,>我们的 DBA 曾经花费大量时间来管理和扩展遗留的 Oracle 数据库。>作为迁移的一部分,我们还为 Oracle DBA 创建了一条新的职业道路,培训他们成为数据库迁移专家和顾问。推荐阅读Oracle 推出全球首个自主操作系统AWS 和 Oracle 被 MariaDB 点名吐槽国外程序员吐槽:永不再为 Oracle 工作了 !
  • 分布式事务可能是个伪概念
    点击上方“朱小厮的博客”,选择“设为星标”后台回复”加群“加入公众号专属技术群来源:http://suo.im/5e2Ath分布式事务顾名思义,是分布式环境下的事务,而在分布式王国里有一个著名的CAP定理,那么事务这个概念是否需要服从CAP定理呢?在回答这个问题之前,先将事务和CAP定理两个基本概念回顾一下.一个事务是一个只包含所有读/写操作成功的集合,也就是一系列读写操作(主要针对写操作,读操作也是为了写)要么全部成功,要么全部失败,如同一个原子操作一样,由此可见,原子性是事务的一个重要特征。事务还有其他
活跃用户
一个专注侃侃计算机视觉方向的公众号。计算机视觉、图像处理、机器学习、深度学习、C/C++、Python、诗和远方等。
分享项目实践,洞察前沿架构,聚焦云计算、微服务、大数据、超融合、软件定义、数据保护、人工智能、行业实践和解决方案。
开源软件,改变世界!专注于分享各类效率工具,加入我们,和10万人一起探宝寻器!
专注于分享互联网技术文章。笔者待过BAT等一线互联网公司,文笔流畅,酷爱写作与编码,期待你的关注!
每天分享 Java技术栈 干货,路虽远,行则必至。