聊聊 NoSQL

Not Only SQL 这是最常见对非关系型数据库描述的一句话

NoSQL 这个词的定义非常不明确,它泛指非关系型数据库。主张使用无模式(Schema)的数据,可以运行在集群环境中,并且能够牺牲关系型数据库所具备的一致性,以换取另外一些有用的特性,NoSQL 的倡导者声称,使用它们可以构建出性能更高、扩展度更好且更易于的系统。

什么类型的数据库可以称为 NoSQL 数据库呢?

  • 开发于 21 世纪初
  • 开放源码
  • 不以 SQL 语句操作数据库,通过 Shell 脚本命令操作

NoSQL 数据库常见的类型

  • 键值类型 Redis
  • 文档类型 MongoDB
  • 列族类型 HBase
  • 图形类型 Neo4j

除了非关系型数据库与 NoSQL 数据库,还有一种对象类型数据库,但已经没有人使用,因为有了 ORM 对象关系映射模型框架

为什么要使用 NoSQL 数据库

  • 应用程序的开发效率,传统的关系型数据库,会使技术人员花费大量的时间找实体、关系图、建模型上。

  • 大规模的数据,应用要快速从数据库中获取数据,传统关系型数据库即便能达到要求,相比 NoSQL 成本较高。毕竟 NoSQL 数据库为集群环境而设计,自带分片、复制、分布式功能,更适合大规模数据的应用场景。

应用场景

目前企业实际项目中常见的还是以关系型数据为主,NoSQL为辅。
比如主流关系型数据 MySQL 数据库。键值类型、数据存与内存的 Redis 来作为缓存、队列、分布式事务锁。文档类型的 MongoDB 存放日志信息、社交类应用存放用户信息。Hbase 用于大数据分析用户行为,广告、金融系统存放用户支出、收益信息。

打赏作者

您将是第一位评论人!

提醒
avatar