📜  NoSQL 在工业中的使用

📅  最后修改于: 2022-05-13 01:57:14.404000             🧑  作者: Mango

NoSQL 在工业中的使用

先决条件——NoSQL简介,SQL与NoSQL的区别
为什么是 NoSQL?

  • 最近,您可以轻松地从各种来源(如 Facebook、Google 等)捕获和访问数据。
  • 用户的个人信息、地理位置数据、用户生成的内容、社交图谱和机器日志数据是数据快速增长的一些例子。
  • 要使用上述属性,需要处理大量数据。
  • 哪些关系数据库不适合。 NoSQL 数据库的演变是为了正确处理如此大量的数据。

NoSQL 在工业中的使用

  1. 会话存储
  • 使用关系数据库管理会话数据非常困难,尤其是在应用程序增长非常快的情况下。
  • 在这种情况下,正确的方法是使用全局会话存储,它管理访问该站点的每个用户的会话信息。
  • NOSQL 适用于存储此类 Web 应用程序会话信息的大小非常大。
  • 由于会话数据在形式上是非结构化的,因此很容易将其存储在无模式文档中而不是关系数据库记录中。

  • 用户配置文件存储
    • 为了实现在线交易、用户偏好、用户身份验证等,需要通过 Web 和移动应用程序存储用户配置文件。
    • 最近,网络和移动应用程序的用户增长非常迅速。关系数据库无法处理如此大量增长迅速的用户配置文件数据,因为它仅限于单个服务器。
    • 通过添加服务器可以轻松增加使用 NOSQL 的容量,这使得扩展具有成本效益



  • 内容和元数据存储
    • 很多像出版社这样的公司需要一个可以存储大量数据的地方,包括文章、数字内容和电子书,以便将各种学习工具合并到一个平台上
    • 对于此类应用程序元数据,基于内容的应用程序是需要较少响应时间的非常频繁访问的数据。
    • 对于基于内容构建应用程序,NoSQL 的使用提供了更快地访问数据和存储不同类型内容的灵活性

  • 移动应用
    • 由于智能手机用户增长非常迅速,移动应用程序面临与增长和数量相关的问题。
    • 使用NoSQL数据库移动应用开发可以从很小的规模开始,随着用户数量的增加可以很容易地扩展,如果你考虑关系数据库,这是非常困难的。
    • 由于 NoSQL 数据库以无模式存储数据,因此应用程序开发人员可以更新应用程序,而无需对数据库进行重大修改。
    • Kobo 和 Playtika 等移动应用公司使用 NOSQL 并为全球数百万用户提供服务。

  • 第三方数据聚合
    • 企业经常需要访问第三方产生的数据。例如,消费品公司可能需要从商店获取销售数据以及购物者的购买历史。
    • 在这种情况下,NoSQL 数据库是合适的,因为 NoSQL 数据库可以管理从各种数据源高速生成的大量数据。

  • 物联网
    • 今天,有数十亿台设备连接到互联网,例如智能手机、平板电脑、家用电器、安装在医院、汽车和仓库中的系统。对于此类设备,会生成大量和种类繁多的数据并继续生成。
    • 关系数据库无法存储此类数据。 NOSQL 允许组织扩展对来自连接、存储大量数据并满足所需性能的数十亿设备和系统的数据的并发访问。

  • 电子商务
    • 电子商务公司使用 NoSQL 来存储大量数据和来自用户的大量请求。

  • 社交游戏
    • 社交游戏等数据密集型应用程序可以将用户增长到数百万。用户数量和数据量的这种增长需要一个数据库系统,该系统可以存储此类数据并且可以扩展以合并不断增长的用户数量 NOSQL 适用于此类应用程序。
    • NOSQL 已被一些移动游戏公司使用,如电子艺术、zynga 和腾讯。

  • 广告定位
    • 在当前网页上显示广告或优惠是一项有直接收入的决定 为了确定要定位的用户群体,在网页上在哪里显示广告,平台会收集用户的行为和人口统计特征。
    • NoSQL 数据库使广告公司能够跟踪用户详细信息并快速放置并增加点击概率。
    • AOL、Mediamind 和 PayPal 是一些使用 NoSQL 的广告定位公司

    NoSQL 的优势

    • NOSQL 提供了高级别的可扩展性。
    • 它用于分布式计算环境。
    • 实施成本较低 它为半结构化数据提供存储,并且还提供模式的灵活性。
    • 关系没那么复杂
    • NOSQL 的优点还包括能够处理:
      • 大量结构化、半结构化和非结构化数据。
      • 面向对象的算法允许实现以在多个数据中心上实现最大可用性。
      • 基于最终一致性的系统比传统 OLAP RDBMS 更好地扩展更新工作负载,同时还可以扩展到非常大的数据集。
      • 易于使用且灵活的编程。高效的横向扩展架构,而不是昂贵的单体架构