`
文章列表
Spanner  技术特点 基于时间戳的多版本并发控制(MVCC) 应用可控的数据多副本跨数据中心存储 TrueTime api   (GPS和原子钟实现的时间API,能将数据中心之间的节点时间同步精确到10ms以内) 跨数据中心复制   在读写事务中使用wound-wait算法来避免死锁。当客户端发起一个读写事务的时候,首先是读操作,他先找到相关数据的leader replica,然后加上读锁,读取最近的数据。在客户端事务存活的时候会不断的向leader发心跳,防止超时。当客户端完成了所有的读操作,并且缓存 了所有的写操作,就开始了两阶段提交。客户端闲置一个coordinator ...
  Oracle RAC  DB2 pureScale Google Spanner(F1)  Open Source CockroachDB  读写控制  MVCC 锁机制  ‘MVCC’ ‘MVCC’ 读写不冲突  读写冲突  读写不冲突 
相应的源语我在intel 的芯片文档中找到,当然由于英文水平有限可能理解错误,如果有错误,希望大家指正。
今天和某个同事探讨一段代码的效率 getName1 效率高还是 getName 效率高。 我说getName1比较好,getName效率会比较差。因为有try catch性能会差。他说如果大多数情况下我test能确认不为空,那么是不是可以选getName。随后我做一下实验   java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b18) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode)   ...
适度使用Query Cache 首先,我们需要根据Query Cache 失效机制来判断哪些表适合使用Query 哪些表不适合。由于QueryCache 的失效主要是因为Query 所依赖的Table 的数据发生了变化,造成Query 的Result Set 可能已经有所改变而造成相关的Query Cache 全部失效,那么我们就应该避免在查询变化频繁的Table 的Query 上使用,而应该在那些查询变化频率较小的Table 的Query 上面使用。MySQL 中针对Query Cache 有两个专用的SQL Hint(提示):SQL_NO_CACHE 和SQL_CACHE,分别代表强制不 ...
     MySQL 的Query Cache 实现原理实际上并不是特别的复杂,简单的来说就是将客户端请求的Query语句(当然仅限于SELECT 类型的Query)通过一定的hash 算法进行一个计算而得到一个hash 值,存放在一个hash 桶中。同时将该Query 的结果集(Result Set)也存放在一个内存Cache 中的。存放Query hash 值的链表中的每一个hash 值所在的节点中同时还存放了该Query 所对应的Result Set 的Cache 所在的内存地址,以及该Query 所涉及到的所有Table 的标识等其他一些相关信息。系统接受到任何一个SELECT 类 ...
以下为自己收集和整理的资料,如有侵权,请及时联系   ● “—prefix”:设定安装路径,默认为“/usr/local”; ● “—datadir”:设定MySQL 数据文件存放路径; ● “—with-charset”:设定系统的默认字符集; ● “—with-collation”:系统默认的校验规则; ● “—with-extra-charsets”:出了默认字符集之外需要编译安装的字符集; ● “—with-unix-socket-path”:设定socket 文件地址; ● “—with-tcp-port”:指定特定监听端口,默认为3306; ● “—with-my ...
先上一段代码 //全程无分段锁 public V get(Object key) { Node<K,V>[] tab; Node<K,V> e, p; int n, eh; K ek; int h = spread(key.hashCode()); if ((tab = table) != null && (n = tab.length) > 0 && //tabAt() 里面调用了U.getObjectVolatile(tab, ((long)i << ASH ...
阅读java version "1.8.0_91"的ConcurrentHashMap源码发现put,get中分段锁不见了 public V put(K key, V value) { return putVal(key, value, false); } //该处说明了ifAbsent也调用该方法 final V putVal(K key, V value, boolean onlyIfAbsent) { if (key == null || value == null) throw new NullPointe ...
//冒泡1 func bubble(src[] int){ for index,_:= range src{ for i:=0;i<len(src)-1-index;i++{ if src[i]>src[i+1] { src[i], src[i + 1] = src[i + 1], src[i] } } } } //冒泡2 func bubble1(src[] int){ for index,_:= range src{ for i:=len(src)-1;i-index>0;i--{ if src[i ...
简单的说就是,我预计最少需要3个(corePoolSize)正事员工(线程),如果事情做不过来,我可以扩招到10个(maximumPoolSize),再多我财务承受不起,只能让在职的人加班,如果还是做不过来,作为老板的我就得定个策略:是帮他们排期呢?还是直接拒绝呢。。。员工呢,签定合同的周期为keepAliveTime ,单位可以是TimeUnit;更有甚着,员工必须是 ThreadFactory 这个地方出来的。 以上是线程池的核心思想,接下来就要深入代码了: //首先是员工: //这是员工列表 private final HashSet< ...
 E-commerce Recommendation [ˌrɛkəmɛnˈdeʃən]推荐  Scenarios[sɪˈnɛrɪˌo] 方案 Recommender system review 电商推荐关键, 算法,数据,场景    CPC (Cost Per Click): 按点击计费     CPA (Cost Per Action): 按成果数计费     CPM (Cost Per Mille): 按千次展现计费     CVR (Click Value Rate): 转化率,衡量CPA广告效果的指标     CTR (Click Through Rate): 点击率 ...
现在的项目越来越多的用maven等工具做管理工具了,这个东西有好也有坏。 好处是项目jar包,结构统一管理了,坏处是不是每个地方都有私服。 所以有些jar,你必须你想添加,又没私服,怎么办?   你只需要按照下面,简单执行,一次,然后重新maven building就OK  1,切到下载的.jar所在位置 如 c:/sqljdbc4.jar 2,执行下面安装命名 mvn install:install-file -Dfile=ojdbc14-10.1.0.jar -Dpackaging=jar -DgroupId=com.oracle.ojdbc -DartifactId=o ...

hadoop 学习历程二

hadoop生态圈: Common 一组分布式文件系统和通用i/o的组件接口(序列化,java rpc 和持久化数据结构) Avro 一种支持高效,跨语言的RPC以及永久存储数据的序列化系统 MapReduce 分布式数据处理模型和执行环境,运行于大型商用机集群 HDFS 分布式文件系统 运行于大型商用机集群 Pig 一种数据流语言和运行环境,用以检索非常大的数据集。比如运行在MapReduce和HDFS集群上 Hive 一个分布式,按列存储数据库。Hive管理HDFS中存储的数据,并提供基于sql的查询语言(运行时引擎翻译成MapReduce作业)用以查询数据。 Hbase 一 ...
公司有可能要用hadoop了,我极其兴奋,开始自己先研究了以下内容均是来自互联网和自己的实践。主要是记录自己的学习过程。 首先是要知道什么是hadoop,这个东西有什么用。 hadoop 是 Doug cutting 创建的 ,起源于 Apache Nutch,(一个网络搜索引擎),它是lucene(文本搜索系统库)的一部分。 2003年google  发布了一遍论文:google分布式文件系统。GFS,这个可以解决在网页爬起和索引过程中的超大文件的存储需求。 2004年开始实现一个开源的实现,Nutch的分布式文件系统NDFS。 2004年google 发布了论文介绍他们的Map ...
Global site tag (gtag.js) - Google Analytics