nosql

CDH版本Hbase二级索引方案Solr key value index

▼魔方 西西 提交于 2020-01-28 12:30:11
概述 在Hbase中,表的RowKey 按照字典排序, Region按照RowKey设置split point进行shard,通过这种方式实现的全局、分布式索引. 成为了其成功的最大的砝码。 然而单一的通过RowKey检索数据的方式,不再满足更多的需求,查询成为Hbase的瓶颈,人们更加希望像Sql一样快速检索数据,可是,Hbase之前定位的是大表的存储,要进行这样的查询,往往是要通过类似Hive、Pig等系统进行全表的MapReduce计算,这种方式既浪费了机器的计算资源,又因高延迟使得应用黯然失色。于是,针对HBase Secondary Indexing的方案出现了。 Solr Solr是一个独立的企业级搜索应用服务器,是Apache Lucene项目的开源企业搜索平台, 其主要功能包括全文检索、命中标示、分面搜索、动态聚类、 数据库 集成,以及富文本(如Word、PDF)的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr 4还增加了NoSQL支持,以及基于Zookeeper的分布式扩展功能SolrCloud。SolrCloud的说明可以参看: SolrCloud分布式部署 。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展

NoSQL简单介绍

☆樱花仙子☆ 提交于 2020-01-27 05:26:18
这里介绍一下如今经常使用的NoSQL以及各自的特点。 NoSQL是2009年突然发展起来的。如今趋于稳定的状态,市场上也有了一些比較成熟的产品。 传统的关系型数据库为了保证通用性的设计而带来了功能复杂、性能开销大、价格昂贵等问题,在NoSQL中都或多或少的得到了解决。NoSQL避免了一些不须要的复杂性,有更高的吞吐量。具有高并发的特点。也具备在商用硬件上的水平拓展能力。 不仅如此,NoSQL也实现了大表的自己主动切割功能,能够更好的支持分布式处理,在性能和可靠性之间折中,这是满足如今云计算中提到的从中心模式到分布模式的需求的。这也是NoSQL这几年特别火热的原因。 以下介绍一下如今流行的NoSQL各自的特点: memcached 第一个NoSQL数据库,其本质是一个存储键值对的hashmap,是一个高性能的分布式内存缓存server,用于动态web应用以减轻数据库负载。 client通过memcached协议与守护进程通信。可是缺乏认证以及安全管制,是一个内存存储方式的不互相通信的分布式数据库。 redis 也是一个键值对存储的数据库,和memcached类型,可是相比memcached而言,redis的数据是也是存储在内存中的,也有硬盘存储支持的内存数据库。也就是说,不会因为server重新启动而丢失数据。其value数据类型丰富,查询速度也非常快。并且同意用户实现消息机制。

redis 是什么?都有哪些使用场景?

不想你离开。 提交于 2020-01-26 20:36:28
一、什么是redis 首先要说redis,应该先说一下nosql, NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”, 泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。 (例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。 Redis:REmote DIctionary Server(远程字典服务器)是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。 二、redis使用场景 1、热点数据的缓存 由于redis访问速度块、支持的数据类型比较丰富,所以redis很适合用来存储热点数据,另外结合expire,我们可以设置过期时间然后再进行缓存更新操作,这个功能最为常见,我们几乎所有的项目都有所运用。

Redis入门

心已入冬 提交于 2020-01-26 00:56:38
Redis介绍 什么是Redis? Redis 是用 C语言 开发的一个 开源 的高性能 键值对 (key-value) 内存数据库 。 它提供 五种数据类型 来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型 它是一种 NoSQL 数据库。 什么是NoSQL? NoSQL,即Not-Only SQL(不仅仅是SQL),泛指 非关系型的数据库 。 什么是 关系型 数据库?      数据结构是一种有行有列的数据库 NoSQL数据库是为了解决 高并发、高可用、高可扩展、大数据存储 问题而产生的数据库解决方案。 NoSQL可以作为关系型数据库的良好补充,但是 不能替代关系型数据库. NoSQL数据库分类 n 键值(Key-Value)存储数据库   相关产品: Tokyo Cabinet/Tyrant、 Redis 、Voldemort、Berkeley DB   典型应用: 内容缓存,主要用于处理大量数据的高访问负载。   数据模型: 一系列键值对   优势: 快速查询   劣势: 存储的数据缺少结构化 n 列存储数据库   相关产品:Cassandra, HBase , Riak   典型应用:分布式的文件系统   数据模型:以列簇式存储,将同一列数据存在一起   优势:查找速度快,可扩展性强,更容易进行分布式扩展   劣势:功能相对局限 n 文档型数据库  

HBase

99封情书 提交于 2020-01-25 20:01:56
一、概述 Hbase全称为Hadoop Database(基于HDFS的数据库),设计来源Google 的bigtable,Hbase 仿照 bigtable设计基于HDFS上的一款数据库。 1.1 CAP原则 CAP原则又称之为CAP原理,指的是在分布式系统当中,一致性、可用性、分区容错性,三者不可兼得 HBase 是保证CP 1.2 什么是基于列式存储? HBase 是基于列式存储的NoSql 这个概念和RDBMS作对比,传统的数据库对数据的操作单位是一行(若干字段) select username ,pass from user where id = 1 ; update user set username = "gjf " where id = 1 ; 即使操纵的是某一行记录当中的字段,其实RDBMS是查询了整行的内容加载完后完成对数据的修改 行存储问题 列存储 1.3 HBase https://hbase.apache.org/ Hbase 是基于列式存储的分布式的、面向列、基于HDFS的数据库,在需要实时读写,需要访问超大规模数据时,可以使用HBASE。 1.3.1 特点: 大 : 一个表可以有上亿行,可有上百万列 面向列:可以支持稀疏存储 无模式:表的结构灵活,可以任意增加和减少字段 数据多版本:每个cell中的数据可以用多个版本,在默认情况下,版本号自动分配

MongoDB快速入门

泪湿孤枕 提交于 2020-01-25 16:36:07
从我第一次听到Nosql这个概念到如今已经走过4个年头了,但仍然没有具体的去做过相应的实践。最近获得一段学习休息时间,购买了Nosql技术实践一书,正在慢慢的学习。在主流观点中,Nosql大体分为4类, 键值存储数据库,列存储数据库,文档型数据库,图形数据库 。 今天主要快速的浏览了文档型数据库中目前市场占有率的最高的MongoDB数据库。记得初次见到和关注这个数据库还是我刚来上海的时候,公司将该数据库作 为新建的项目管理系统的后台数据库,当时还是很向往的,只是无缘参与那个项目,也就一直没有和该数据库打上交道。接下来简单的介绍下该数据库的基本原理和 相关应用,也算是巩固知识和加强记忆了。大体上快速学习分为两部分,第一部分为基础,第二部分为进阶。 优势与不足    首 先,MongoDB不需要表结构,它是模式自由的(schema-free),例如{"welcome", "Shanghai"}, {"name", "bibi"}可以放到同一个集合中。那么它是如何在存储数据的呢?MongoDB在保存数据时会使用Bson的形式,一种json的二进制化形式,并把 它与特定的Key进行关联。这样将非常便于程的扩展和维护,在需要增加新字段或者修改字段时只需要修改程序,而不需要修改数据库的架构,非常的方便。   其 次,MongoDB原生的提供很强的伸缩性,对于web应用

Remove duplicates from MongoDB 4.2 data base

若如初见. 提交于 2020-01-25 12:06:23
问题 I am trying to remove duplicates from MongoDB but all solutions find fail. My JSON structure: { "_id" : ObjectId("5d94ad15667591cf569e6aa4"), "a" : "aaa", "b" : "bbb", "c" : "ccc", "d" : "ddd", "key" : "057cea2fc37aabd4a59462d3fd28c93b" } Key value is md5(a+b+c+d). I already have a database with over 1 billion records and I want to remove all the duplicates according to key and after use unique index so if the key is already in data base the record wont insert again. I already tried db.data

Remove duplicates from MongoDB 4.2 data base

我与影子孤独终老i 提交于 2020-01-25 12:03:46
问题 I am trying to remove duplicates from MongoDB but all solutions find fail. My JSON structure: { "_id" : ObjectId("5d94ad15667591cf569e6aa4"), "a" : "aaa", "b" : "bbb", "c" : "ccc", "d" : "ddd", "key" : "057cea2fc37aabd4a59462d3fd28c93b" } Key value is md5(a+b+c+d). I already have a database with over 1 billion records and I want to remove all the duplicates according to key and after use unique index so if the key is already in data base the record wont insert again. I already tried db.data

Have embedded documents instead of relying on foreign keys?

久未见 提交于 2020-01-25 09:37:06
问题 I am new to MongoDB and NoSQL. I actually have different follow up questions depending on how this question gets answered. And I'll post my follow up questions as a separate question. Here we go... I am trying to model a database to help me answer a question such as "Find all departments where 2 (TWO) or more teams each have 2 (TWO) or more employees known to have caused accidents greater than their team's max_accidents." If I were allowed to use a relational database with MySQL, I would

Could some interfaces in java.sql and javax.sql be re-used for NoSQL?

自作多情 提交于 2020-01-25 08:29:04
问题 Other folks have asked about using SQL and NoSQL together, and subsequently whether there's a clean way of defining the access objects in a clean, generic way. My question is somewhat related -- which parts of java.sql and javax.sql can be re-used, and is there any plan for Oracle* to get into the NoSQL space and hopefully provide an API? I know that the various NoSQL options differ quite a lot, hence having a "JDBC" doesn't seem to make sense. PS I like what David Pollack is doing for Lift