100.什么是 NoSQL 数据库?

NoSQL 是非关系型数据库,NoSQL = Not Only SQL 。

? NoSQL 和 RDBMS 有什么区别?

  • 关系型数据库,采用的结构化的数据。
  • NoSQL 采用的是键值对的方式存储数据。

? 在哪些情况下使用和不使用 NoSQL 数据库?

优先考虑使用 NoSQL 数据库

  • 在处理非结构化 / 半结构化的大数据
  • 在水平方向上进行扩展
  • 随时应对动态增加的数据项

优先考虑关系型数据库

  • 在考虑数据库的成熟度
  • 分析和商业智能
  • 管理及专业性等问题

下面我说下自己的观点

  • 信息表(例如,商品信息),使用 NoSQL 数据库不错,因为 NoSQL 往往提供灵活的数据类型。
  • 交易表,使用关系数据库,因为往往需要关注事务性。
  • 对 BI 分析等,使用关系数据库,因为周边设施更加完善。

? 非关系型数据库有哪些?

比较常见的三个是:

  • MongoDB
  • Redis
  • Elasticsearch