微信搜索lxw1234bigdata | 邀请体验:数阅–数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

SQL for ElasticSearch—Crate.io简介

大数据平台 lxw1234@qq.com 18068℃ 5评论

再次调研这个东西,是为了满足下面的需求:

一张拥有50+字段的表,记录数大概5亿-10亿;需要对每个字段进行模糊搜索,并要求即时响应结果;需要做一些简单的聚合统计;

看到这个需求,肯定想到搜索,那么就是ElasticSearch了。但ES对SQL支持太弱了,因此想使用CrateDB。

CrateDB是什么

 

CrateDB是一个开源的分布式数据库:

  • 底层基于ElasticSearch;
  • 使用SQL处理结构化和非结构化数据;
  • 分布式执行SQL,实时的查询响应,支持Join、聚合和搜索;
  • 可以很方便的扩展;

功能及特性

  • 可扩展性:shared-nothing架构,只需要往集群中增加机器,剩下的rebalance、数据重分布,均由CrateDB自己完成;
  • 高可用性:集群中每一个节点都是一样的,Master通过选举产生,当正在服务的Master挂掉,很快就会选举出新的Master。另外,类似于HDFS,CrateDB中的数据也有副本机制,可以自己设置。
  • 分布式SQL查询:支持查询、关联、聚合、搜索等;其中用于搜索的字段可指定native和full text索引。
  • 良好的数据写入性能:CrateDB中没有事务及锁机制,因此数据写入性能比较好(一个单台节点上可以达到40000+每秒的insert)。另外,在写入时,CrateDB的查询性能不会受到影响。
  • 支持二进制数据存储:BLOB 可存储图片、视频以及超大非结构化文本数据;
  • 动态Schema:可以在已有表中动态增加字段或嵌套的数据结构;
  • 支持Update和Delete;
  • WEB监控页面:可以监控整个集群的健康状态及数据的健康状态;

 

适用场景

  • 具有搜索功能、提供SQL接口、可以水平扩展的数据库;
  • 经济、开源的SQL数据库;
  • 快速的搜索、聚合以及即席查询;
  • 快速的并发读写;
  • 海量数据;
  • 高可用的、用不停机的数据库;

 

不适用场景

  • 强事务要求;
  • 高度规范化(范式)的表以及多表关联;

 

crate

 

之前有文章介绍过Crate的安装:http://lxw1234.com/archives/2015/12/590.htm

官网:https://crate.io/

 

 

 

如果觉得本博客对您有帮助,请 赞助作者

转载请注明:lxw的大数据田地 » SQL for ElasticSearch—Crate.io简介

喜欢 (11)
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(5)个小伙伴在吐槽
  1. 看起来很不错,谢谢分享!这工具适合处理那种字段变动快的JSON数吗?
    Riordon2017-01-12 09:42 回复
    • 可以,字段可以是动态的,对应object数据类型。
      lxw1234@qq.com2017-01-12 13:39 回复
  2. 怎么感觉很多系统用着用着都成了结构化数据处理
    Riordon2017-01-12 09:51 回复
    • 因为处理的很多数据还是结构化的
      whitewood2017-01-17 16:12 回复
  3. crate.io有个很蛋疼的地方:不支持join条件下的group
    奥特曼2017-02-04 15:54 回复