关系型数据库

MongDB简介

风格不统一 提交于 2020-04-04 01:54:40
一、基本概念 MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前NoSQL 数据库产品中最热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB 使用C++开发。MongoDB 的官方网站地址是: http://www.mongodb.org/ ,大家可以在此获得更详细的信息。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json 的bjson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立 索引。它是一个面向集合的,模式自由的文档型数据库。 二、对比 MongoDB 关系型数据库 数据存储 面向集合 面向关系表 数据结构 模式自由 二维表关系模式 事务 不支持 支持 大型数据(视频) 很好 一般 大数据量查询(千万条以上) 很好 较差 数据库维护 相对简单 相对复杂 数据及表关系、结构浏览 困难 简单 数据安全性 较差 很好 分布式 很好 一般 查询 非常灵活 非常强大 主外键关联 不支持 支持 索引 支持 支持 存储过程 支持 支持 三、对比说明 1. 数据存储 MongoDB是面向集合

ElasticSearch快速学习

坚强是说给别人听的谎言 提交于 2020-04-03 12:10:10
一、ElasticSearch 介绍 官网链接 1、简介 ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式的 RESTful 风格的搜索和数据分析引擎。 Elasticsearch 是用 Java 语言开发的,并作为 Apache 许可条款下的开放源码发布,是一种流行的企业级搜索引擎。 ElasticSearch 能够达到实时搜索,稳定,可靠,快速,安装使用方便。 2、特性 存储:分布式的文档存储引擎,支持PB级数据。 查询和分析:分布式的搜索引擎和分析引擎。 可扩展:支持一主多从且扩容简易,只要cluster.name一致且在同一个网络中就能自动加入当前集群;也支持很多开源的第三方插件,如分词插件、同步插件、Hadoop插件、可视化插件等。 高可用:在一个集群的多个节点中进行分布式存储,索引支持shards和复制,即使部分节点down掉,也能自动进行数据恢复和主从切换。 RestfulAPI标准:通过http接口使用JSON格式进行操作数据。 数据类型丰富:数字、文本、地理位置、结构化、非结构化等。 3、使用场景 搜索领域:如百度、谷歌,全文检索等。 门户网站:访问统计、文章点赞、留言评论等。 广告推广:记录员工行为数据、消费趋势、员工群体进行定制推广等。 信息采集:记录应用的埋点数据、访问日志数据等,方便大数据进行分析。 二

NoSQL数据库介绍、memcached安装

烂漫一生 提交于 2020-03-30 13:57:47
NoSQL数据库 什么是NoSQL数据库? 非关系型数据库就是NoSQL,关系型数据库代表MySQL; 关系型数据库,是需要吧数据存储到库、表、行、字段中,查询需要根据条件一行行的匹配,需要从磁盘中检索,耗费时间和资源; NoSQL数据库,存储原理简单(数据类型为K-V),数据可以存储在内存里,查询速度非常快;扩展非常容易,支持分布式; 常见的NoSQL数据库 k-v形式:memcached、redis适合存储用户信息,比如回话、配置文件、参数、购物车等等。这些信息一般与ID(键)挂钩,这种情景下键值数据库是很好的选择; 文档数据库:mongodb将数据以文档的形式存储; 列存储:Hbase 图:Neo4j、Infinite Graph、OrientDB memcached介绍 特点:缓存数据库查询结果,减少数据库访问次数,恻然提高动态web站点性能; 官网:www.memcached.org 数据结构简单(k-v),数据存放在内存中;重启数据会丢失,重启前必须将数据保存到硬盘中; 多线程; 基于c/s架构,协议简单; 基于libevent的时间处理; 自主内存存储处理(slab allowcation) 数据过期方式:Lazy Expiration 和LRU ~~ 安装memcached 源码包 yum install -y libmemcached libevent yum

MongDB简介

China☆狼群 提交于 2020-03-30 07:07:27
一、基本概念 MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前NoSQL 数据库产品中最热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB 使用C++开发。MongoDB 的官方网站地址是: http://www.mongodb.org/ ,大家可以在此获得更详细的信息。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json 的bjson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立 索引。它是一个面向集合的,模式自由的文档型数据库。 二、对比 MongoDB 关系型数据库 数据存储 面向集合 面向关系表 数据结构 模式自由 二维表关系模式 事务 不支持 支持 大型数据(视频) 很好 一般 大数据量查询(千万条以上) 很好 较差 数据库维护 相对简单 相对复杂 数据及表关系、结构浏览 困难 简单 数据安全性 较差 很好 分布式 很好 一般 查询 非常灵活 非常强大 主外键关联 不支持 支持 索引 支持 支持 存储过程 支持 支持 三、对比说明 1. 数据存储 MongoDB是面向集合

mysql入门(一)

社会主义新天地 提交于 2020-03-28 18:16:16
数据库介绍 数据库是在计算机出现以后,为了解决计算机存储问题而创建, 数据库中包含表,表当中才是数据。 数据库的发展史 1. 萌芽阶段 所有存储依赖的都是文件,安全性低,查找非常困难。 2. 层次模型 1). 优点:查询分类的效率高; 2). 缺点:导航结构:如果查找同类别数据,效率低。 数据不完整(如下图) 3. 网状模型 数据不完整性:我们认为每一行数据之间是独立不相关的,网状模型解决了数据不完整的问题,但是依然没有导航结构。 4. 关系模型 现在主流的数据库模型。特点:每张表都是独立的,没有导航结构,表和表之间通过公共字段建立关系,注意:公共的字段,名字可以不一样,但是数据类型必须一致,表达的含义必须一致.数据类型一致,但不一定是公共字段。 优点:有导航结构; 缺点:关系型数据库操作不便捷(关系可能比较复杂),执行效率低下。 补充:在项目中不是每一个业务都需要关系型数据库,可以使用非关系型数据库(NoSql) 简单概念认识 记录,字段,行列,表的属性,字段的属性。 1. 一条记录我们称之为一行数据; 2. 一个字段称之为一列; 3. 表的属性就是字段; 4. 字段的属性就是该字段的功能; 5. 数据冗余指的是数据重复率。 【补充】: 1)冗余只能减少,不能杜绝; 2)冗余减少了,表的体积就减少了,更新速度提高了,保证了数据额完整性; 3)减少了冗余,但是表的数量增加了

MongDB简单介绍

╄→гoц情女王★ 提交于 2020-03-24 23:51:32
  Mongdb 非关系型数据库,我们经常用的基本都是关系型数据库,比如 mysql,oracle 等等,这里我们先讲一下关系型数据库和菲关系型数据库各自的一个优势,如下图所示: 之前的项目中用到 mongdb 的地方主要是存储一些动态信息及图片等等,关系型和非关系型的很大的一个区别就是非关系型数据库没有关系型数据库的字段类型这一限制,存储起来比较方便,而且查询数据比关系型数据库会快上许多,但是 mongdb 对内存的要求是很大的!因为其使用的是内存映射存储引擎,它会把数据文件映射到内存中,如果是读操作,内存中的数据起到缓存的作用,如果是写操作,内存还可以把随机的写操作转换成顺序的写操作,总之可以大幅度提升性能。 MongoDB 并不干涉内存管理工作,而是把这些工作留给操作系统的虚拟内存管理器去处理,这样做的好处是简化了 MongoDB 的工作,但坏处是你没有方法很方便的控制 MongoDB 占多大内存,幸运的是虚拟内存管理器的存在让我们多数时候并不需要关心这个问题。所以追求查询速度存储图片,视频等等存在非关系型数据库是一个很好的选择,当然有好处跟定也有弊端,非关系型数据库不适合海量数据的持久存储,海量数据的永久存储还是关系型数据库比较好! 来源: https://www.cnblogs.com/boyliuc/p/7079194.html

python 操作redis

无人久伴 提交于 2020-03-24 18:43:43
redis是一个非关系型数据库。 数据库包括非关系型数据库和关系型数据库。 1、关系型数据库:mysql/oracle/sql server/db2/sqlite 数据是存在磁盘上的 2、非关系型数据库: mongodb/redis 没有表结构,没有sql语句,没什么字段。速度比关系型数据库快,redis数据是存在内存上的,redis本身性能非常,每秒支持30万次读写。缺点是没有办法持久化(重启redis可以备份数据到磁盘里面,启动的时候再次读取磁盘的数据到内存,这种方法可以实现持久化) 以下是python操作redis的一些基本方法 import redis r=redis.Redis(host='xx.xx.xx.xx',password='HK139bc&*',db=1,port=6379) #默认端口号如果不修改就是6379,db指定用哪个数据库 #增删改查,这些操作都是针对string类型的 r.set('niuh','帅') #数据库里面新增一个值,修改也是set r.set('niuh','niuniuniu') #修改niuh的value为niuniuniu r.delete('niuhany') #删除 r.setex('python_123','哈哈哈',20)#设置key的失效时间,最后的参数是秒 hwt=r.get('niuh') print(hwt

关系型数据库与非关系型数据库

大兔子大兔子 提交于 2020-03-15 11:30:32
什么是关系型数据库? 关系型数据库是依据关系模型来创建的数据库。 所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。 关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”) 关系模型是我们生活中能经常遇见的模型,存储这类数据一般用关系型数据库 关系模型包括数据结构(数据存储的问题,二维表)、操作指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)。 数据的存储形式: 关系的处理形式: 下面是一个E-R图,是多个模型一起用的情况: 常见的关系型数据库: Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL 关系型数据库的特点: 安全(因为存储在磁盘中,不会说突然断电数据就没有了)、 容易理解(建立在关系模型上)、 但不节省空间(因为建立在关系模型上,就要遵循某些规则,好比数据中某字段值即使为空仍要分配空间) 什么是非关系型数据库? 非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库) 非关系型模型比如有: 列模型:存储的数据是一列列的

orcle_day01

扶醉桌前 提交于 2020-03-15 06:38:16
Oracle: 数据库, 1,认识数据库 数据库:数据的仓库,保存大量数据的地方,有利于对数据的维护。增删改查很方便。 数据库分类: 层次型数据库:现实世界中很多事物是按层次组织起来的。层次数据模型的提出,首先是为了模拟这种按层次组织起来的事物。 网状型数据库:处理以记录类型为结点的网状数据模型的数据库。处理方法是将网状结构分解成若干棵二级树结构,称为系。 关系型数据库:mysql SQLserver oracle 分布式数据库:是指数据分存在计算机网络中的各台计算机上的数据库 oracle 数据库 oracle :甲骨文公司 全球第一大数据库厂商 2 关系型数据库概念 a,由 E.F.Codd博士在1970年提出关系型数据库系统模型 b,它是关系型数据库管理系统的基础 c,关系型数据库模型包含以下3部分内容 i 包含一系列【关系】和【对象】 ii 包含一系列对于关系的操作-->增删改查 iii 包含数据完整性约束 【规范保存到数据库中的数据】 * 关系型数据库中的关系是指: 把实际问题的数据分别归成若干个简单的二元关系, 一个二元关系都可以建一个满足一定条件的二维表格 关系 : 二维表格 3 关系型数据库是由一系列二维表组成 二维表:每张表由行和列组成 可以通过Structured Query Language 操作数据库表中的数据 二维表:一行 一条数据 一列(字段) 一类数据