![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库持久层技术
iteye_19069
这个作者很懒,什么都没留下…
展开
-
数据库分库分表(sharding)系列(四) 多数据源的事务处理
系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。我们下面对这三种处理方式一一进行分析。本文原文链接:http://blog.csdn.net/bluishglc/article/det...原创 2015-06-09 00:10:18 · 80 阅读 · 0 评论 -
JTA 深度历险 - 原理与实现(非原创)
转自:http://www.ibm.com/developerworks/cn/java/j-lo-jta/#ibm-pcon 在 J2EE 应用中,事务是一个不可或缺的组件模型,它保证了用户操作的 ACID(即原子、一致、隔离、持久)属性。对于只操作单一数据源的应用,可以通过本地资源接口实现事务管理;对于跨数据源(例如多个数据库,或者数据库与 JMS)的大型应用,则必须使用全局事务 ...原创 2014-11-30 00:03:53 · 66 阅读 · 0 评论 -
J2EE事务并发控制策略总结(转)
本文结合hibernate以及JPA标准,对J2EE当前持久层设计所遇到的几个问题进行总结:第一:事务并发访问控制策略当前J2EE项目中,面临的一个共同问题就是如果控制事务的并发访问,虽然有些持久层框架已经为我们做了很多工作,但是理解原理,对于我们开发来说还是很有用处的。事务并发访问主要可以分为两类,分别是同一个系统事务和跨事务访问的并发访问控制,其中同一个系统事务可以采取乐观...原创 2014-07-25 00:16:36 · 73 阅读 · 0 评论 -
hibernate update 更新学习(转)
update方法用于更新数据库内容。在hibernate API中的解释是可以把一个Detached状态的对象更新成Persistent对象。而通过实验发现,只要是有Id的对象(数据库有相应记录,包括手动指定id的Transient对象)都可以使用update方法进行更新。而对于Persistent对象来说,只要重新设置了对像的属性值,再Session提交的时候就会自动更新(隐式的调用update...原创 2014-07-25 00:08:40 · 196 阅读 · 0 评论 -
分布式锁1 Java常用技术方案
转自:http://www.cnblogs.com/PurpleDream/p/5559352.html 前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也...原创 2017-03-14 18:34:49 · 108 阅读 · 0 评论 -
ibatis传递map和数组
java代码: Map<String,Object> param = new HashMap<String,Object>();Long[] widArr = new Long[itemList.size()];for(int i = 0; i < itemList.size(); i++){ widArr[i] = itemLi...原创 2017-01-23 12:23:56 · 1773 阅读 · 0 评论 -
数据库Sharding的基本思想和切分策略
转自:http://blog.csdn.net/bluishglc/article/details/6161475本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到...原创 2016-05-24 22:40:04 · 104 阅读 · 0 评论 -
数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案...
作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段。简单地说,Sharding就是将原来单一数据库按照一定的规则进行切分,把数据分散到多台物理机(我们称之为Shard)上存储,从而突破单机限制,使系统能以Scale-Out的方式应对不断上涨的海量数据,但是这种切分对上层应用来说是透明的,多...原创 2016-05-24 22:37:29 · 205 阅读 · 0 评论 -
15天玩转redis —— 第二篇 基础的字符串类型
转自:http://www.cnblogs.com/huangxincheng/p/4968085.html 我们都知道redis是采用C语言开发,那么在C语言中表示string都是采用char[]数组的,然后你可能会想,那还不简单,当我执行如下命令,肯定是直接塞给char[]数组的。如果你真的这么想的话,会有几个问题就要过来砍你了,先我们来找一个redis手册,htt...原创 2016-03-09 00:11:20 · 97 阅读 · 0 评论 -
15天玩转redis —— 第三篇 无敌的列表类型
转自:http://www.cnblogs.com/huangxincheng/p/4970231.html 据说60%的人使用redis看重的是redis中的list类型,那这个list有什么用呢???不用我说大家都明白,做队列使用呗,为什么用它呢,很简单呗,因为有了它我就不需要专门的MQ产品啦,比如说RabbitMQ,ActiveMQ等等。。。对吧。 一:实战 ...原创 2016-03-09 00:09:43 · 80 阅读 · 0 评论 -
15天玩转redis —— 第一篇 开始入手
转自:http://www.cnblogs.com/huangxincheng/p/4966258.html 双十一终于还是过去了,我负责的mongodb由于做了副本集,最终还是挺过去了,同事负责的redis,还是遗憾的在早上8点左右宕机了,然后大家就是马不停蹄的赶往公司解决问题,因为我对redis也不是很了解,工作上使用redis的时候也是应付的找找资料,所以没有从系统层次上了解r...原创 2016-03-08 23:59:54 · 92 阅读 · 0 评论 -
数据库分库分表系统学习
转自:http://blog.sina.com.cn/s/blog_702a7c3f01016xcx.html 一 为什么要进行数据切分 为什么需要数据切分呢?比如像Oracle这样成熟稳定的数据库,足以支撑海量数据的存储与查询了?为什么还需要数据切片呢?的确,Oracle的DB确实很成熟很稳定,但是高昂的使用费用和高端的硬件支撑不是每一个公司能支付的起的。试想一下一年几千万...原创 2015-12-24 22:36:37 · 157 阅读 · 0 评论 -
Mybatis分库分表扩展插件
转自:http://fangjialong.iteye.com/blog/2240880对于一个刚上线的互联网项目来说,由于前期活跃用户数量并不多,并发量也相对较小,所以此时企业一般都会选择将所有数据存放在一个数据库中进行访问操作。但随着后续的市场推广力度不断加强,用户数量和并发量不断上升,这时如果仅靠一个数据库来支撑所有访问压力,几乎是在自寻死路。所以一旦到了这个阶段,大部分Mysql...原创 2015-12-23 22:46:23 · 119 阅读 · 0 评论 -
转:Mybatis分库分表扩展插件
原文地址:http://fangjialong.iteye.com/blog/2240880 对于一个刚上线的互联网项目来说,由于前期活跃用户数量并不多,并发量也相对较小,所以此时企业一般都会选择将所有数据存放在一个数据库中进行访问操作。但随着后续的市场推广力度不断加强,用户数量和并发量不断上升,这时如果仅靠一个数据库来支撑所有访问压力,几乎是在自寻死路。所以一旦到了这个阶段,大部分M...原创 2015-09-11 14:49:53 · 95 阅读 · 0 评论 -
数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量...
当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现sharding逻辑的问题,本文会对这一系列的问题逐一进行分析和考量。本文原文连接: http://blog.csdn.net/bluishglc/a...原创 2015-04-14 11:05:10 · 79 阅读 · 0 评论