对数据库 redis mongodb mysql 的看法

关系型数据库首选 mysql
文档型数据库首选 mongodb
内存型数据库首选 redis

数据库的主要功能:

1.存取
(主要技术有: 内存读写,文件读写,分布式文件读写,事务读写, 容灾备份,主从复制,消峰读写 ,读写锁保护,脏数据处理,读写分离 ,索引优化,物理逻辑分区 等等)
2.分析
( 选取字段 ,条件过滤, 分组, 统计, 排序, 索引优化, MapReduce等 )

这三种数据库必须学习,因为各有特点:

  • mysql特色 sql语言 ,学数据库必须先学 sql ,学习数据库 建表,建字段. 建索引,建函数,建触发器,建分区, 读取记录,条件过滤 ,分组,汇总,统计等等基础知识
  • mongodb 基于数据库基本知识, 结合json结构, 重新理解数据库的操作方法, mongodb 分布式集群也很有特点,这个初学者不需要管
  • redis 简单的键值对操作库,因为是内存数据库,所以很快, 学习java的人会觉得就像一个hashmap hashset arraylist的集合库,只是可以当作数据库使用
  • postgresql 因为功能强大 既有mysql的特点,又有mongodb的特点
    但是我觉得反而没有特色
对比项mysqlmongodb
表设计结构严谨字段容易变更
支持复杂表关系
支持复杂系统结构
统计分析语法容易
适用开发语言java python c++ nodejspython nodejs

注意: 开发语言: mongodb 存储的json 这一点 nodejs 和python 确实有优势

数据库用途:

  • redis: 数据缓存库,防止主机掉电内存数据丢失,也可以用于数据量比较少,对读写性能要求比较快的场景;
  • mongodb: 项目的数据结构比较简单(集合(对象表)小于10张), 但数据量比较大的场景;
  • mysql: 项目数据结构比较复杂的场景(对象表大于10张)

注意: 特别强调的是 单一项目 的数据结构,
如果多个项目共用一个数据库,每个项目只有几张集合,也算结构比较简单,可以用mongodb数据库,但是一定要注意区分项目间的集合名称,避免混乱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值