免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lyhabc
打印 上一主题 下一主题

[MongoDB] NoSQL层出不穷,各种NOSQL产品的比较和优劣势讨论 [复制链接]

论坛徽章:
6
季节之章:冬
日期:2015-01-20 17:18:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2015-12-20 06:20:00程序设计版块每日发帖之星
日期:2016-06-09 06:20:00每日论坛发贴之星
日期:2016-06-09 06:20:002016科比退役纪念章
日期:2017-01-12 14:08:57
11 [报告]
发表于 2015-12-17 17:12 |只看该作者
回复 4# lyhabc


   
什么意思?你是说Tair是阿里巴巴(淘宝是阿里巴巴旗下的吗?它跟阿里巴巴是什么关系?我不太知道?)的技术团队根据市场需要创造性地形成产品概念、探索出产品开发和运行的概念和原理、之后又独立地设计了产品并实现之,最后成功应用吗?

如果是这样的话,那就太好了?!

论坛徽章:
6
季节之章:冬
日期:2015-01-20 17:18:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2015-12-20 06:20:00程序设计版块每日发帖之星
日期:2016-06-09 06:20:00每日论坛发贴之星
日期:2016-06-09 06:20:002016科比退役纪念章
日期:2017-01-12 14:08:57
12 [报告]
发表于 2015-12-17 17:31 |只看该作者
回复 10# SeAL80s


   
其实,创新并不“难”?!并不一定需要丰富大量的知识和技能?!关键是具有一定知识和基础的人(学校、老师、学生、科研人员、工程师)要紧密联系实际、联系市场、根据市场和技术自身发展的需要通过研究、开发合适的产品来完成科研和学习。否则,科研和研发就是无源之水、无本之木了?!广泛、大量、全面地学习,对于学生来说,当然有好处。但是,不能为了学习而学习,或者至少是不能总是、长期是为了学习而学习。而要针对市场需要、科学技术自身发展的需要,以此为中心,展开研究和学习。只有这样才能真正把聪明才智转化为生产力,也才能赚钱、赚大钱,之后再大规模地投入科研和学习?!

我觉得我们最大的问题在于学校与市场严重脱钩、学生的学习与市场完全脱钩?!就比如:RISC的创始人Hennesy和Patterson就是从学校出来,带着研究成果办公司,又从公司回到学校搞科研。

论坛徽章:
6
季节之章:冬
日期:2015-01-20 17:18:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2015-12-20 06:20:00程序设计版块每日发帖之星
日期:2016-06-09 06:20:00每日论坛发贴之星
日期:2016-06-09 06:20:002016科比退役纪念章
日期:2017-01-12 14:08:57
13 [报告]
发表于 2015-12-17 17:41 |只看该作者
我就想问一问我们的工程师们:我们能不能下定决心,花一年、三年、五年的时间,不吃不喝,瞄准数据库或操作系统中的一个,搞一个出来?不管它一开始有多“丑”?

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
14 [报告]
发表于 2015-12-17 21:19 |只看该作者
国产的文档数据库有sequoiaDB啊,和mongodb兼容,但是性能好很多。
mongodb更像DB,是因为它不仅支持KV,还支持按文档的field索引。基本上可以等效于一个单表的mysql.
但是nosql数据库的通用短板,就是对join的支持不好。mongodb也不例外。这个是它的原理决定的。

redis我们也叫他内存数据库,同时还支持持久化。但是它的功能确实太有限了。基本就就限于二级的key+field索引。数据类型有限。
redis对应的国内改良品也有SSDB.可以支持主主集群,而且容量10倍。可惜性能也随之下降很多。

memcache就更只有KV了。

评分

参与人数 1可用积分 +3 收起 理由
lyhabc + 3

查看全部评分

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
15 [报告]
发表于 2015-12-17 22:20 |只看该作者
@laputa73
总结得不错  

论坛徽章:
72
20周年集字徽章-20	
日期:2020-10-28 14:04:30操作系统版块每日发帖之星
日期:2016-07-13 06:20:0015-16赛季CBA联赛之广夏
日期:2016-07-10 09:04:02数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00操作系统版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-04 06:20:00数据库技术版块每日发帖之星
日期:2016-07-03 06:20:00操作系统版块每日发帖之星
日期:2016-07-03 06:20:00数据库技术版块每日发帖之星
日期:2016-07-02 06:20:00操作系统版块每日发帖之星
日期:2016-07-02 06:20:00
16 [报告]
发表于 2015-12-18 10:00 |只看该作者
占个楼先。

论坛徽章:
22
辰龙
日期:2014-09-06 16:07:2715-16赛季CBA联赛之浙江
日期:2016-01-21 14:49:4815-16赛季CBA联赛之江苏
日期:2016-12-20 14:25:4515-16赛季CBA联赛之新疆
日期:2016-12-22 14:47:2015-16赛季CBA联赛之山西
日期:2017-03-03 10:32:2115-16赛季CBA联赛之天津
日期:2017-03-06 14:29:2515-16赛季CBA联赛之江苏
日期:2017-06-23 16:02:4515-16赛季CBA联赛之北京
日期:2017-07-25 17:24:5915-16赛季CBA联赛之广东
日期:2017-09-27 14:47:4215-16赛季CBA联赛之辽宁
日期:2017-11-08 09:13:5415-16赛季CBA联赛之同曦
日期:2016-01-07 14:25:30技术图书徽章
日期:2015-12-23 09:50:33
17 [报告]
发表于 2015-12-18 11:12 |只看该作者
本帖最后由 will009 于 2015-12-18 11:14 编辑

回复 13# liklstar

你提出来的观点令人深思,我觉得这牵涉到很多东西,比如教育、社会风气等等,研发操作系统和数据库还需要走一段很长的路。


   

论坛徽章:
32
CU大牛徽章
日期:2013-05-20 10:45:13每日论坛发贴之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:0015-16赛季CBA联赛之江苏
日期:2016-03-03 11:56:13IT运维版块每日发帖之星
日期:2016-03-06 06:20:00fulanqi
日期:2016-06-17 17:54:25IT运维版块每日发帖之星
日期:2016-07-23 06:20:0015-16赛季CBA联赛之佛山
日期:2016-08-11 18:06:41JAVA
日期:2016-10-25 16:09:072017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:21
18 [报告]
发表于 2015-12-19 16:57 |只看该作者
其实,我们看过了外国人的代码和文档后觉得不过如此。那为什么我们就创造不出这样的文档和代码呢?


真心不同意,你看了哪些项目的源码和文档?真正广为流行的开源项目,代码质量都非常高,文档未必详细,但是代码都很不错。像Redis之类的源码,里面蕴含了很多富有创新性的技术和思想。我感觉“不过如此”这句话有点自大。

论坛徽章:
8
数据库技术版块每日发帖之星
日期:2015-12-22 06:20:00平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2016-01-21 06:20:00IT运维版块每日发帖之星
日期:2016-02-03 06:20:00技术图书徽章
日期:2016-02-03 16:35:252016猴年福章徽章
日期:2016-02-18 15:30:34shanzhi
日期:2016-06-17 17:59:31JAVA
日期:2016-10-25 16:16:28
19 [报告]
发表于 2015-12-21 13:18 |只看该作者
回不了呢                     

论坛徽章:
8
数据库技术版块每日发帖之星
日期:2015-12-22 06:20:00平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2016-01-21 06:20:00IT运维版块每日发帖之星
日期:2016-02-03 06:20:00技术图书徽章
日期:2016-02-03 16:35:252016猴年福章徽章
日期:2016-02-18 15:30:34shanzhi
日期:2016-06-17 17:59:31JAVA
日期:2016-10-25 16:16:28
20 [报告]
发表于 2015-12-21 13:19 |只看该作者
1.redis memcached 等和mongodb哪个更像DB?说明原因。

关系型数据库已不能承受t级别,甚至pt级别的任务。nosql这时候就能起到作用。
nosql流行的原因是为了性能,不得不牺牲使用的复杂性。

2.大家一般把redis用在什么场景?mongodb用在什么场景?

(1)Redis
最佳应用场景:适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序。
例如:股票价格、数据分析、实时数据搜集、实时通讯。
(2)Mongodb
最佳应用场景:        适用于需要动态查询支持;
                                需要使用索引而不是 map/reduce功能;
                                需要对大数据库有性能要求;
                                需要使用 CouchDB但因为数据改变太频繁而占满内存的应用程序。
例如:你本打算采用 MySQL或 PostgreSQL,但因为它们本身自带的预定义栏让你望而却步。

3.mongodb和redis memcached等其他nosql产品相比哪个更有优势?

这是三个场景不同的产品,没有可比性,每一种非关系数据库都有它自己的适用场景,都有它自己的独特优势。
mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。
memcached和redis比较接近。它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存。


4.大家觉得mongodb和redis ,mencached 等其他nosql产品会融合吗?因为大家都是nosql方面的产品,功能相似,应用场景都差不多。如果不会融合,说说为何不会融合的理由。

本人觉得不会融合。它们被开发出来是各自针对特定的领域和场景进行设计的,它们各自都有自身的优势和缺点,不具可比性。
不会开发出一个功能齐全,可以适用于所有场景的一个产品,过分请求完美的产品必定是失败的产品,只要针对特定场景完美解决的就是成功的产品。
在项目应用中各个产品的组合使用是正确的选择,各个nosql产品组合使用,nosql也可以和传统数据库组合使用,发挥每个产品的最大价值。
同样,我们可以想象一下关系型数据库为什么没有出现一个融合的产品呢?

5.学习mongodb和学习redis,mencached哪个更有优势?

可以对这些都进行了解,但是还是要根据实际使用过程中的场景来决定选型。
mongodb为代表的nosql应该是传统数据库的有益的补充,较适合web端快速开发。
redis 和 memcache 都是好的缓存方案,各有各的优缺点著作权归作者所有。
redis 是分布式的数据结构服务器,功能上覆盖了memcached, 可以代替memcached.
当然memcached也有优势,memcached是多线程的,这样可以充分利用多核能力。redis是单核,要想在那么多数据结构基础上支持多线程,光加锁就会让人疯掉,性能也会下降。



评分

参与人数 1可用积分 +3 收起 理由
lyhabc + 3 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP