nosql

mongodb

℡╲_俬逩灬. 提交于 2019-12-10 00:22:52
1:数据库用来做什么? 答: 存储数据 2:数据库分为:关系型数据库和非关系型数据库 3:关系型数据库和非关系型数据库的区别在于是否有表 4:非关系型数据库的存储格式是Bson 5:基本理解: 数据库功能是用来存储数据的。 数据库分为关系系数据库和非关系型数据库(nosql) 关系型数据库是由表和表之间的关系组成的,nosql是由集合组成的,集合下面是很多的文档。 非关系型数据库文件存储格式为BSON(一种JSON的扩展)。 6: 6.1.1.增加数据(重点中的重点) db.web.save({“name”:“老李”}) 创建了名为web的集合,并新增了一条{“name”:“老李”} 的数据 db.web.insert({“name”:“ghost”, “age”:10}) 在web集合中插入一条新数据,如果没有web这个集合,mongodb会自动创建 save()和insert()也存在着些许区别:若新增的数据主键已经存在,insert()会不做操作并提示错误,而save() 则更改原来的内容为新内容。 _id是主键,主键是每条数据的唯一标识,不能重复,就像身份证是每个人唯一的编号一样。 存在数据:{ _id : ObjectId(“57e8d34b4764fb71d0a89caa”), " name " : " 老李"} ,_id是主键 insert({ _id :

Couchbase之环境搭建 与 基于Java的测试

我的梦境 提交于 2019-12-09 23:43:19
Couchbase Server (前身是 Membase) 是一个分布式的面向文档的 NoSQL 数据库管理系统,该系统联合了 CouchDB 的简单和可靠以及 Memcached 的高性能。 网上有MongoDB与Couchbase的对比,请参考: http://www.infoworld.com/d/data-management/nosql-showdown-mongodb-vs-couchbase-214912 Couchbase主页: http://www.couchbase.com/ 本文的目标是搭建简单的Couchbase环境并用Java语言进行读写测试。 1.准备工作 1)下载 Couchbase Server ,本文用到的版本是 version 2.1.1 for win64 ,2.0在某些机器上装不上,内核问题。 2)下载 Java相关类库 相关下载链接: http://www.couchbase.com/download 2.安装Couchbase Server 1)安装过程很简单,在官网下载并安装即可。 2)安装完成后Couchbase Console程序会自动打开http://localhost:8091地址,这时候有可能会打不开,最有可能出现的问题就是端口被占用了。 (占用与否,可以用cmd查一下) 这时再打开http://localhost

21.1 NoSQL介绍 21.2 memcached介绍 21.3 安装memcached 21.4 查看memcached状态

a 夏天 提交于 2019-12-09 22:54:49
21.1 NoSQL介绍 21.2 memcached介绍 数据存在内存里,不支持持久化,一旦重启服务器或者 memcached 服务就会丢失。所以定期把数据落地存放在硬盘里,如重启服务前 21.3 安装memcached systemctl start memcached 更改参数方法一: 用命令行启动,启动时更改参数 方法二: vim /etc/sysconfig/memcached 21.4 查看memcached状态 查看状态 方法一: 方法二 使用nc命令 yum install -y nc 方法三: 来源: CSDN 作者: 306983980 链接: https://blog.csdn.net/u011192615/article/details/103466196

Redis入门-架构篇

一笑奈何 提交于 2019-12-09 22:27:09
关系代数的RDB,发展了很多年,很多成熟的产品和技术;K-V的redis,现在到了3.x,支持lua脚本、订阅、集群等;图形的neo4j,还有支持分布式的titan;文档数据库mongodb,换装wt引擎后更强劲; 还有hbase、cassandra等列式数据库,在大数据方向蛮火;最后,别忘了文件系统,nfs、fastdfs、gridfs等,好多东东,整吧,你已经上了贼船。 来张redis的图: 其实redis的核心就是内存存储、以及大量应用了map这种数据结构,虽说达不到O(1),但内存会肯快,相比网络IO; 数据结构,比memcache丰富得多,list、map、set、有序set、bitmap,而且具体的数据结构实现有linkedlist、ziplist、intset、skiplist、hashtable等,你可以兼顾内存消耗与效率。 日志:RDB一次性dump,AOF缓冲区,按策刷盘,高并发还是用aof的; 事务:redis引擎虽说是单线程的,但不保证ACID事务,当然lua脚本很灵活; 主从:主动复制模式,支持树状结构,全量复制和部分复制; 高可用:主客观下线、哨兵选举、故障转移,那个sentinel选举就是paxos的简化版; 集群:gossip协议配置更新,支持集群的伸缩,就是槽位的变化,当然最好配合smart客户端。 有观点认为redis支持事务,但你muti的命令

初识MongoDB

懵懂的女人 提交于 2019-12-09 21:06:30
数据库: 数据库分为关系系数据库(sql)和非关系型数据库(nosql) 关系型数据库是由表和表之间的关系组成的,nosql是由集合组成的,集合下面是很多的文档。 非关系型数据库文件存储格式为BSON(一种JSON的扩展)。 MongoDB: MongoDB 是一个基于分布式文件存储的数据库 分布式算法指的是将一个大型的任务进行分解,将每一个小任务的执行结果组合起来,返回一个整体(git) 文件存储格式为BSON (-- BSON是一种类似json的二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型) MSI:界面化安装 (QQ等应用程序) ZIP:安装包 navicat 可视化工具 bin 命令 MongoDB操作命令: 前提:终端输入mongo 使用数据库: show dbs 显示数据库列表 show collections 显示数据库中的集合 use 数据库名称 创建或切换数据库 添加数据库: db.集合名称[复数].save({json}) 创建一个集合,并且往这个集合添加一条数据 可以用于修改数据,但是要添加主键 db.集合名称[复数].insert({json}) save如果指定主键,就是修改 insert指定主键添加,会报错 删除数据库: db

In Hadoop, where can i change default url ports 50070 and 50030 for namenode and jobtracker webpages

…衆ロ難τιáo~ 提交于 2019-12-09 18:36:00
问题 There must be a way to change the ports 50070 and 50030 so that the following urls display the clustr statuses on the ports i pick NameNode - http://localhost:50070/ JobTracker - http://localhost:50030/ 回答1: Define your choice of ports by setting properties dfs.http.address for Namenode and mapred.job.tracker.http.address for Jobtracker in conf/core-site.xml: <configuration> <property> <name>dfs.http.address</name> <value>50070</value> </property> <property> <name>mapred.job.tracker.http

Azure DocumentDB ARRAY_CONTAINS on nested documents

烂漫一生 提交于 2019-12-09 18:34:13
问题 It seems like the ARRAY_CONTAINS function on nested documents never matches any document. For example, trying the following simple query with the Azure DocumentDB Query Playground would return no result, even if some nested documents should match this query. SELECT * FROM food WHERE ARRAY_CONTAINS(food.tags.name, "blueberries") This past question on Stack Overflow also infered that this kind of nested query is valid. Thank you 回答1: The first argument to ARRAY_CONTAINS must be an array. For

java长链接转短链接代码和如何跳转使用

你离开我真会死。 提交于 2019-12-09 17:46:34
一、实现原理 1. 将长网址用md5算法生成32位签名串,分为4段,,每段8个字符。 2. 对这4段循环处理,取每段的8个字符, 将他看成16进制字符串与0x3fffffff(30位1)的位与操作,超过30位的忽略处理。多了也没用因为下面要分成6段 嘿嘿正好取整。注意用Long型变量(长度问题 你懂得) 3. 将每段得到的30位字符(后台以long十进制显示)又分成6段,通过移位运算将每5位分别与字符数组求与运算(0x0000003D),得到其在字符数组中的索引并取出拼串。 4. 这样一个md5字符串可以获得4个6位串,取里面的任意一个就可作为这个长url的短url地址。 二、代码实现 import org.apache.commons.codec.digest.DigestUtils; public class ShortUrl { public static void main(String[] args) { // 长连接 String longUrl = "http://data.13322.com/basket/team/27_0_1.html"; // 转换成的短链接后6位码 String[] shortCodeArray = shortUrl(longUrl); for (int i = 0; i < shortCodeArray.length; i++) {

Binning and tabulate (unique/count) in Mongo

跟風遠走 提交于 2019-12-09 16:02:28
问题 I am looking for a way to generate some summary statistics using Mongo. Suppose I have a collection with many records of the form {"name" : "Jeroen", "gender" : "m", "age" :27.53 } Now I want to get the distributions for gender and age. Assume for gender, there are only values "m" and "f" . What is the most efficient way of getting the total count of males and females in my collection? And for age, is there a way that does some 'binning' and gives me a histogram like summary; i.e. the number

Redis介绍,Nosql介绍

假装没事ソ 提交于 2019-12-09 14:05:35
Redis介绍: Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言 编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库 ,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。 1.Nosql介绍: NoSQL(Not only Sql 不仅仅是SQL),泛指非关系型的数据库。随着互联网 web2.0 网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的 SNS 类型的web2.0纯 动态网 站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。 NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。 2.Sql和Nosql的区别: sql(关系型数据库):表与表之间建立关联关系。 nosql(非关系型数据库):数据与数据之间没有关联关系。 3.NoSQL数据库的四大分类(加红是同类中主流一些的): 键值(Key-Value)存储数据库: 这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署