- 浏览: 7863333 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
在关系数据库中和nosql的设计时,对于schema的设计是不同的.比如MYSQL中,设计如下一个例子:
这个如果要转换为mongodb要如何设计呢,首先一个方法是全部放在一个collection中,如
这样的话,如果要查询people的所有信息,放在同一个collection中是很快的,当然也可以分开两个collection进行嵌套,如:
甚至可以这样:
如果是大部分只查询people的本身信息的话,那么建议分开两个collection存放,避免每次把不需要加载的信息加载进去了.
mysql> select * from people; +----+------------+ | id | name | +----+------------+ | 1 | Stephane | | 2 | John | | 3 | Michael | | 4 | Cinderella | +----+------------+ mysql> select * from passports; +----+-----------+---------+-------------+ | id | people_id | country | valid_until | +----+-----------+---------+-------------+ | 4 | 1 | FR | 2020-01-01 | | 5 | 2 | US | 2020-01-01 | | 6 | 3 | RU | 2020-01-01 | +----+-----------+---------+-------------+
这个如果要转换为mongodb要如何设计呢,首先一个方法是全部放在一个collection中,如
> db.people_all.find().pretty() { "_id" : ObjectId("51f7be1cd6189a56c399d3bf"), "name" : "Stephane", "country" : "FR", "valid_until" : ISODate("2019-12-31T23:00:00Z") } { "_id" : ObjectId("51f7be3fd6189a56c399d3c0"), "name" : "John", "country" : "US", "valid_until" : ISODate("2019-12-31T23:00:00Z") } { "_id" : ObjectId("51f7be4dd6189a56c399d3c1"), "name" : "Michael", "country" : "RU", "valid_until" : ISODate("2019-12-31T23:00:00Z") } { "_id" : ObjectId("51f7be5cd6189a56c399d3c2"), "name" : "Cinderella" }
这样的话,如果要查询people的所有信息,放在同一个collection中是很快的,当然也可以分开两个collection进行嵌套,如:
> db.people_embed.find().pretty() { "_id" : ObjectId("51f7c0048ded44d5ebb83774"), "name" : "Stephane", "passport" : { "country" : "FR", "valid_until" : ISODate("2019-12-31T23:00:00Z") } } { "_id" : ObjectId("51f7c70e8ded44d5ebb83775"), "name" : "John", "passport" : { "country" : "US", "valid_until" : ISODate("2019-12-31T23:00:00Z") } } { "_id" : ObjectId("51f7c71b8ded44d5ebb83776"), "name" : "Michael", "passport" : { "country" : "RU", "valid_until" : ISODate("2019-12-31T23:00:00Z") } } { "_id" : ObjectId("51f7c7258ded44d5ebb83777"), "name" : "Cinderella" }
甚至可以这样:
> db.passports_embed.find().pretty() { "_id" : ObjectId("51f7c7e58ded44d5ebb8377b"), "country" : "FR", "valid_until" : ISODate("2019-12-31T23:00:00Z"), "person" : { "name" : "Stephane" } } { "_id" : ObjectId("51f7c7ec8ded44d5ebb8377c"), "country" : "US", "valid_until" : ISODate("2019-12-31T23:00:00Z"), "person" : { "name" : "John" } } { "_id" : ObjectId("51f7c7fa8ded44d5ebb8377d"), "country" : "RU", "valid_until" : ISODate("2019-12-31T23:00:00Z"), "person" : { "name" : "Michael" } } { "_id" : ObjectId("51f7c8058ded44d5ebb8377e"), "person" : { "name" : "Cinderella" } }
如果是大部分只查询people的本身信息的话,那么建议分开两个collection存放,避免每次把不需要加载的信息加载进去了.
发表评论
-
mybatis generator中的字段大小写生成问题
2017-10-22 19:35 11265mybatis generator插件中,如果 mysql数据 ... -
MySQL统计一个列中不同值的数量
2017-07-11 14:04 16241https://yiqiwuliao.com/post/mys ... -
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
2017-03-02 09:44 1745权限问题,授权 给 root 所有sql 权限 mysql ... -
几个不错的MYSQL 优化TIPS
2016-11-19 12:30 778图片来自http://imysql.com/的PDF分享 [ ... -
powerdesign 逆向ORACLE的坑
2016-09-27 17:08 532要注意的是,在WIN 64中,如果要用powerdesin 来 ... -
( 转)mysql中删除两条重复记录中的一条
2015-10-19 20:19 1304| id | createTime | labId | pub ... -
mysql中sql语句=,>的时候的索引设置
2015-05-02 12:27 1290在 https://www.percona.com/blog/ ... -
mysql中profile的使用
2015-04-30 11:11 2196mysql 的 sql 性能分析器主要用途是显示 sql 执行 ... -
mysql中的sql mode
2015-04-13 11:29 1122mysql sql mode小结 1 sql mode可以 ... -
PROCEDURE ANALYSE()为mysql提高性能提供建议
2015-04-02 16:37 1421procedure analyse();语法如下 select ... -
mongodb中意外退出的问题
2015-02-11 14:32 1319mongodb启动的时候,意外退出: Unclean shut ... -
mysql 5.5中保留字查询
2014-06-05 23:16 1459mysql 5.5中保留字查询 http://www.5is ... -
(转)oracle 临时表空间的增删改查
2014-03-18 12:44 1105oracle 临时表空间的增删改查 1、查看临时表空间 (d ... -
pl-sql developer安装
2014-02-07 09:16 1103一直都是机器本机上有oracle,所以装pl sql deve ... -
oracle中的nvl,nvl2等参数
2013-12-26 11:18 22501.nul函数将一个null值转换为一个实际的值。 数据类型可 ... -
Oracle中的ROWNUM rowid 以及MySQL中实现rownum功能类似的语句
2013-12-26 11:08 2333http://gong-10140.iteye.com/blo ... -
ORACLE XE版本的限制
2013-12-07 08:11 361710g中用户数据最大为4G, 11G中最大为11G,如果超出大 ... -
oracle中监控索引是否可用
2013-11-04 07:22 1046在oracle中,可以使用如下的方法监控索引是否可用: a ... -
mysql 5.6中的时间类型的新精度介绍
2013-10-28 09:33 8379留意到mysql 5.6中,可以使用select now(6) ... -
<<oracle索引技术》读书笔记1
2013-08-25 16:23 1299expert indexing in oracle datab ...
相关推荐
通过HBase的应用实践,介绍其体系架构,以及传统关系型数据库和NOSQL数据库在应用设计方面需要考虑的问题。以实际应用案例为参考,关系型数据库和NOSQL在同类业务场景下的设计方案对比。
空间数据库技术应用:关系数据库的设计.pptx
旨在让学生了解关系数据库、键值数据库、列族数据库和文档数据库的基本操作,比较同样的数据库操作在不同类型的数据库产品中的实现方法,体会其中的异同点,从而加深对关系数据库和NoSQL数据库的认识。
关系数据库还是NoSQL数据库.doc
A.4实验四:NoSQL和关系数据库的操作比较 本实验对应第6章的内容。 A.4.1实验目的 (1)理解4种数据库(MySQL、HBase,Redis和 MongoDB)的概念及不同点。(2)熟练使用4种数据库操作常用的 Shell命令。 (3)熟悉4种...
MongoDb是非关系型数据库的一种,它是一种基于分布式的文档型数据库。
关系型数据库与NoSQL数据库_张华强.pdf
NoSQL简介 NoSQL兴起的原因 NoSQL与关系数据库的比较 NoSQL的四大类型 NoSQL的三大基石 从NoSQL到NewSQL数据库
关系型数据库与nosql数据库
二.NoSQL数据库的产生 关系数据库面临挑战 关系数据库面对超大规模和高并发的SNS类型的web2.0纯动态网站显得力不从心,暴露了很多难以克服的问题 A 大数据发展 大规模数据集合,多重数据带来了许多挑战,尤其是...
NoSQL数据库技NoSQL最新技术发展趋势
yolo知识领域: 数据库管理 技术关键词: SQL、关系数据库、NoSQL 内容关键词: 数据建模、查询优化、事务处理 用途: 学习有效管理和操作数据的技术和方法 资源描述: 《数据库系统概念》一书
关系型数据库与NOSQL数据库的应用场景.pptx
第19章 非关系型数据库—NoSQL.docx
非关系数据库介绍,对于不了解非关系数据库NoSql的新手来说可以值得一看
技术关键词: SQL、关系数据库、NoSQL 内容关键词: 数据建模、查询优化、事务处理 用途: 理解数据存储和管理的基本原理,确保数据的有效性和安全性 资源描述: "MySQL官方文档"提供了MySQL数据库的详尽文档和教程,...
Nosql非关系型数据库
nosql no关系型数据库,包括Redis,TC/TT,MongoDB,Cassandra
基于关系型数据库与NoSQL的海量数据处理,韩特,熊翱,大数据量的读写处理问题是大型数据库应用系统中的关键问题。面对数据类型繁多、数据量巨大的医疗器械数据,传统的关系型数据库具
数据存储实验4-NoSQL和关系数据库的操作比较.doc(实验报告)