NoSQL 是什么

子凡 2019-05-24 09:03:42
问答

NoSQL是对不同于传统的关系数据库的数据库管理系统的统称。两者存在许多显著的不同点,NoSQL不使用SQL作为查询语言。其数据存储可以不需要固定的表格模式,经常会避免使用SQL的JOIN操作,有水平可扩展性特征。

NoSQL 是对不同于传统的关系数据库的数据库管理系统的统称。 两者存在许多显著的不同点,其中最重要的是 NoSQL 不使用 SQL 作为查询语言。其数据存储可以不需要固定的表格模式,也经常会避免使用 SQL 的 JOIN 操作,一般有水平可扩展性的特征。

NoSQL

虽然 NoSQL 的流行与火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟——以至于原来很好的 NoSQL 数据存储不得不进行重写,也有少数人认为这就是所谓的 2.0 版本。该工具可以为大数据建立快速、可扩展的存储库。

发展历史

NoSQL 一词最早出现于 1998 年,是 Carlo Strozzi 开发的一个轻量、开源、不提供 SQL 功能的关系数据库。

2009 年,Last.fm 的 Johan Oskarsson 发起了一次关于分布式开源数据库的讨论,来自 Rackspace 的 Eric Evans 再次提出了 NoSQL 的概念,这时的 NoSQL 主要指非关系型、分布式、不提供 ACID 的数据库设计模式。

2009 年在亚特兰大举行的"no:sql(east)"讨论会是一个里程碑,其口号是"select fun, profit from real_world where relational=false;"。因此,对 NoSQL 最普遍的解释是“非关联型的”,强调键-值存储和面向文档数据库的优点,而不是单纯的反对 RDBMS。

基于 2014 年的收入,NoSQL 市场领先企业是 MarkLogic,MongoDB 和 Datastax。基于 2015 年的人气排名,最受欢迎的 NoSQL 数据库是 MongoDB,Apache Cassandra 和 Redis。

特点

当代典型的关系数据库在一些数据敏感的应用中表现了糟糕的性能,例如为巨量文档创建索引、高流量网站的网页服务,以及发送流式媒体。关系型数据库的典型实现主要被调整用于执行规模小而读写频繁,或者大批量极少写访问的事务。

NoSQL 的结构通常提供弱一致性的保证,如最终一致性,或交易仅限于单个的数据项。不过,有些系统,提供完整的 ACID 保证在某些情况​​下,增加了补充中间件层(例如:CloudTPS)。有两个成熟的系统有提供快照隔离的列存储:像是 Google 基于过滤器系统的 BigTable,和滑铁卢大学开发的 HBase。这些系统,自主开发,使用类似的概念来实现多行(multi-row)分布式 ACID 交易的快照隔离(snapshot isolation)保证为基础列存储,无需额外的数据管理开销,中间件系统部署或维护,减少了中间件层。

少数 NoSQL 系统部署了分布式结构,通常使用分布式散列表(DHT)将数据以冗余方式保存在多台服务器上。依此,扩充系统时候添加服务器更容易,并且扩大了对服务器失效的承受能程度。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • MongoDB

    MongoDB,开源的NoSQL文档数据库

    MongoDB是一个高性能、灵活且易于扩展的NoSQL数据库,特别适合处理大量非结构化数据。它提供了丰富的查询语言、高可用性、自动故障转移和多样的索引支持,使得开发效率大幅提高。与传统关系数据库相比,MongoDB在灵活性和扩展性方面具有明显优势,尤其适合快速迭代开发和大规模分布式系统。
  • 非关系型数据库 NoSQL

    非关系型数据库是什么

    非关系型数据库(NoSQL)是一种灵活、高效、适应性强的数据库解决方案,不受传统关系型数据库的限制,支持多种数据模型,具备高速、分布式处理、适用于大规模数据的优势,适用于处理现代应用程序的多样化数据需求。
  • 关系型数据库 关系型数据库管理系统 RDBMS

    关系型数据库是什么

    关系型数据库(RDBMS)是一种基于关系模型的数据库管理系统,具有数据结构化、完整性、事务管理、SQL支持等核心特点。它在各个行业都有广泛的应用,是数据管理领域的重要组成部分。包括Oracle、MySQL、Microsoft SQL Server、PostgreSQL等。
  • DataEase 开源的数据可视化分析工具

    DataEase是什么

    DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分享。
  • 腾讯云 Tencent Cloud

    腾讯云星星海SA3是什么

    ​​腾讯云星星海SA3服务器是联合AMD EPYC处理器打造,可提供最高232个核心的单节点算力,满足视频编解码、离线渲染、数据库、AI等应用场景,尤其是是在AI场景上,星星海SA3的实测性能提升高达220%以上。
  • TiDB 数据库

    TiDB是什么

    TiDB 是一款结合了传统的关系型数据库和 NoSQL 数据库特性的新型分布式数据库。在设计时也追求无限的水平扩展,具备强一致性和高可用性,支持分布式事务的处理。