NoSQL -- 1.NoSQL与TRDB的区别

TRDB

TRDB:“Traditional Relational Database”,即“传统关系型数据库”。
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。
TRDB技术设计最初基于单机集中管理数据概念而进行的,所以受单机物理性能的限制。TRDB技术是建立在数据库管理系统(DBMS)上的.
TRDB无法解决的问题:

  • 传统大型关系型数据库无法很好的解决问题
  • 在互联网上的应用
  • 面对的是大量数据存储和使用问题
  • 大数据

代表Oracle、SQL Server、MySQL。

TRDB遵循的原则
  • 1、A (Atomicity) 原子性
    原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。

  • 2、C (Consistency) 一致性
    一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
    例如现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。

  • 3、I (Isolation) 独立性
    所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。

  • 4、D (Durability) 持久性
    持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。

TRDB优缺点

1.优点:

  • 非常完备的关系理论基础

  • 具有事务性机制的之处

  • 高效的查询优化机制

2.缺点:

  • 无法满足海量数据的管理需求

  • 无法满足高并发的需求

  • 无法满足高可扩展性和高可用性的需求

NoSQL

NoSQL:“Not only SQL” ,即“不仅仅是SQL”
根据前面我们所提到的传统关系型数据库无法很好的解决大数据问题,因此引入了NoSQL。NoSQL用于超大规模数据的存储.
NoSQL的产生:

  • 解决TRDB无法解决的数据库存储和访问问题。
  • 解决大数据应用问题
  • 解决互联网上的应用问题
NoSQL遵循的原则

BASE是NoSQL数据库通常对可用性及一致性的弱要求原则:

  • 1.BA(Basically Availble) 基本可用
    NoSQL允许分布系统中某些部分出现故障,而系统中其他的部分正常工作。
  • 2.S(Soft-state) 软状态。
    “Soft state” 可以理解为"无连接"的,允许NoSQL在数据处理过程种,存在数据状态暂时不一致的情况,但是经过纠错,最后会一致。
  • 3.E(Eventual Consistency) 最终一致性
    NoSQL的软状态允许数据处理过程状态的暂时不一致,但是最终处理的结果将是一直的,也是 ACID 的最终目的。
NoSQL的优缺点

1.优点:

  • 高可扩展性
  • 分布式计算
  • 低成本
  • 架构的灵活性,半结构化数据
  • 没有复杂的关系

2.缺点:

  • 没有标准化
  • 有限的查询功能(到目前为止)
  • 最终一致是不直观的程序
NoSQL的存储类型
类型部分代表特点
键值存储Memcached/Redis基于内存数据处理,相对速度最快;可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收,Redis具有大数据管理能力,事物能力处理弱。
文档存储MongoDB/CouchbaseMongoDB基于硬盘数据处理,速度比SQL数据库提高几十倍,Couchbase基于内存处理;两者都有很强的横向扩展能力。具有大数据处理能力,无事务处理能力。
列族存储Cassandra、Hbase基于硬盘数据处理,由于主要面向大数据处理,所以写速度明显快于读速度,整体读写速度慢于前面两个存储类型,具有较大的数据查询统计功能,无事务处理能力。
图存储Neo4j、OrientDB基于硬盘的数据处理,侧重图数据查询计算。具有ACID事物能力,但使用设计不方便。
其他类型MarkLogic等

这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

TRDB与NoSQL的区别
  • 1.技术上:
TRDBNoSQL
使用强存储模式技术使用弱存储模式技术
采用SQL技术标准定义和操作数据库没有采用SQL技术标准定义和操作数据库
采用强事务保证可用性及安全性采用弱事务保证数据可用性
主要采用单机集中式处理CP主要采用多机分布式处理DP
  • 2.事务上:
    上面在技术上其实已经提到了,但还是单独的拿出来说说,TRDB遵循ACID原则,不仅要遵循最终一直性,还要中途不能变。NoSQL遵循BASE原则,只需要保证最终一致性,NoSQL在数据处理过程中,允许状态暂时不一致。
  • 3.处理类型上:
    NoSQL在处理网页、网站访问量、大量的视频存储等,这些数据允许插入出错,给用户带来的损失往往是能接受的。而TRDB所要面对的数据,如财务数据,如果少记录一笔甚至记错一个数字,就可能损失上百万,这都是承受不起的损失。

选择使用ACID还是BASE,或者是说选择TRDB还是NoSQL,取决于他们的优缺点。灵活的运用他们的优势,避开劣势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星空皓月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值