es算nosql,es算nosql吗-成都快上网建站

es算nosql,es算nosql吗

可否完全使用ElasticSearch代替数据库存储

100亿文档),总共10个数据节点和2个元数据节点(48GB内存,8核心CPU,ES使用内存达到70%),每天的文档增量大概是3000W条(速度

在漯河等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站制作 网站设计制作按需策划,公司网站建设,企业网站建设,高端网站设计,全网整合营销推广,成都外贸网站建设,漯河网站建设费用合理。

持续增加中)。目前来看,单个文档的查询效率基本处于实时状态;对于1到2周的数据的聚合统计操作也可以在10秒之内返回结果。

但是,还有提升的空间:

1. 对于查询单条数据的应用场景来说,我们可以使用ES的路由机制,将同一索引内的具有相同特征(比如具有相同的userid)的文档全部存储于一个节点上,这样我们之后的查询都可以直接定位到这个节点上,而不用将查询广播道所有的节点上;

2. 随着数据节点的增加,适当增加分片数量,提升系统的分布水平,也可以通过分而治之的方式优化查询性能;

个人以为Elasticsearch作为内部存储来说还是不错的,效率也基本能够满足,在某些方面替代传统DB也是可以的,前提是你的业务不对操作的事

性务有特殊要求;而权限管理也不用那么细,因为ES的权限这块还不完善。由于我们对ES的应用场景仅仅是在于对某段时间内的数据聚合操作,没有大量的单文

档请求(比如通过userid来找到一个用户的文档,类似于NoSQL的应用场景),所以能否替代NoSQL还需要各位自己的测试。如果让我选择的话,我

会尝试使用ES来替代传统的NoSQL,因为它的横向扩展机制太方便了。

java elasticsearch 如何对两个索引进行关联查询

Java API 支持多个index和多个Type同时查询,但是Elasticsearch是非关系型(NoSQL),所以不能关联查询。

elasticsearch可以代替NoSQL吗

优点:

1.高并发。实测es单机分配10g内存单实例,写入能力1200qps,60g内存、12核CPU起3个实例预计可达到6000qps。

2.同机房单条数据写入平均3ms(比mysql慢,mg不清楚)

3.容错能力比mg强。比如1主多从,主片挂了从片会自动顶上

4.满足大数据下实时读写需求,无需分库(不存在库的概念)。

5.易扩展。实例间做下配置即可扩展并发性和容积,自动分配的写入机制,无需操心传统db中多主同步的诟病

6.支持较复杂的条件查询,group by、排序都不是问题

7.具有一定的关系性,但不用担心大字段的问题

缺点:

1.不支持事务

2.读写有一定延时(不知道其他大牛是否遇到这个问题),我是写入一分钟后再做读操作

3.无权限管理

也是最近开始用,说下我的应用场景,用来存储线上日志做实时分析(类似淘宝鹰眼,但是完全实时),存储结构化的日志及原文,也调研过很多db,mg也有考虑过,相比之下实现和运维成本mg都要高不少

我的场景如下:

1.高并发,设计日志并发80wqps(实际存储会用一些策略缩小规模,约万级别)

2.单条数据体积大,允许最大20k

3.要求支持条件查询

4.实时性高,目前从日志存储开始到出分析结果3分钟,包含前面提到的读写延时(求解决方案)

Redis 可以用来做数据库吗

redis能否做数据库用取决于如下几个条件:

1:数据量,毕竟内存数据库,还是受限于内存的容量,虽然可以redis可以持久化。

2:数据的结构,是否能够将关系型数据结构都转换为key/value的形式。

3:查询的效率,对范围查询等,是否能转换为高效的hash索引查询

redis能不能拿来当数据库,取决于你想要存储什么数据:

如果你打算存储一些临时数据,数据规模不大,不需要太复杂的查询,但是对性能的要求比较高,那可以拿redis当数据库使用。

否则别拿来当数据库用。

redis 能不能做数据库,要看你具体的需求了:

1. 像上面提到的,redis的持久化有问题,如果使用aof模式,并且fsync always,则性能比mysql 还低,如果你喜欢redis 方便的数据结构而对性能要求不高,或者性能要求很高,但允许一定程度的丢失数据,则可以用redis做为数据库。

2. redis 是内存数据库, 内存写满后,数据不会存储到硬盘上(VM 不稳定,diskstore未启用),如果你内存足够大,则可以用redis作为数据库。

redis是一种k/v的内存数据库,适合小数据量的存储以及实时要求高的地方,但是不适合做完整数据库,完整数据库基本上都有一套详细解决方案,基本上没有做了的,比如mysql。

项目里用到的redis是用来做缓存的,设置过期时间,到时就自动清掉。数据库还是用mysql等这种成熟的方案。

如果你非要用一种nosql来做数据库,推荐你用Mongodb。

这种KV存储完全不具备数据库所能提供的数据安全性保障。

所以还是用来做缓存比较合适。

redis做数据库不靠谱,不是所有的数据都是立即回写磁盘的。

雷克萨斯ES到底算不算中大型车?

关于ES的定位,雷克萨斯更喜欢把它放在“入门级”豪华轿车位置上,关于如何评级,外界争议比较多。

从尺寸上来说,全新雷克萨斯ES尺寸达到了4975*1866*1447mm,从级别上来分析完全定位于一台中大型豪华轿车,尺寸优势不言而喻。

有意思的是,作为纯进口豪华品牌,30万级定价的中大型豪华车,只有雷克萨斯ES,同价位车型尺寸都要远远小于雷克萨斯ES,宝马3系、奔驰E级、奥迪A4L尺寸都只要4.8米级,只有一台雷克萨斯ES定位5米级。

所以说雷克萨斯ES的定位很尴尬,它的对手可以是同指导价的奥迪A4L,也可以是同终端价的奥迪A6L。

的确,目前雷克萨斯ES终端起售价已经稳定在30万左右,而奥迪A6L终端价则稳定在32万左右,这是一个定价与奥迪A4L相同却终端不断加价的车型,它的对手来自于多方面。

从理论上来说,雷克萨斯ES是一台不折不扣的中大型豪华轿车,一方面尺寸优势达到,另一方面价格优势不含糊,而让消费者最质疑的,就是雷克萨斯ES的动力系统。

客观角度评价,ES动力的确不够出色,尤其是ES200版本,百公里11秒加速,即便是ES260以及ES300版本,加速成绩也只能稳定在8-9秒左右,与顶配竞品动辄6-7秒的加速相比,差距仍然很明显。

这其实不难理解,雷克萨斯ES的定位从来都不是越级的运动与性能,这之外的舒适、可靠以及静谧才是雷克萨斯所追求的方向,在指导价产品中,ES的这些方面的综合素质要比BBA出色不少,当然操控与性能同样逊色不少。

而至于对手是谁,我想只能从用户群体角度思考。

30万预算必然选择不到雷克萨斯ES,但却可以轻松选择到一台奥迪A4L,所以站在消费角度分析,雷克萨斯ES与奥迪A4L不是直接对手,没有多少人会30万裸车选择一台奥迪A4L。

但会有很多人30万甚至40万裸车,选择一台雷克萨斯ES,毕竟这是它的门槛区间,同样奥迪A6L的消费区间,是32-45万之间,客观角度分析,奥迪A6L的用户是有可能转化为ES用户。

本文来源于汽车之家车家号作者,不代表汽车之家的观点立场。


标题名称:es算nosql,es算nosql吗
文章来源:http://kswjz.com/article/dssocsc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流