关于ecmascript:eshbase学习

11次阅读

共计 1648 个字符,预计需要花费 5 分钟才能阅读完成。

第一步:搞清楚这个框架(技术)是干什么的,解决了什么问题和痛点,同类“竞品”还有哪些

第二步:怎么用

第三步:理解原理

Elasticsearch

WHAT

Elasticsearch 是一个基于 Lucene搜寻服务器 。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web 接口。

Elasticsearch 是用 Java 语言开发的,是一种风行的企业级搜索引擎。

Elasticsearch 的底层是开源库 Lucene。咱们没有方法间接应用 Lucene,必须本人写代码去调用它的接口。

ElasticsearchLucene 的封装,提供了 RESTful API 的操作接口,开箱即用。

WHY

应用数据库 来做搜寻业务,不能很好的满足需要。

尽管某一水平上也能够视为数据库,然而它更次要的身份还是一个优良的 全文搜索引擎。它的呈现解决了一部分传统关系型数据库和 NoSQL 非关系型数据库所没有方法高效实现的一些工作,比方高效的全文检索,结构化检索,甚至是数据分析。

响应工夫

eg:数据库在做含糊查问时,如LIKE 语句,它会遍历整张表,同时进行字符串匹配。

es 是基于 顺叙索引 的,检索速度十分快。

分词

Elasticsearch反对中文分词插件

相关性

Elasticsearch 反对全文搜寻和相关度评分。这样在返回后果就会依据分数由高到低排列。分数越高,意味着和查问语句越相干。

可视化界面

MySQL 的 Navicat

ElasticsearchKibana

HOW

入门应用

Hbase

WHTA

Hadoop Database

HBase 是 Apache 的 Hadoop 我的项目的子项目。

HBase 是一个高可靠性、高性能、面向列、可伸缩的 分布式存储系统

HBase 不同于个别的关系数据库,它是一个适宜于非结构化数据存储的数据库,HBase基于列的而不是基于行的模式.

HBase的原型是 Google 的 BigTable 论文。

WHY

MySQL无奈满足海量的数据存储,

MySQL -> 面向行存储

HBase -> 面向行存储

HOW

HBase 概念视图

表名:webtable

两行:com.cnn.wwwcom.example.www

三个列族:contentsanchorpeople

对于第一行com.cnn.www

anchor列族蕴含两列:anchor:cssnsi.comanchor:my.look.ca

{
“com.cnn.www”: {
contents: {
t6: contents:html: “<html>…”
t5: contents:html: “<html>…”
t3: contents:html: “<html>…”
}
anchor: {
t9: anchor:cnnsi.com = “CNN”
t8: anchor:my.look.ca = “CNN.com”
}
people: {}
}
“com.example.www”: {
contents: {
t5: contents:html: “<html>…”
}
anchor: {}
people: {
t5: people:author: “John Doe”
}
}
}

HBase 物理视图

HBase 概念视图中显示的 空单元基本不存储

HBase 表、行与列族

创立一个 HBase 表:

create‘<table name>’,’<column family>’

HBase中的行是逻辑上的行,物理模型上行时按列族(column family)别离存取的。

列族

Hbase表中的每个列都归属于某个列族,

列名由其 列族前缀 和 限定符 组成,

列的限定符是列族中数据的索引。

eg

列族:course

列名:course:mathcourse:english

cell

由行和列的坐标穿插决定;

单元格是有版本的;

单元格的内容是未解析的字节数组

单元格是由行、列族、列限定符、值和代表值版本的工夫戳组成的,({row key,column( =<family>+<qualifier>),version})惟一确定单元格。cell 中的数据是没有类型的,全副是字节码模式存储。

正文完
 0