nosql

How to speed up a Cosmos DB aggregate query?

偶尔善良 提交于 2020-02-02 02:30:08
问题 Our cosmos db aggregate query seems slow and costs a lot of RUs. Here are the details (plus see screenshot below): 2.4s and 3222RUs to count a result set of 414k records. Also this for just one count. Normally we would want to do a sum on many fields at once (possible only within a single partition), but performance for that is much worse. There are 2 million records in this collection. We are using Cosmos DB w/SQL API. This particular collection is partitioned by country_code and there are

Redis

邮差的信 提交于 2020-02-02 00:30:36
Redis使用场景 1 Redis 是什么? 通常而言目前的数据库分类有几种,包括 SQL/NSQL,,关系数据库,键值数据库等等 等,分类的标准也不以, Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数 据库之间。 Redis不仅能保存 Strings类型的数据,还能保存 Lists类型(有序)和 Sets类型(无序)的数据,而且还能完成排序( SORT) 等高级功能,在实现 INCR, SETNX等功能的时候,保证了其操作的原子性,除此以外,还支持主从复制等功能。 更为详细的描述请参考如下: http://code.google.com/p/redis/wiki/index Redis官方也同样提供了一个名为 Retwis的项目代码,可以对照着官方学习。 2 Redis用来做什么? 通常局限点来说, Redis也以消息队列的形式存在,作为内嵌的 List存在,满足实时的高并发需求。而通常在一个电商类型的数据处理过程之中,有关商品,热销,推荐排序的队列,通常存放在 Redis之中,期间也包扩 Storm对于 Redis列表的读取和更新。 3 Redis的优点性能极高 – Redis能支持超过 100K+ 每秒的读写频率。丰富的数据类型 – Redis支持二进制案例的 Strings,

【Redis】基础知识

别等时光非礼了梦想. 提交于 2020-02-01 01:18:14
是什么? REmote DIctionary Server(远程字典服务器) 是一个高性能的分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前热门的NoSQL数据库之一,也被人们称为数据结构服务器。 能做什么? 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务 取最新N个数据的操作 模拟类似于HttpSession这种需要设定过期时间的功能 发布、订阅消息系统 定时器、计数器 特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用 Redis不仅支持简单的key-value类型的数据,而且还提供list、set、zset、hash等数据结构的存储 Redis支持数据的备份 怎么用? 数据类型、基本操作和配置 持久化和复制,RDB/AOF 事务的控制 复制 基础知识 单进程 默认有16个数据库,类似数组下标从0开始,初始默认使用0号库 select命令切换数据库 Dbsize查看当前数据库key的数量 索引都是从0开始的 默认端口是6379 数据类型 String(字符串) 二进制安全的(redis的string可以包含任何数据,比如jpg图片或者序列化的对象) 是redis最基本的数据类型,一个redis中字符串value最多可以是512M Hash(哈希) 是一个键值对集合

NoSQL的使用场景

∥☆過路亽.° 提交于 2020-01-31 17:47:45
NoSQL=Not Only SQL 常见的NoSQL解决方案: 1)K-V存储: 解决关系数据库无法存储数据结构的问题,以Redis为代表; 2)文档数据库 :解决关系数据库强shema约束的问题,以MongoDB为代表; 目前绝大多数文档数据库存储的数据格式是JSON或BSON; 使用场景:在常见的电商网站设计中,可以使用关系型数据库存储商品库存信息、订单基础信息,而使用文档数据库来存储商品详细信息。(因为不同的商品属性差异很大) 3)列式数据库 :解决关系数据库大数据场景下的I/O问题,以HBase为代表; 列式存储具有更高的存储压缩比,能够节省更多的存储空间,行式存储压综率在3:1到5:1左右,而列式存储压缩纺一般在8:1到30:1左右。 使用场景 :一般将列式存储应用在离线的大数据分析和统计场景中,因为这种场景主要是针对部分列进行操作,且数据写入后就无须再更新删除。 4)全文搜索引擎: 解决关系数据库全文搜索性能问题,以Elasticsearch为代表; 来源: CSDN 作者: Kieven2oo8 链接: https://blog.csdn.net/kieven2008/article/details/104123143

Redis

Deadly 提交于 2020-01-31 13:48:35
1. Redis是什么? Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,带有半径查询和流的地理空间索引。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。 Redis是用C语言开发的一一个开源的高性能键值对( key-value )内存数据库。 它提供五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型 它是一个NoSQL数据 库 Redis支持哪几种数据类型:String、List、Set、Sorted Set、hashes 2 Redis有那些优势? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除 3 Redis的特点? Redis可以从磁盘重新将数据加载到内存中

NoSQL数据库的四大分类的分析

ⅰ亾dé卋堺 提交于 2020-01-31 09:36:18
分类 Examples 举例 典型应用场景 数据模型 优点 缺点 键值( key-value ) Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 Key 指向 Value 的键值对,通常用 hash table 来实现 查找速度快 数据无结构化,通常只被当作字符串或者二进制数据 列存储数据库 Cassandra, HBase, Riak 分布式的文件系统 以列簇式存储,将同一列数据存在一起 查找速度快,可扩展性强,更容易进行分布式扩展 功能相对局限 文档型数据库 CouchDB, MongoDb Web 应用(与 Key-Value 类似, Value 是结构化的,不同的是数据库能够了解 Value 的内容) Key-Value 对应的键值对, Value 为结构化数据 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 查询性能不高,而且缺乏统一的查询语法。 图形 (Graph) 数据库 Neo4J, InfoGrid, Infinite Graph 社交网络,推荐系统等。专注于构建关系图谱 图结构 利用图结构相关算法。比如最短路径寻址, N 度关系查找等 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群

四大类NOSQL数据库

ε祈祈猫儿з 提交于 2020-01-31 08:32:14
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。 NoSQL数据库的四大分类 键值存储数据库 这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB. 列存储数据库 这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak. 文档型数据库 文档型数据库的灵感是来自于Lotus Notes办公软件的,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可 以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如

NoSQL数据库

眉间皱痕 提交于 2020-01-31 07:23:48
最近看到Neo4J图形数据库也属于NoSQL,那NoSQL是什么,有几种类型? NoSQL泛指非关系型的数据库。Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。用于超大规模数据的存储。 优势:   易扩展   大数据量高性能   多样灵活的数据类型 NoSQL数据库主要类型 (1)Key-Value 数据库   使用键值(key-value)存储的数据库,其数据按照键值对的形式进行组织、索引和存储。   数据模型:键/值对     值是一个字符串对象,可以是任意类型的数据   常见的:Redis,Memcached,Cassandra,LevelDB   优点:简单、易部署,大量写操作时性能高,查找速度快,扩展性好,灵活性好   缺点:无法存储结构化信息、条件查询效率较低   应用:     主要用于处理大量数据的高访问负载,如:       频繁读写,拥有简单数据模型的应用       内容缓存(如会话、配置文件、参数、购物车)       存储配置和用户信息的移动应用 (2)文档数据库   面向文档数据库会将数据以文档的形式储存。每个文档都是自包含的数据单元,是一系列数据项的集合。每个数据项都有一个名称与对应的值,值既可以是简单的数据类型也可以是复杂的类型。   文档数据库通常以 JSON 或 XML 格式存储数据。   数据模型:键/值对

NoSQL简介

偶尔善良 提交于 2020-01-31 06:08:34
1.什么是NoSql:   NoSql(Not Only SQL),意即“不仅仅是SQL”,指的是非关系型数据库。随着互联网Web2.0网站的兴起,传统的关系型数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型数据库则由于其本身的特点得到了非常迅速的发展。非关系型数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。例如谷歌或Facebook每天为他们的用户收集万亿比特的数据。 这些类型的数据存储不需要固定的模式 ,无需多余操作就可以横向扩展。 NoSql的好处:  易扩展:   NoSql数据库种类繁多,但是有一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩 展。也无形之间,在架构的层面上带来了可扩展的能力。  高性能:   NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。 一般MySQL使用Query Cache, 每次表的更新Cache就失效,是一种大粒度的Cache ,在针对Web2.0的交互频繁的应用,Cache性能 不高。 而NoSQL的Cache是记录级的,是一种细粒度的Cache ,所以NoSql在这个层面上来说就要性能高很多了。

NoSQL databases that officially support MonoTouch

旧巷老猫 提交于 2020-01-31 05:00:08
问题 I am having trouble finding a NoSQL databases that officially support MonoTouch via a local DB on the device. If their are, could someone provide a list of them here. 回答1: According to http://nosql-database.org/ there's siaqodb. Note that others might support MonoTouch without being mentioned in that site. Edit : a few more clicks shows that HSS Database (from the same list) also supports MonoTouch. You might also want to look at which ones support iOS (e.g. with Objective C) and see if