nosql数据库入门_NoSQL入门资料
nosql数据库入门
虽然您中的某些人可能是NoSQL专家,但通常缺乏对NoSQL的扎实知识,以及一些常见的神话。 具体地说,诸如NoSQL适用性/用例及其与关系数据库的比较(公平和不公平)之类的主题通常是由不完整的知识所驱动。 我并没有声称自己是NoSQL领域的专家,但是我想记下我对NoSQL所知甚少的信息(通常)可能会很有用。 从(相对)初学者的角度看NoSQL的人可以从这篇文章中受益(也许吗?)。 因此,让我们开始吧。
NoSQL…..
这并不意味着“没有SQL” (请参见空格如何弄乱东西)!。 这与事实相去甚远。 实际上,它的意思是“不仅仅是SQL” ! 看到不同 ? 甚至基于NoSQL的技术都使用某种(主要是专有的)语言来“查询”它们的本机存储-那时它与结构化查询语言并没有太大的不同!
好的,所以它是“不仅仅是SQL”。 但…。
它的主要特点是什么?
很难精确列出NoSQL解决方案的所有特定属性。 某些解决方案可能支持或可能不支持所有这些属性,但总的来说,这些是最常见的解决方案
没有架构
这也许是所有最基本的属性。 NoSQL解决方案没有模式的概念(它只是关于数据容器的一堆元数据-行和列)
自然分布
大多数NoSQL解决方案都支持分布式架构,该架构在多个实例之间对数据本身进行分区和负载平衡(完全不同!)。
基础
它是用于缩写“B asically 甲 vailable,S经常状态,E ventual一致性”。 好吧,我不想赘述[因为我不完全理解它! ;-)]。 但是我所知道的事实是,BASE(对于NoSQL)与ACID(对于RDBMS)常常是争论的重点。
NoSQL解决方案的类型
这些是NoSQL解决方案的最常见类别/类型/变体
- 键值对 :将数据存储为键值对,其中值没有固定的表示形式,例如Redis,Oracle NoSQL
- 文档存储 :将文档(XML,JSON,BSON等)存储为值,例如MongoDB,Couchbase
- Graph :将信息存储在类似结构的图形中,例如Neo4j,OrientDB
- 基于列 :将数据存储在列中但不包含行,例如Apache Cassandra
…。 或上述一项或多项的组合!
好的,那为什么我应该在我的旧RDBMS之上选择NoSQL解决方案呢?
好了,现在是讨论一些区别的合适时机。 希望即使不是100%准确,我也能大致得到这些结果
可扩展性
很容易(至少在理论上)添加NoSQL数据存储的其他节点/实例来满足您的应用程序不断增长的需求。 NoSQL解决方案旨在以分布式方式很好地工作,这一事实使之成为可能。
灵活性
这与“无模式”特征有关。 从某种意义上说,NoSQL解决方案是灵活的,即它们根本没有架构,或者它们允许存储相对非结构化的数据而无需进行管理方面的修改(例如,在RDBMS的情况下演进架构)
高度可用
一开始听起来可能很愚蠢。 您可能会说,通过添加更多实例,任何东西(包括RDBMS)都可以变得多余(高度可用)。 确实如此。 使用NoSQL解决方案,这样做更加容易,因为它们(通常)是从头开始设计的(从头开始),并且考虑到了极端的扩展性,这会自动使它们高度可用-如果一个节点发生故障,您的应用程序不会停止。 数据在其余节点之间重新分配(重新分区),然后继续播放。
性能
分布式NoSQL解决方案的性能在涉及大型数据集的问题域中很有用,因为它可以水平扩展(通过添加更多节点)
更适合云端
在我看来,云计算(特别是与PaaS相关的服务)是关于弹性扩展(对资源进行成本有效的管理,在这种情况下,您的实例将根据基于负载,体积,时间等因素的策略进一步增加/减少),更轻松的设置和配置以及流畅的升级/修补过程。 NoSQL解决方案非常适合该法案(我可以肯定,至少从扩展的角度来看)
具有成本效益
再次,其全部关于水平缩放而不是垂直缩放。 水平缩放意味着旋转更多实例(便宜得多),而不是升级单台机器的硬件(在特定时间点可能会增加成本)
好吧..那么NoSQL的“没有警告”吗?
绝对不! 与任何技术一样,尽管它的用法可能非常适合您的用例,但也有利弊
- 对于RDBMS纯粹主义者,NoSQL解决方案的最终一致性还不够好。 在特定的用例/域中,通常缺乏ACID属性是NoSQL存储的最大缺点。
- 异构产品和缺乏标准:NoSQL解决方案激增。 尽管许多基本概念和特征保持不变,但是从不同的供应商那里学习NoSQL解决方案可以使学习过程更加艰难! 这是因为,关于这项技术还没有特定的标准/ API(至少我还没有看到)
- 相对较新:听起来不像是一个严重的警告,但是与RDBMS(数十年来一直有效!)相比,团队可能需要花费更多时间来开发该技术。
什么时候应该使用NoSQL解决方案?
我没有在生产中实现NoSQL解决方案的个人经验,但是从常识的角度来看,这就是我的想法。
众所周知,最好的答案是“取决于” ;-)好吧,也许不是吗? 无论您是在考虑NoSQL与RDBMS还是在比较各种NoSQL产品,都应该查看用例,然后从那里进行学习。 如果需要ACID属性,请避免使用NoSQL。 如果您有大型数据集,并且数据类型本质上是非关系的,则最好利用NoSQL及其可伸缩性属性。 就从图形,键值,基于文档或基于列的NoSQL存储中进行选择而言,答案(或可能是问题)仍然保持不变-“您的用例需要什么?”
好奇? 探索 !
干杯!
翻译自: https://www.javacodegeeks.com/2015/09/introductory-nosql-stuff.html
nosql数据库入门
nosql数据库入门_NoSQL入门资料相关推荐
- nosql数据库入门_NoSQL入门三步指南
nosql数据库入门 我一直在研究NoSQL数据库几个月,并希望与我分享我的经验. 如果您打算开始学习NoSQL数据库,那么这篇文章可能会对您有所帮助. 我会尝试链接我认为有用的资源. 步骤1:什么是 ...
- 2018年阿里云NoSQL数据库大事盘点
2019独角兽企业重金招聘Python工程师标准>>> NoSQL一词最早出现在1998年.2009年Last.fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨 ...
- 解读NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
NoSQL最早起源于1998年,但从2009年开始,NoSQL真正开始逐渐兴起和发展.回望历史应该说NoSQL数据库的兴起,完全是十年来伴随互联网技术,大数据数据的兴起和发展,NoSQL在面临大数据场 ...
- NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
NoSQL最早起源于1998年,但从2009年开始,NoSQL真正开始逐渐兴起和发展.回望历史应该说NoSQL数据库的兴起,完全是十年来伴随互联网技术,大数据数据的兴起和发展,NoSQL在面临大数据场 ...
- 浅谈目前主流NoSql数据库
浅谈目前主流NoSql数据库,编程学习资料点击免费领取 前言 无意翻资料发现目前好多noSql数据库,但是工作中貌似并没有接触到,很好奇他们的区别,所以就有了这篇文章.(整合了网上许多大佬的文章,如有 ...
- NoSql数据库--Redis入门
Redis入门 1.NoSQL概述[重点了解] 1.1 什么是NoSQL NoSQL(NoSQL=Not Only SQL),意即"不仅仅是SQL"是一项全新的数据库理念,泛指 ...
- NoSQL数据库入门概述
关系型数据库与NoSql数据库 什么是NoSQL Not Only SQL,其含义是:适合关系型数据库的时候就是用关系型数据库,不适用的时候也没必要非得使用关系型数据库不可,可以考虑使用更加合适的数据 ...
- 大数据开发学习:NoSQL数据库入门
大数据处理,涉及到从数据获取到数据存储.数据计算的诸多环节,各个环节需要解决的问题不同,相关岗位要求的技能也不同.在数据存储阶段,对数据库选型是非常重要的一项工作.今天的大数据开发学习分享,我们就来聊 ...
- 大数据数据库选型:NoSQL数据库入门
大数据处理,涉及到从数据获取到数据存储.数据计算的诸多环节,各个环节需要解决的问题不同,相关岗位要求的技能也不同.在数据存储阶段,对数据库选型是非常重要的一项工作.今天的大数据数据库培训分享,我们就来 ...
最新文章
- 重要更新 | 谷歌发布 TensorFlow 1.4,迁移Keras,支持分布式训练
- 一次使用 Eclipse Memory Analyzer 分析 Tomcat 内存溢出
- 页面滚动动态加载数据,页面下拉自动加载内容
- 解决JQuery AutoComplete在IE9下出错的问题
- Code First 迁移
- ldo和dcdc功耗_ldo与dcdc区别、原理及应用详解
- 记录一次,事务遇到消息发送,疏忽给自己挖坑
- !!!后续博客写到简书 + 博客园留博客目录
- iOS学习01C语言数据类型
- 360极速浏览器兼容模式怎么设置在哪
- html5播放器硬件加速,视频对比:Mango的HTML 5硬件加速很强?
- 企业微信开发实战(二、OA审批之获取审批模版详情提交审批申请)
- ubuntu系统更新后分辨率变低的问题之一
- 虚拟语气--专升本语法
- 蓝桥杯--黄金连分数
- 【QTP专题】03_Add-in Manager插件
- 品论文:VISION TRANSFORMER (VIT)
- 通过注册表修改win 10 默认登陆方式(不想用PIN码只想密码登录)
- FR8016HA MS1791 PHY6222 TLSR8251 YC1171 HS6621 BK3432 N32WB031 对比介绍
- mysql开启数据库审计