MongoDB学习

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

这里提及一下分布式的优点:

  • 可靠性(容错) :

    分布式计算系统中的一个重要的优点是可靠性。一台服务器的系统崩溃并不影响到其余的服务器。
  • 可扩展性:

    在分布式计算系统可以根据需要增加更多的机器。
  • 资源共享:

    共享数据是必不可少的应用,如银行,预订系统。
  • 灵活性:

    由于该系统是非常灵活的,它很容易安装,实施和调试新的服务。
  • 更快的速度:

    分布式计算系统可以有多台计算机的计算能力,使得它比其他系统有更快的处理速度。
  • 开放系统:

    由于它是开放的系统,本地或者远程都可以访问到该服务。
  • 更高的性能:
    相较于集中式计算机网络集群可以提供更高的性能(及更好的性价比)。

分布式的缺点:

  • 故障排除:

    故障排除和诊断问题。
  • 软件:

    更少的软件支持是分布式计算系统的主要缺点。
  • 网络:

    网络基础设施的问题,包括:传输问题,高负载,信息丢失等。
  • 安全性:
    开放系统的特性让分布式计算系统存在着数据的安全性和共享的风险等问题。

Why NoSqL ?

 NoSQL用于超大规模数据的存储。如果要进行数据的爬取和访问,用户生成的数据和用户操作日志已经成倍增加.传统的数据库已经不在适合这些应用了.NOSQL数据库的发展却也能很好的处理这些大的数据

CAP定理[待做项目深入理解]

在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:

  • 一致性(Consistency) (所有节点在同一时间具有相同的数据)
  • 可用性(Availability) (保证每个请求不管成功或者失败都有响应)
  • 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。

所以这样,根据CPA原理将NoSQL数据库分成了CA原则,满足CP原则和满足AP原则

  • CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
  • CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
  • AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

相关推荐