nosql

Redis

大兔子大兔子 提交于 2020-01-16 01:56:46
一、NOSQL redis是一款高性能的NOSQL系列的非关系型数据库 缓存: 缓存的目的,主要是解决低速IO和高速缓存(CPU高速缓存)之间的差异 使用缓存的原则:二八原则:20%的热点数据放入缓存中,80%的数据放入mysql数据中 1.1 什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 NOSQL和关系型数据库比较 优点 1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比 关系型数据库价格便宜。 2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及 nosql数据库。 3)存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。 4)扩展性

Redis基础总结

こ雲淡風輕ζ 提交于 2020-01-16 01:46:02
1.Nosql概念: NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。(引自百度百科) 2.Nosql数据库的分类(特点): key-value(键值对形式)型 nosql数据库 – 代表 redis ​列式存储型,代表–Hbase 文档型代表–MangoDB 图表型代表–Neo4J 3.redis的认识: (1) redis开源 高性能nosql数据库,数据可以存储在内存或磁盘上面 (2) Redis 主要key-value结构形式存储,redis底层支持各种类型的数据存储结构 包括 list set map(hash) string等 4.redis特点:(面试题) (1) 数据存储内存,速度比较快 (2) 支持类型比较多 ​ string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合–api)和hash(哈希类型)。 (3)支持磁盘存储 – 完成持久化操作 (aof rdb) (4) 支持数据的过期 --(设置过期时间

Redis知识点

我的梦境 提交于 2020-01-16 00:15:23
1.NoSql的概念 1. 什么是NoSql nosql 它是非关系型数据库 nosql 用于解决网站里面大数据和高并发的问题 2. Nosql数据库(特点) key-value(键值对形式)型 nosql数据库 – 典型代表 redis 2.redis的认识 redis开源 高性能nosql数据库,数据可以存储在内存或磁盘上面 Redis 主要key-value结构形式存储,redis底层支持各种类型的数据存储结构 包括 list set map(hash) string等 3.redis的特点 数据存储内存,速度比较快 支持类型比较多 ,string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合–api)和hash(哈希类型)。 支持磁盘存储 – 完成持久化操作 (aof rdb) 支持数据的过期 --(设置过期时间 expire) 支持集群操作 支持订阅和发布 3. Redis 和 Memcache区别 不同点:memecache 把数据全部存在内存之中,断电后就没了,数据也不能超过内存大小, redis有部份存在硬盘上,这样能保证数据的持久性,支持数据的持久化 相同点:memcache和redis 都是 key-value 非关系型数据,redis 它是 key-value型的非关系型数据库,作用做缓存 4. Redis的使用

Selecting top N records per group in DynamoDB

倖福魔咒の 提交于 2020-01-15 11:59:25
问题 Is NoSQL in general, and DynamoDB in particular, well suited to performing greatest-n-per-group type queries, as compared to MySQL? 回答1: DynamoDB support only 2 index and can only be queried efficiently on these. hash key range key ( optional ) Using DynamoDB to find the biggest values in a random "row" is not a good idea at all. Querying on a random row implies scanning the whole dataset which will cost you a lot of money. Nonetheless, if your data is properly modeled, query method may be

FireStore - how to get around array “does-not-contain” queries

不想你离开。 提交于 2020-01-15 10:15:39
问题 After some research, it's seems clear that I cannot use FireStore to query items a given array does NOT contain. Does anyone have a workaround for this use case?... After a user signs up, the app fetches a bunch of cards that each have a corresponding "card" document in FireStore. After a user interacts with a card, the card document adds the user's uid to a field array (ex: usersWhoHaveSeenThisCard: [userUID]) and the "user" document adds the card's uid to a field array (ex:

NoSQL之Mongodb

一曲冷凌霜 提交于 2020-01-15 09:02:53
mongodb简介 MongoDB是一个基于 分布式文件存储的数据库 ,由c++语言编写. 在高负载的情况下,添加更多的节点,可以保证服务器性能,MongoDB指在为web应用提供 可扩展的高性能数据存储 解决方案. MongoDB将数据存储为一个文档,数据结构有键值对组成.MongoDB文档类似于json对象 { "_id" : ObjectId("5d0f43c6bf3f9a9fb70def86"), "name" : "alexDSB" } 存储样式 1.MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。 2.你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。 3.你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。 4.如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。 5.Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。 6.MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。 7.Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。 8

Redis—从入门到入土

落花浮王杯 提交于 2020-01-15 04:18:44
传统DB的缺点 像Mysql、和Oracle 这种关系型数据库,虽然有着数据稳定和服务稳定、数据一致性的特点,但也存在一个致命的缺陷: 高并发下DB不稳定 在高并发的情况下,DB的不稳定性,在大量用户访问时DB出奇的慢,因为对磁盘操作需要使用IO流,一个字节一个字节存取操作。要将所有数据读取到内存中后才可以操作。所以在高并发下DB的 高可用 便成了问题。这时NoSQL便应运而生。 什么是NOSQl NoSQL是对不同于传统的关系数据库的数据库管理系统的统称。即非关系型数据库 NOSQL:因为是内存操作数据,非常快,解决了三高问题(高并发、高海量、高可用) 非关系型数据库与非关系型数据库的区别 关系型数据库 非关系型数据库 以文件方式保存 存储在内存中,服务器关闭数据可能会丢失 数据可以永久保存 不能持久化保存,可能导致数据丢失 查询速度慢 存取速度快 常见的NOSQL数据库 Redis 简单翻译下 Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。它支持诸如字符串、散列、列表、集、带范围查询的排序集、位图、hyperloglogs、带半径查询和流的地理空间索引等数据结构。Redis具有内置的复制、Lua脚本、LRU清除、事务和不同级别的磁盘持久性,并通过Redis Sentinel和带有Redis集群的自动分区提供高可用性

Using $not in mongodb

大兔子大兔子 提交于 2020-01-15 01:23:45
问题 I'm trying to do something like this : select * from table where not (a=3 and b=4 and c=3 or x=4) I would expect this to work: db.table.find({ $not: { $or: [ { $and: [ { a: 3 }, { b: 4 }, { c: 3 } ] }, { x: 4 } ] } }) But it gives me an error: error: { "$err" : "invalid operator: $and", "code" : 10068 } Is there another way to express it in mongodb? 回答1: Using { $not : { $and : []} } will not work ( $not is not like other operators, can only be applied to negate the check of other operators).

How to update all records in DynamoDB?

戏子无情 提交于 2020-01-14 19:53:08
问题 I am new to nosql / DynamoDB. I have a list of ~10 000 container-items records, which is updated every 6 hours: [ { containerId: '1a3z5', items: ['B2a3, Z324, D339, M413'] }, { containerId: '42as1', items: ['YY23, K132'] }, ... ] (primary key = containerId) Is it viable to just delete the table , and recreate with new values? Or should I loop through every item of the new list , and conditionally update/write/delete the current DynamoDB records (using batchwrite)? 回答1: For this scenario batch

maximum number of partitions limit per table in cassandra

假装没事ソ 提交于 2020-01-14 13:54:55
问题 I am new to cassandra, As per my understanding depending on the configured partitioner(murmur3partitioner or randomaccess partitioner) there is a partitions limit per table. if we configure keyspace with murmur3partitioner which would enforce the partitions limit of 2^63 partitions per table. while inserting the row, if the new insertion tries to create new partition beyond the limit, the insertion would fail(means if I get unique combinations of row keys more than 2^63 per table). Can anyone