*****************开篇介绍**************** ----------------------------------------------------------------------------------------------------------------------- 三个重要的标准: ---大型缓存架构中需要首先说一下: 海量数据:支持海量数据缓存,支持大规模数据: 高并发:在亿级QPS的场景下,可以做到满足业务需求: 高可用:表示redis可以做…
在知乎回答了下,顺手转回来. Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的升华.切实地说,就是ORM让数据库在整个应用过程中更好地被封装和抽象化. ORM一开始只是Mapping,最基础的就是表与类的对应.Column和属性的对应,这只是最基础的.在这个层次上,数据库对象通过Mapping在面向对象语言层面,也就是业务层面被封装成了业务对象,然后允许以操作业务对象的方式对…
原文链接:http://blog.csdn.net/w12345_ww/article/details/52182264 这两天在项目中要涉及到ElasticSearch的使用,就上网去搜索了一些这方面的资料,发现elasticSearch的安装分为单机和集群两种方式.在本例中,我们重点介绍单机下的ElasticSearch的安装,亲测可用,记录下来与各位同仁分享. 一.ElasticSearch概述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全…
美团作为中国最大的在线本地生活服务平台,覆盖了餐饮.酒店.旅行.休闲娱乐.外卖配送等方方面面生活场景,连接了数亿用户和数百万商户.如何帮助本地商户开展在线营销,使得他们能快速有效地触达目标用户群体提升经营效率,是美团的核心问题之一,而机器学习相关技术在本地在线营销场景下发挥着非常关键作用. 本文将从5个方面来介绍.首先,介绍O2O场景下广告业务的特点,及其与B2B和B2C广告业务的差别:其次,从商户效果感知.用户体验和媒体平台收益三个维度,介绍O2O广告业务的最重要的考量指标:第三,从前两节阐述…
Qunar机票技术部就有一个全年很关键的一个指标:搜索缓存命中率,当时已经做到了>99.7%.再往后,每提高0.1%,优化难度成指数级增长了.哪怕是千分之一,也直接影响用户体验,影响每天上万张机票的销售额. 在高并发场景下,提供了保证线程安全的对象.方法.比如经典的ConcurrentHashMap,它比起HashMap,有更小粒度的锁,并发读写性能更好.线程安全的StringBuilder取代String.StringBuffer等等(Java在多线程这块实现是非常优秀和成熟的). Java…
主要知识点 多shard场景下relevence score可能不准确的原因 多shard场景下relevence score可能不准确解决方式     一.多shard场景下relevance score不准确的原因 如果你个index有多个shard的话,可能搜索结果的排序会不准确.主要原因是TF/IDF的算法,es在计算IDF值时,默认只会计算当前shard的IDF值,而不会把整个index作为基数来计算,这样做的目的当前是为了性能,这也是多shard场景下relevance score不…
etcd 在超大规模数据场景下的性能优化   阿里系统软件技术 2019-05-27 09:13:17 本文共5419个字,预计阅读需要14分钟. http://www.itpub.net/2019/05/27/1958/ 不明觉厉 作者 | 阿里云智能事业部高级开发工程师 陈星宇(宇慕) 划重点 etcd 优化背景 问题分析 优化方案展示 实际优化效果 本文被收录在 5 月 9 日 cncf.io 官方 blog 中,链接:https://www.cncf.io/blog/2019/05/09…
作者 | 阿里云智能事业部高级开发工程师 陈星宇(宇慕) 概述 etcd是一个开源的分布式的kv存储系统, 最近刚被cncf列为沙箱孵化项目.etcd的应用场景很广,很多地方都用到了它,例如kubernetes就用它作为集群内部存储元信息的账本.本篇文章首先介绍我们优化的背景,为什么我们要进行优化, 之后介绍etcd内部存储系统的工作方式,之后介绍本次具体的实现方式及最后的优化效果. 优化背景 由于阿里巴巴内部集群规模大,所以对etcd的数据存储容量有特殊需求,之前的etcd支持的存储大小无法满…
背景 主键(Primary Key),用于唯一标识表中的每一条数据.所以,一个合格的主键的最基本要求应该是唯一性. 那怎么保证唯一呢?相信绝大部分开发者在刚入行的时候选择的都是数据库的自增id,因为这是一种非常简单的方式,数据库里配置下就行了.但自增主键优缺点都很明显. 优点如下: 无需编码,数据库自动生成,速度快,按序存放. 数字格式,占用空间小. 缺点如下: 有数量限制.存在用完的风险. 导入旧数据时,可能会存在id重复,或id被重置的问题. 分库分表场景处理过于麻烦. GUID GUID,…
在分布式系统中,有一些场景需要使用全局唯一 ID ,可以和业务场景有关,比如支付流水号,也可以和业务场景无关,比如分库分表后需要有一个全局唯一 ID,或者用作事务版本号.分布式链路追踪等等,好的全局唯一 ID 需要具备这些特点: 全局唯一:这是最基本的要求,不能重复: 递增:有些特殊场景是必须递增的,比如事务版本号,后面生成的 ID 一定要大于前面的 ID :有些场景递增比不递增要好,因为递增有利于数据库索引的性能: 高可用:如果是生成唯一 ID 的系统或服务,那么一定会有大量的调用,那么保证其…