- 博客(9)
- 资源 (102)
- 收藏
- 关注
原创 spring对session和事务的管理以及OpenSessionInViewFilter是如何工作的
为了弄清楚spring对session和事务的管理以及OpenSessionInViewFilter是如何工作的,可监控以下类的日志: org.springframework.orm.hibernate3.support.OpenSessionInViewFilter,org.springframework.orm.hibernate3.HibernateTransactionManager,org.hibernate.transaction.JDBCTransaction,org.hibernate
2011-03-28 16:15:00 16127 2
原创 关于垂直切分Vertical Sharding的粒度
垂直切分的粒度指的是在做垂直切分时允许几级的关联表放在一个shard里.这个问题对应用程序和sharding实现有着很大的影响.关联打断地越多,则受影响的join操作越多,应用程序为此做出的妥协就越大,但单表的路由会越简单,与业务的关联性会越小,就越容易使用统一机制处理.在此方向上的极端方案是:打断所有连接,每张表都配有路由规则,可以使用统一机制或框架自动处理.比如amoeba这样的框架,它的路由
2011-03-24 18:23:00 40711 6
原创 推荐一篇关于多租户Multi-Tenant数据架构的文章
做为SaaS的基本特征,多租户对系统的很多方面都产生了很多深远的影响.就数据层面的架构来说,基本上分成了多租户共享单一数据库、单一租户独享单一数据库以及介于两者之间的单一数库下的单一租户独享单一schema三种方案。这篇文章 http://msdn.microsoft.com/en-us/library/aa479086.aspx 对三种架构方案做了全面和细致的分析,里面提到的pattern都是非常实用的(特别是Name-Value Pairs模式)。让我印象最深刻的是,本文在分析每种方案的利弊和适用场
2011-03-20 18:52:00 19492 4
原创 Spring中使用getSession()与通过HibernateTemplate进行数据操作的差别
在 Spring+Hibernate的继承环境里,如果DAO直接使用HibernateDaoSupport的getSession()方法获取 session进行数据操作而没有显式地关闭该session,那么程序表现为:每个session会打开一个connection,并且 connection会一直保持(因为没有显式地close).如果程序使用了c3p0连接池,则因为c3p0连接池默认最大连接数是15,程序会表现为当打开第15个连接时,程序处于停滞状态,等待从连接池获取新的连接. 在同样条件下,使
2011-03-19 22:33:00 13601 4
原创 使用AutoHotkey在当前目录打开命令行(cmd.exe)
原本是要使用 HoeKey的,但是HoeKey最新的版本对Win7支持的不够好,%c(当前文件夹)参数无效,无奈之下使用AutoHotkey.使用 AutoHotkey需要自行编写热键脚本,下面是在网上搜到一段脚本,测试通过.需要说明的是如果你的系统是英文则需要把脚本中的"地址"改为"Address". 如果你不想安装热键工具,你也可以 在当前目录按Shift+鼠标右键, 你就可以看到类似"在此处打开命令行"的选项了, 如果你想去掉shift,直接按鼠标右键就有此选项, 那么你需要用简单的修改下你
2011-03-19 15:35:00 9697
原创 Virtual Shard
对于DB Shard而言,Reshard是一个在系统扩容时不得不面对的问题. Reshard需要解决两个问题:1.修改 散列规则以适应新的结点规模.2.将已有数据重新分布到正确的结点.Virtual Shard主要用于解决第一个问题. Virtual Shard的基本思想
2011-03-17 20:16:00 4981
原创 关于系统异常设计的再思考
1.是否需要已检测异常 一方面在目前的主流语言中,只有java提供了已检测异常机制,那么这从反面证明已检测异常并不是一种“必须”或者说是“优秀”的语言机制。另一方面,人们普遍认为引入已检测异常的一个很大的代价就是违反了开闭原则。 2.对于一个异常应该根据什么原则来确定它应该是已检测异常还是未检查异常? 一般来说:从调用者的角度去看,已检测异常是那些完全有理由能“预见”或是“重现”的异常情况。那这也正意未着方法本身明确要求调用者不能忽视(既然它已经预见到可能会发生了)这些异常情况。 3.视图层
2011-03-11 22:57:00 9330 3
原创 解决乱码的最佳实践
解决乱码问题最好全程使用 utf-8 编码,具体需要设置的点包括: 1、页面内容使用 utf-8 格式保存,在页面中加入 和 2、服务器端的 server.xml 中设定 useBodyEncodingForURI = true
2011-03-08 11:06:00 4967
原创 一个幻象读的例子
近期工作中遇到一个BUG报重复提交会生成两条同样的记录。因为这种数据的一个字段在一定范围内不允许重名(并不是全表数据不允许重名因此这个字段没有unique约束),所以每次保存记录时会先检查有没有重名,如果没有重名才会保存。但是在重复提交过程中若操作间隔足够短就会出现以下情况: 第一个事务首先查询,结果没有重名,接着第二个事务也开始查询,结果也没有重名,然后第一个事务插入数据并提交,接着第二个事务也将同样一份数据插入,因为没有unique约束,因此也插入成功。假设第二个事务在提交之前
2011-03-01 15:04:00 7439
Big_Data_SMACK.pdf
2016-10-14
The.Art.of.Multiprocessor.Programming.Revised.Reprint
2014-02-06
win7下硬盘安装Linux(Fedora17,CentOS 6.4,Ubuntu 12.10,LinuxMint 13 64-bit)
2013-08-16
Packtpub.Hadoop.MapReduce.Cookbook.Jan.2013
2013-03-04
OpenSSH for Windows
2013-02-06
Professional Website Performance.pdf
2013-02-04
Red.Gate.SQL.Toolbelt.v1.8.2.238.Incl.Keygen
2013-01-14
Araxis.Merge.Professional.v2012.4260.x64-BEAN
2012-12-27
Apress.Pro.SQL.Server.2012.Practices.Nov.2012
2012-12-24
Professional JavaScript for Web Developers, 3rd Edition 附书中代码
2012-09-19
Head.First.HTML.and.CSS.2nd.Edition.Aug.2012
2012-09-11
Packtpub.Spring.Security.3.May.2010
2012-09-10
Pro Apache Log4j Second Edition
2012-09-06
PowerDesigner16.1 crack keygen 破解文件
2012-06-21
SecureCRT.v6.7.3.292(含注册码和破解补丁),
2012-06-13
SecureCRT.v6.7.3.292.x64(含注册码和破解补丁)
2012-06-13
Apache Solr 3.1 Cookbook
2012-04-24
Lucene in Action 2nd Edition
2012-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人