zoukankan      html  css  js  c++  java
  • SQL和NOSQL有区别吗?

      在大数据高速发展的今天,数据量在不断的增加,传统的数据库可能不能满足人们的需求了,这个时候新霸哥注意到了NOSQL出现了可以解决这个问题。我们知道sql数据库可以存储数据和处理数据,但是NOSQL最大的一个优势就是在大数据这方面,能够深度处理大数据,分析数据,从大量的数据中获取有用的资源。

      新霸哥发现关系型数据库本身基于关系代数的数学理论,是很好的抽象,但是nosql的抽象没有太多的数学基础,数学总是不会过时的。从计算机本身来说,关系型数据库的存储也是随着机械硬盘的兴起而发展的,关系型数据库对数据块的处理,比现在最流行的nosql强很多,而且由于约束的存在,存储效率很高,根本不是那些nosql能比的。这一点新霸哥很佩服。

      在云计算高速发展的今天,云计算兼具SQL和NoSQL数据库的益处。云环境中的关系型存储通常是以服务形式提供的,是可复制、高可用性且分布式的,极大地提高了横向扩展能力。同时托管于云服务中的NoSQL数据库也天然享有自动分片的好处,能够阶段性地灵活弹性处理,集成高速缓存和巨大的计算能力来捕获、存储和分析大数据。

      数据量很少的情况下,就不用考虑性能了,分布式什么都不用考虑了,新霸哥也注意到了NoSQL在这种情况下最大的劣势就是没有schema。

      NoSQL不会取代RDBMS,可能很多人会有疑问,RDBMS比如说MySQL通过sharding可以做到NoSQL所能做的一切,除此之外RDBMS有schema(也可以设计成schemaless),支持SQL,健壮的ACID。一般来说,现在的RDBMS完全可以做NoSQL所有可以做的事情,反过来就不是这样了。举个非常形象的例子,要在MySQL上加一层key-value接口不难,如果要在任何NoSQL上加能和MySQL匹敌的Query Optimizer和Transaction support不是件简单的事情。

      NoSQL想解决的问题RDBMS都能解决,它的理念会被融入到RDBMS中,其实在实际应用中真正适合NoSQL应用的场景只是cache。

      新霸哥发现SQL数据库大多数比较昂贵,但是NoSQL数据库通常都是开源的。事实上,两种类型数据库都有开源的和商业的。常见的SQL 数据库有微软公司的SQL Server,MySQL,SQLite,Oracle和PostGres。现在非常流行的NoSQL数据库有Couchbase,MongoDB,Redis,BigTable和RavenDB。这也是现在比较主流的数据存储方式。

      其实无论是SQL还是NOSQL最重要的还是能够根据实际的情况来选择,这样才能够充分的利用资源。爱好大数据的朋友可以关注新霸哥。

  • 相关阅读:
    “上海名媛群”事件,我来说几句
    急于脱手商业地产的酒店式公寓,让我在无锡买了房
    40年产权的商业地产,个人投资者决不能碰
    产权分割商铺,太坑人!
    我的第二故乡 – 武汉
    我的第二故乡
    Consul踢除失效服务和移除Node节点
    合并2个数组为1个无重复元素的有序数组--Go对比Python
    当Prometheus遇到混沌工程
    测试流程规范--测试准入、准出、停止标准、bug优先级定义
  • 原文地址:https://www.cnblogs.com/weijun/p/5679926.html
Copyright © 2011-2022 走看看