`
foreversunyao
  • 浏览: 205092 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
今天学习了一篇讲述BASE模型的论文,该论文是ebay在2008年ACM上发表的。主要是讲述最终一致性问题,也就是BASE(基本上可用、软(弱)状态、最终一致性)。其中有些很漂亮的观点: 1,如果通过分布式数据库(2-pc)来实现ACID,将会因为执行操作的的组件的不可用,导致更大的不可用,比如说数据库的可用性为99%,两个的不可用性就会有1-99%*99% 2,切分长事务,通过消息队列实现异步事务。 3,EvENT-DRIvEN ARCHITECTUR:需要使用一种算法在达到一致性的时候通知系统。
  转载http://www.chinabi.net/blog/user1/105/465.html 主要的数据预处理技术: 一、数据清理通过填写空缺值,平滑噪声数据,识别删除孤立点,并解决不一致来清理数据,主要是达到如下目标:格式标准化异常数据清除错误纠正重复数 ...
AtomicInteger:  compareAndSet(int expect, int update)            如果当前值 == 预期值,则以原子方式将该值设置为给定的更新值。  void lazySet(int newValue) 锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的 — ...
引用:http://blog.csdn.net/cleverpig2003/article/details/251679 比较并交换 (CAS)支持并发的第一个处理器提供原子的测试并设置操作,通常在单位上运行这项操作。现在的处理器(包括 Intel 和 Sparc 处理器)使用的最通用的方法是实现名为 ...
接口是隔离外部调用和内部实现
EXISTS的执行流程 select * from t1 where exists ( select null from t2 where y = x ) 可以理解为: for x in ( select * from t1 ) loop if ( exists ( select null from t2 where y = x.x ) then OUTPUT THE RECORD end if end loop 对于in 和 exists的性能区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in,反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists ...

marshal 学习

marshal是一个java与xml绑定的一个用具,marshal可以将一个类的实例转化为xml,进行传输,然后在对端unmarshal,非常简单   具体信息可以查看ibm上的一篇blog: http://www.ibm.com/developerworks/cn/xml/x-xjavacastor1/

TDD thinking

    博客分类:
  • Code
今天看了一篇blog(http://drdobbs.com/go-parallel/blogs/architecture-and-design/229219511),简单了解了TDD领域中一些基本概念,unit test中有一些缺陷,只能关注代码本身的可靠性,而缺少一些流程性的东西,Dr. Dobb 提出了ATDD,其中加入了验收性测试的概念,融入了一个用例流程性的测试概念,该blog后面提到了BDD,将测试结论与商业逻辑联系到一起。

CAP Theorem

  今天阅读了分布式系统中著名的论文(介绍CAP)理论的,这里简单介绍下CAP,C代表Consistency,A代表Availability,P代表Partition Tolerance, CAP理论简单的就是说这三者无法达到统一,系统中之多保证其中的两项,而在分布式系统中往往可用性和数据备份容灾要比一致性来得更为重要。 可用性简单的说就是你可以访问某个资源,(在相对短的时间内,因为用户能快速的得到自己想要的往往是很关键的);分布式容灾就是你需要多台服务器,而不是一台,你需要一台机子down掉之后或是网络故障之后,你的应用还在运行,你的数据不会丢失;一致性就是同样的数据不应该存在不同的数值, ...
时间管理,集成测试,日志分析
spring,sql审核,分享,每天做好计划,需要专注
记得在taobao时候需要统计一个数据,但是通过不了SQLWEB中对SQL的性能要求,但是查看该字段上是有索引存在的,不知道为什么,问了DBA说是索引排的太后了,利用不上。今天才知道原因,原来是数据库在选择索引的时候一般只考虑最优的一个索引,如果访问的索引太多了就会产生太多的IO,不利于性能。
MySQL的基本架构:SQL Layer和Storage Engine Layer   SQL Layer模块:初始化模块,核心API,网络交互模块,Client&Servere 交互协议模块,用户模块,访问控制模块,连接管理、连接线程和线程管理,Query解析和转发模块,Query Cache模块,Query优化器模块,表变更管理模块,表维护模块,系统状态管理模块,表管理器,日志记录模块,复制模块,存储引擎接口模块     针对上面的这些特点和分析,我们可以对OLTP 的得出一个大致的方向。 虽然系统总体数据量较大,但是系统活跃数据在数据总量中所占的比例不大,那么我们可以通 ...
两种处理器模式:用户模式和内核模式,在进行虚拟内存映射时,两种模式各有一套单独的内存映射寄存器,这样用户模式和内核模式下的地址空间会被映射到不同的物理空间中。从用户模式进入到内核模式的方式:中断,违例内陷和系统调用内陷。从内核模式进入到用户模式的方式为:RTI(从中断服务函数中返回),RTT(从自陷服务函数中返回)   版本6的UNIX内核一共包含以下模块:系统启动,进程管理和调度,内存管理,信号通信,中断和自陷处理,文件系统和管道,I/O设备管理,系统调用和公共函数及工具。 启动模块:引导程序,装载程序   进程管理和调度:管理主要是指空分复用资源,进程调度主要是指时分复用资源 ...
今天下班在公交车上想了许久,我从事的这个行业到底是怎么运转的? 想想目前风风火火的互联网行业,一种蒸蒸日上的感觉,大家都很不淡定,google出了google+1挑战facebook,apple 的iphone5要出来了....这是一个信息爆炸的时代,每天有各种各样的吸引眼球的事情,让你想去做。 这个时候,我该怎么做呢?不断变化自己去拥抱这些新鲜的东西,还是去寻找一些沉淀下来的东西,而沉淀下来的东西又是什么呢?
Global site tag (gtag.js) - Google Analytics