DataBase ' difference

194 阅读4分钟

Hello 我是 Peate ,随着科技的进步,信息化的发展,生活中到处可见的二维码、大数据、人脸识别、指纹支付,各种场景 都在 体现信息化时代的到来,那这些信息都来源于哪里 都 存储在哪里 ,怎么存的呢?借此机会就给大家讲一些数据库之间的选型,以及各数据库 适合的 场景业务,项目中该如何去 选用数据库。

一、数据库的分类 :

  • 关系型数据库(SQL)
    • MySQL
    • SQL server
    • Oracle
  • 非关系型 数据 库(NoSQL)
    • Redis
    • Mongodb
    • Hbase

二、介绍以及使用场景:

  • MySQL
    • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,它属于 Oracle 旗下产品。
    • 适用于常见的网站、应用程序和商业产品等数据量比较小、数据安全又不是很高的产品。
    • 优点:
      • 速度快、体积小、总体拥有成本低,重要的是开源
      • 提供了多语言的API
      • 与其他大型数据库的设置和管理相比,其复杂程度较低,容易学习
      • 十分灵活和安全的权限和密码系统,允许主机验证。连接到服务器时,所有的密码均采用加密形式,从而保证了密码安全。并且由于MySQL是网络化的,因此可以在因特网网上的任何地方访问,提高数据共享效率
    • 缺点:
      • MySQL数据库不支持热备份
  • SQL server
    • SQL Server 是Microsoft 公司推出的关系型数据库管理系统
    • 优点:
      • 可伸缩性
      • 集成性
      • 简单易用
      • 高效的
    • 缺点:
      • 只能运行在windows平台,平台单一不具备开放性
      • 并行实施与共存模型不成熟,难以处理大规模的数据,伸缩性有限
      • 当用户连接多时性能会变得很差并且不稳定
      • 客户端支持应用模式,仅支持C/S模式 
  • Oracle
    • Oracle 是甲骨文公司的一款关系数据库管理系统
    • 优点:
      • 能在所有主流平台上运行(包括 windows)完全支持所有工业标准采用完全开放策略使客户选择适合解决方案对开发商全力支持
      • 并行服务器通过使组结点共享同簇工作来扩展windownt能力提供高用性和高伸缩性簇解决方案windowsNT能满足需要用户把数据库移UNIXOracle并行服务器对各种UNIX平台集群机制都有着相当高集成度
      •  获得最高认证级别的ISO标准认证
      • 性能高 保持开放平台下TPC-D和TPC-C世界记录
      • 多层次网络计算支持多种工业标准用ODBC、JDBC、OCI等网络客户连接
      • 长时间开发经验完全向下兼容得广泛应用地风险低
    • 缺点:
      • 对硬件的要求高、价格高
      • 需要专业的DBA 进行 管理
      • 操作比较复杂,需要技术含量较高
    • Redis
      • Redis 全称 Remote Dictionary Server,它是一个基于内存实现的键值型非关系(NoSQL)数据库,由意大利人 Salvatore Sanfilippo 使用 C 语言编写。
      • 应用场景:数据缓存、抽奖、点赞、数据共享分布式、分布式锁、全局ID、推荐模型、排行榜、计数器、限流、位统计、购物车、商品标签、商品筛选、用户消息时间线 timeline、消息队列、签到、打卡、用户关注 这里我常用的是数据缓存、请求限流 以及 排行榜等一些操作 。
    • Mongodb
      • MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案
      • 使用MongoDB的数据特性:读写操作频繁、数据量大、对事务要求不高、数据价值较低
    • Hbase
      • HBase 是一个面向列的、分布式的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:《一个结构化数据的分布式存储系统》”
      • 特点:容量大,面向列,写入比mysql快但是读取没有,实际生产中 如果有超过五百万条数据的话其实还是建议读写用 Hbase

项目中 就可以根据业务的实际情况 可以对 数据库进行选型,让程序运转的更顺畅,用户体验更佳,希望这篇总结对各位有所帮助,THX!
本文正在参加「技术专题19期 漫谈数据库技术」活动