1.NoSQL数据库简介

2023-11-06

1.1技术发展

技术的分类

1、解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN

2、解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatis

3、解决性能的问题:NoSQL、Java线程、Hadoop、Nginx、MQ、ElasticSearch

1.1.1Web1.0时代

Web1.0的时代,数据访问量很有限,用一夫当关的高性能的单点服务器可以解决大部分问题。

 

1.1.2 Web2.0时代

随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。

 

1.1.3解决CPU及内存压力

 

1.1.4解决IO压力

 

 

1.2 NoSQL数据库

1.2.1 NoSQL数据库概述

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。

NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。

1.不遵循SQL标准。

2.不支持ACID。

3.远超于SQL的性能。

1.2.2 NoSQL适用场景

l 对数据高并发的读写

l 海量数据的读写

l 对数据高可扩展性的

1.2.3 NoSQL不适用场景

l 需要事务支持

l 基于sql的结构化查询存储,处理复杂的关系,需要即席查询。

l (用不着sql的和用了sql也不行的情况,请考虑用NoSql)

1.2.4 Memcache

ü 很早出现的NoSql数据库

ü 数据都在内存中,一般不持久化

ü 支持简单的key-value模式,支持类型单一

ü 一般是作为缓存数据库辅助持久化的数据库

1.2.5 Redis

几乎覆盖了Memcached的绝大部分功能

数据都在内存中,支持持久化,主要用作备份恢复

除了支持简单的key-value模式,还支持多种数据结构的存储,比如 list、set、hash、zset等。

一般是作为缓存数据库辅助持久化的数据库

1.2.6 MongoDB

ü 高性能、开源、模式自由(schema  free)的文档型数据库

ü 数据都在内存中, 如果内存不足,把不常用的数据保存到硬盘

ü 虽然是key-value模式,但是对value(尤其是json)提供了丰富的查询功能

ü 支持二进制数据及大型对象

ü 可以根据数据的特点替代RDBMS ,成为独立的数据库。或者配合RDBMS,存储特定的数据。

1.3行式存储数据库(大数据时代)

1.3.1 行式数据库

1.3.2 列式数据库

 

1.3.2.1 Hbase

HBase是Hadoop项目中的数据库。它用于需要对大量的数据进行随机、实时的读写操作的场景中。

HBase的目标就是处理数据量非常庞大的表,可以用普通的计算机处理超过10亿行数据,还可处理有数百万列元素的数据表。

1.3.2.2. Cassandra[kəˈsændrə]

 

Apache Cassandra是一款免费的开源NoSQL数据库,其设计目的在于管理由大量商用服务器构建起来的庞大集群上的海量数据集(数据量通常达到PB级别)。在众多显著特性当中,Cassandra最为卓越的长处是对写入及读取操作进行规模调整,而且其不强调主集群的设计思路能够以相对直观的方式简化各集群的创建与扩展流程。

计算机存储单位 计算机存储单位一般用B,KB,MB,GB,TB,EB,ZB,YB,BB来表示,它们之间的关系是:

位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。

字节 byte:8个二进制位为一个字节(B),最常用的单位。

1KB (Kilobyte 千字节)=1024B,

1MB (Megabyte 兆字节 简称“兆”)=1024KB,

1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,

1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方),

1PB(Petabyte 千万亿字节 拍字节)=1024TB,

1EB(Exabyte 百亿亿字节 艾字节)=1024PB,

1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,

1YB (Jottabyte 一亿亿亿字节 尧字节)= 1024 ZB,

1BB (Brontobyte 一千亿亿亿字节)= 1024 YB.

注:“兆”为百万级数量单位。

1.4.图关系型数据库

 

主要应用:社会关系,公共交通网络,地图及网络拓谱(n*(n-1)/2)

 

1.5.DB-Engines 数据库排名

http://db-engines.com/en/ranking

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1.NoSQL数据库简介 的相关文章

  • StackExchange.Redis 和 StackExchange.Redis.StrongName 之间有什么区别?

    当我关注Azure时文档 http azure microsoft com en us documentation articles cache dotnet how to use azure redis cache 关于如何在Azure
  • Redis部署配置-主从复制

    目前我有两台服务器 我已经部署了基于node js Express JS的Web服务API 我正在使用 Redis 来缓存 JSON 字符串 将此设置部署到生产中的最佳选择是什么 我懂了here https stackoverflow co
  • AWS Redis 从外部连接

    有没有办法从外部 AWS 网络连接 AWS 上托管的 Redis 实例 我有一个基于 Windows 的 EC2 实例在 AWS 上运行 另一个是 Redis 缓存节点 我知道有人问过这个问题 但答案是在基于 Linux 的系统中 但我的是
  • 如何在redis中创建自己的数据库?

    There are 0 to 15 databases in redis 我想使用 redis cli 创建自己的数据库 有什么命令可以实现吗 Redis 数据库并不等同于 MySQL 等 DBMS 中的数据库名称 这是一种为键创建隔离和命
  • socket.io redis 和内存泄漏

    我的socket io版本是 电子邮件受保护 cdn cgi l email protection and 电子邮件受保护 cdn cgi l email protection 我在 Windows 上 在某些地方 我看到问题已得到解决 我
  • 如何从 python 将无穷大传递给 redis?

    我正在使用 redis py 并希望将 inf 和 inf 与 ZRANGEBYSCORE 一起使用 我尝试使用 inf 的字符串和浮点来执行此操作 但它们返回一个空集 我怎样才能做到这一点 EDIT 我尝试执行以下命令 redis Str
  • python 3.5 中的 json.loads 和 Redis

    我使用 json dumps 创建了一个 JSON 对象 并在 Redis 列表中将其 RPUSH ed 当使用 LRANGE redis lrange 返回 JSON 时 我收到一个二进制字符串 b si 00 ff 所以 json lo
  • 使用 AWS ElastiCache 请求中的 Airflow CROSSSLOT 密钥未散列到同一插槽错误

    我在 AWS ECS 上运行 apache airflow 1 8 1 并且有一个 AWS ElastiCache 集群 redis 3 2 4 运行 2 个分片 2 个启用多可用区的节点 集群 Redis 引擎 我已经验证气流可以毫无问题
  • 仅当尚未设置时才进行原子设置

    仅当尚未在 Redis 中设置时 是否有办法执行原子设置 具体来说 我正在创建一个像 myapp user user email 这样的用户 并且希望 Redis 在 user email 已被占用时返回错误 而不是默默地替换旧值 比如声明
  • 如何使用Spring Cache处理redis异常?

    我目前正在开发一个包含 Spring Data Redis 和 Spring Cache 的项目 在spring data redis中 我使用redis模板调用redis 我在 try catch 块中处理 redis 模板抛出的所有异常
  • Spring Data Redis - Lettuce连接池设置

    尝试在 spring data redis 环境中设置 Lettuce 连接池 下面是代码 Bean LettuceConnectionFactory redisConnectionFactory GenericObjectPoolConf
  • Redis INCRBY 有限制

    我想知道是否有一种方法可以通过我的应用程序的单次往返在 Redis 中执行此操作 对于给定的键K 其可能值V是范围内的任意整数 A B 基本上 它有上限和下限 When an INCRBY or DECRBY发出命令 例如INCRBY ke
  • Spring Data Redis JedisConnectionException:流意外结束

    雷迪斯3 0 5Spring数据Redis 1 3 6绝地武士2 6 3 我们的 Web 应用程序通过 pub sub 从 Redis 接收数据 还以键 值对的形式在 Redis 上执行数据读 写 读 写发生在监听线程 独立监控线程和htt
  • 通过 StackExchange.Redis 连接到 Redis Servier

    我尝试使用以下方法制作一个测试项目Redis https redis io服务器 通过 Virtual Box 安装在 Linux Ubuntu 虚拟机上 Linux 机器通过 Virtual Box 的桥接适配器与本地网络连接 Virtu
  • 在 Kubernetes/Openshift 中将客户端-服务器流量保持在同一区域的最佳方法?

    我们运行兼容 Kubernetes OKD 3 11 的本地 私有云集群 其中后端应用程序与用作缓存和 K V 存储的低延迟 Redis 数据库进行通信 新的架构设计将在两个地理上分布的数据中心 区域 之间平均划分工作节点 我们可以假设节点
  • socket.io 广播功能 & Redis pub/sub 架构

    如果有人能帮助我解决一个小疑问 我将不胜感激 使用socket io广播功能和在Redis上使用pub sub设计架构有什么区别 例如 在另一个示例中 node js 服务器正在侦听 socket io 针对 键 模型 todo 和值 数据
  • 有没有办法让特定的key在集群模式下定位到特定的redis实例上?

    我想让我的多锁位于不同的redis实例上 我发现redission可以指定一个实例来执行命令 但是如果该命令与key相关 则指定的实例会将命令传输到另一个实例 你能给我一些建议吗 你可以 但这并不是微不足道的 首先 Redis 在键中使用大
  • 如何使 Redis 缓存中数据层次结构(树)的部分内容无效

    我有一些产品数据 需要在 Redis 缓存中存储多个版本 数据由 JSON 序列化对象组成 获取普通 基本 数据的过程很昂贵 将其定制为不同版本的过程也很昂贵 因此我想缓存所有版本以尽可能进行优化 数据结构看起来像这样 BaseProduc
  • 为什么Redis中没有有序的hashmap?

    Redis 数据类型 http redis io topics data types包括排序集 http redis io topics data types intro sorted sets以及其他用于键值存储的必要数据结构 但我想知道
  • 想要在后台不间断地运行redis-server

    我已经下载了 redis 2 6 16 tar gz 文件并安装成功 安装后我运行 src redis server 它工作正常 但我不想每次都手动运行 src redis server 而是希望 redis server 作为后台进程持续

随机推荐

  • Grouped Query Attention论文阅读

    论文 GQA Training Generalized Multi Query Transformer Models from Multi Head Checkpoints 1 背景介绍 Google在2023年发表的一篇关于Transfo
  • MATLAB求解矩阵特征值的六种方法

    MATLAB求解矩阵特征值的六种方法 关于这个特征值的求解一共六种方法 幂法 反幂法 QR方法 对称QR方法 jacobi方法 二分法 接下来就着重讲解这些算法的是如何使用的 幂法 算法如下 输入 矩阵A 非零矢量x0 maxit 2000
  • openGL之API学习(二十七)glEnable

    开启服务器端的opengl功能 void glEnable GLenum cap GL BLEND If enabled blend the computed fragment color values with the values in
  • LeetCode416-分割等和子集(经典01背包问题—动态规划)

    目录 思路 什么是01背包问题 01背包问题空间复杂度优化 滚动数组 本题代码 本题空间复杂度优化 滚动数组 给你一个 只包含正整数 的 非空 数组 nums 请你判断是否可以将这个数组分割成两个子集 使得两个子集的元素和相等 示例 1 输
  • RPC 设计与实现

    RPC 设计与实现 互联网架构演变 微观 单一架构 以实现功能为目的 扩展性差 数据访问层问题 垂直架构 业务拆分 各司其职 控制层 M V解耦 分布式服务 服务间的相互调度 RPCremote process call 流动式计算 伸缩性
  • 如何判断用户有没有关注订阅号

    收集整理的方法如下 微信用户访问微信公众号 订阅号 的网页时判断用户有没有关注公众号 订阅号 1 前提 微信公众号分为服务号和订阅号 它们的接口权限各不相同 服务号可以通过网页授权接口 用户授权后获取用户的openid 通过用户的openi
  • 如何解决过拟合与欠拟合

    如何解决过拟合与欠拟合 根据不同的坐标方式 欠拟合与过拟合图解不同 1 横轴为训练样本数量 纵轴为误差 如上图所示 我们可以直观看出欠拟合和过拟合的区别 模型欠拟合 在训练集以及测试集上同时具有较高的误差 此时模型的偏差较大 模型过拟合 在
  • GLSL 数据精度

    1 默认精度 顶点着色器中默认精度 precision highp float precision highp int precision lowp sampler2D precision lowp samplerCube 像素着色器中默认
  • 【待完善另一种情况】tensorflow 使用CPU而不使用GPU的问题解决

    文章目录 1 问题 2 Solution 3 other 4 更新 5 参考 1 问题 今天运行代码时发现一个怪现象 在使用TensorFlow时 通过os environ CUDA VISIBLE DEVICES 0 指定使用GPU 0
  • TLB的作用与机制

    TLB Translation Lookaside Buffer 转换检测缓冲区 是用来帮助CPU中的MMU进行地址转换的 在可分页系统中 每个进程都有自己虚拟地址空间和虚拟页面 当CPU执行进程代码读到虚拟地址时 不是直接将该虚拟地址送到
  • 泰勒图(Taylor diagram)绘制方法大汇总

    泰勒图 Taylor diagram 的基本介绍 R 绘制泰勒图 Taylor diagram Python 绘制泰勒图 Taylor diagram 泰勒图 Taylor diagram 的基本介绍 泰勒图 Taylor diagram
  • GEO2R数据下载速度慢、基因注释、差异分析、火山图、热图及后续处理

    GEO2R数据分析 首先感谢生信技能树大神jmzeng1314提供的github包 由于我这边访问github比较困难 因此我已经导入到我的 gitee 托管平台 https gitee com swcyo 特别声明 正版托管地址是http
  • java 工具类实现驼峰和下划线的互相转换

    下划线转驼峰 如果是下划线转驼峰 那么ch就是 public static String toCamel String str String ch if str indexOf ch 1 return str String strings
  • Git下载安装及常用命令

    背景 Git是一个开源的分布式版本控制系统 可以有效 高速的处理从很小到非常大的项目版本管理 安装 在你开始使用 Git 前 需要将它安装在你的计算机上 即便已经安装 最好将它升级到最新的版本 你可以通过软件包或者其它安装程序来安装 或者下
  • shu_1241 邮局位置问题

    http 202 121 199 212 JudgeOnline problem php cid 1078 pid 5 分析 由于题目中的距离是折线距离 所以能够分别考虑两个方向 又x方向与y方向实质是一样的 所以以下 用x方向来分析 如图
  • Linux系统vi命令快捷键汇总

    vi的基本概念 基本上vi可以分为三种状态 分别是命令模式 command mode 插入模式 Insert mode 和底行模式 last line mode 各模式的功能区分如下 命令行模式command mode 控制屏幕光标的移动
  • Linux系统网络启动失败

    nm object get property Error getting State for org freedesktop NetworkManager ActiveConnection Linux系统网络启动失败 出错原因 用图形用户界
  • Java期末作业-社区医疗信息管理系统(源码+数据库文件+设计报告·附下载链接)

    Java期末大作业 社区医疗信息管理系统介绍 比较简单 点我下载项目源码 数据库文件 设计报告文档 介绍 这个小项目没有用到任何框架也没有用到Javaweb的技术 知识使用了Java写代码 使用MySQL创建数据库 然后用JDBC进行连接
  • 什么是信道编码?信道编码比较

    消除干扰 让无线信号更干净 这本是信道编码技术的初衷 然而 最近网络上这场 Polar码投票 闹剧 无中生有地添加杂质 与所议论的技术之本质背道而驰 若Polar码也有血肉之躯 此君情何以堪 香农前辈若在世 也会笑话我们吧 2016年11月
  • 1.NoSQL数据库简介

    1 1技术发展 技术的分类 1 解决功能性的问题 Java Jsp RDBMS Tomcat HTML Linux JDBC SVN 2 解决扩展性的问题 Struts Spring SpringMVC Hibernate Mybatis