对于SQL数据库(关系型数据库)我们大家都有所了解,比如MySQL,sqlserver,oracle等数据库。在日常的开发过程中我们遇到服务器端的数据存储时几乎第一反应就是使用SQL据库像我们最常见的Mysql数据库。

数据库存在的意义就是存储和读取数据,SQL数据库用二维表存储数据,在使用过程中我们会觉得这种存储方式可以很形象的表示出数据之间的关系。尤其是SQL语句的出现使得SQL数据库的使用变得更加广泛容易。但是注重严密的数据关系带来的就是拓展性差和大量数据存储时性能的问题。

NoSQL数据库(非关系数据库)它的出现就是为了解决上述问题。它去掉了数据之间的关系重视数据的读写使得它在大数据的存储上表现出很棒的性能,

它没有固定的表结构使得它在拓展上表现的非常灵活。

MongoDB是由C++语言编写的基于分布式文件存储的开源数据库系统是最常用的NoSQL数据库也是最像SQL类型的数据库。它采用的数据存储方式是json----key:value方式,在存储数据时不需要提前规定表的结构它的数据存储在文档中(document)大量的文档组成集合(collection)大量的集合组成数据库。

MongoDB的数据存储于SQL语句的对照:

MongoDB支持的数据类型有:null、boolean、String、objectId、32位整数、64位整数、64位浮点数、日期、正则表达式、js代码、二进制数据、数组、内嵌文档、最大值、最小值、未定义类型。

MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB的使用场景:

1:数据的插入,更新和查找。

2:适合文档化格式的存储与查询。

3:适合由数十或数百台服务器组成的数据库。

不适用的场景:

1:对于事务型要求比较高的系统。

2:传统的商业智能应用。

3:复杂的表级联查询。

总结:对于实际的项目应用中可以结合数据的特征和数据存储量进行合理的数据库选取,必要时可以结合使用SQL数据库和NoSQL数据库,这样可以极大程度的缓解数据库的性能压力展现数据之间的关系。

最新文章

  1. idea小技巧
  2. CF 435B Pasha Maximizes(贪心)
  3. sprint3冲刺第一天
  4. 自定义view 画圆
  5. spring校验和文件上传
  6. LA 3266 (贪心) Tian Ji -- The Horse Racing
  7. kettle作业(job)调用转换,设置变量,写日志到数据库中【转】
  8. MySQL忘记密码 办法
  9. iBatis查询结果部分为null的解决办法
  10. 移动跨平台开发框架Ionic开发一个新闻阅读APP
  11. hdu 5514 Frogs(容斥)
  12. Postman-----如何导入和导出
  13. django之组件
  14. 脚本监控web服务器,工作不正常发邮件提醒
  15. mybatis-plus调用自身的 selectById 方法报错:org.apache.ibatis.binding.BindingException:
  16. [CF1041F Ray in the tube][数学]
  17. Android避免快速双击按钮最简单好用的方式
  18. python pillow
  19. .NET MVC 学习笔记(七)— 控制input控件
  20. 从ACM会议分析我国计算机科学近十年发展情况

热门文章

  1. 屏蔽掉返回键,menu键,Home键
  2. Laravel Eloquent ORM
  3. UIView的setNeedsLayout, layoutIfNeeded 和 layoutSubviews 方法之间的关系解释
  4. MVC5移除不常用Nuget命令
  5. win8 Pro 64位在 UEFI模式下Ghost系统 备份 恢复
  6. CSS样式总结
  7. python下如何处理windows的路径名
  8. 使用 PHP 读取文本(TXT)文件 并分页显示
  9. OSharp 学习(一)
  10. 转载收藏之用 - 微信公众平台开发教程(四):Hello World