Oracle与mongodb的区别
oracle与mongodb的区别
1. 从概念上
Oracle中的许多概念与MongoDB中的类似。下表概述了Oracle和MongoDB中的常见概念。
Oracle | mongodb |
---|---|
ACID Transactions | ACID Transactions |
Table | Collection |
Row | Document |
Column | Field |
Secondary Index | Secondary Index |
JOINs | Embedded documents, $lookup & $graphLookup |
GROUP_BY | Aggregation Pipeline |
2. 从功能和特性上
与Oracle一样,MongoDB提供了一组丰富的特性和功能,远远超出了简单NoSQL数据存储所提供的特性和功能。MongoDB拥有丰富的查询语言、功能强大的二级索引(包括文本搜索和地理空间)、强大的数据分析、分面搜索、图形处理等聚合框架。使用MongoDB,您还可以跨比关系数据库更多样化的数据类型使用这些特性,并且可以大规模地使用它们。
特性 | Oracle | MongoDB | NoSQL Data Store |
---|---|---|---|
ACID Transactions | √ | √ | √ |
Flexible, rich data model | · | √ | Partial: schema flexibility but support for only simple data structures |
Schema governance | √ | √ | · |
Expressive joins, faceted search, graphs queries, powerful aggregations | √ | √ | · |
Idiomatic, native language drivers | · | √ | · |
Horizontal scale-out with data locality controls | · | √ | · Partial: no controls over data locality |
Analytics and BI ready | √ | √ | · |
Enterprise grade security and mature management tools | √ | √ | · |
Database as a service on all major clouds | Partial: AWS and Oracle cloud | √ | · |
3. 从查询语言上
Oracle | mongodb |
---|---|
INSERT INTO users (user_id, age, status) VALUES (‘bcd001’, 45, ‘A’) | db.users.insert({ user_id: ‘bcd001’, age: 45, status: ‘A’ }) |
SELECT * FROM users | db.users.find() |
UPDATE users SET status = ‘C’ WHERE age > 25 | db.users.update( { age: { $gt: 25 } }, { $set: { status: ‘C’ } }, { multi: true } ) |
db.start_transaction() cursor.execute(orderInsert, orderData) cursor.execute(stockUpdate, stockData) db.commit() | s.starttransaction() orders.insertone(order, session=s) stock.updateone(item, stockUpdate, session=s) s.committransaction() |
Oracle与mongodb的区别相关推荐
- Nosql简介 Redis,Memchche,MongoDb的区别
Nosql介绍 Nosql的全称是Not Only Sql,这个概念早起就有人提出,在09年的时候比较火.Nosql指的是非关系型数据库,而我们常用的都是关系型数据库.就像我们常用的mysql,sql ...
- 第一篇 Nosql讲解之Redis,Memchche,MongoDb的区别
第一篇 Nosql讲解之Redis,Memchche,MongoDb的区别 本篇文章主要介绍Nosql的一些东西,以及Nosql中比较火的三个数据库Redis.Memchache.MongoDb和他们 ...
- 关系型数据库和非关系型数据库区别、oracle与mysql的区别
一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并 ...
- Redis、Memcache和MongoDB的区别
>>Memcached Memcached的优点: Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key.value的字节大小以及服务器硬件性能,日常环 ...
- Oracle RESETLOGS 和 NORESETLOGS 区别说明
Oracle RESETLOGS 和 NORESETLOGS 区别说明 一.创建控制文件时:Resetlogs和Noresetlogs > > & > ...
- redis.mecmcached和mongoDB的区别
转载自 https://blog.csdn.net/cleble/article/details/78325527 https://segmentfault.com/q/10100000025880 ...
- Oracle primary,unique,foreign 区别,Hibernate 关联映射
Oracle primary,unique,foreign 区别 转:http://www.cnblogs.com/henw/archive/2012/08/15/2639510.html NOT N ...
- ORACLE与PostgreSql的区别
http://blog.itpub.net/post/2316/10994 ORACLE与PostgreSql的区别 本文档主要从数据库开发角度来对比二者的区别,有一些二者相同之处,这里不再专门提出. ...
- Redis和MongoDB的区别
Redis和MongoDB的区别(面试受用) 项目中用的是MongoDB,但是为什么用其实当时选型的时候也没有太多考虑,只是认为数据量比较大,所以采用MongoDB. 最近又想起为什么用MongoDB ...
最新文章
- L1-025 正整数A+B
- 异步使用委托delegate --- BeginInvoke和EndInvoke方法
- EMQ学习 ---集群
- 以回调形式使用startActivityForResult方法,并解决Activity被回收的问题
- win10 uwp 使用 Matrix3DProjection 进行 3d 投影
- 看到了一个 蒙特卡洛方法 随机数得出 圆周率的c++ 源码
- CF1547F Array Stabilization (GCD version) st表 + 尺取/二分
- 如何在黄瓜中进行后端测试
- 为什么不能使用 BigDecimal 的 equals 方法做等值比较
- sql 全角转半角_每天10分钟带你学会MySQL(二)SQL语句的基本书写规则
- 爬虫开发python工具包介绍 (4)
- linux 安装tomcat8和 treeNMS部署
- UE4 云渲染环境搭建
- 5V升压8.4V,5V转8.4芯片电路图
- 罗技Logitech Options下载地址
- 区块链技术在银行业的应用
- 程序员面试金典--疯狂刷
- AddressBook 相关操作小计
- m基于matlab的无线光通信CDMA闭环链路功率控制算法仿真,对比了OOK,2PPM,4PPM,8PPM,16PPM
- pip install 快速下载和安装包的方法
热门文章
- ubuntu php 支持mysql_在ubuntu16.04上安装php7 mysql5.7 nginx1.10并支持http2
- 2019年湘潭大学程序设计竞赛(重现赛)补题:H.Chat(分组背包)
- 问题 D: 巧求和(思维)
- 基于行为树的新手引导设计
- 一种基于游戏引擎的AR模式探讨(下)
- docker概念很乱?俺来替你理一下!
- PMP每日三题(2022年2月14日)
- Java扑克牌(洗牌Collections.shuffle)
- 使用 Authid Current_User 为调用者授权
- linux覆盖和追加