了解 SQL 和 NoSQL 数据库以及不同的数据库模型

金钱(警告)

** 状态:** 被贬值

此文章已被删除,不再保留。

理由

我们重新编写了我们的入门数据库内容。

相反,看

本文可能仍然有用作为参考,但可能无法工作或遵循最佳实践. 我们强烈建议使用最近为您正在使用的操作系统撰写的一篇文章。

  • [ NoSQL 数据库管理系统和模型比较

](https://andsky.com/tech/tutorials/a-comparison-of-nosql-database-management-systems-and-models)

美元

介绍


自古以来,计算机最需要和最依赖的功能之一一直是记忆,尽管技术和潜在的实施方法有所不同,但大多数计算机都配备了必要的硬件来处理信息,并将其安全地保留在未来的必要时使用。

在当今世界,几乎不可能想象任何应用程序不利用机器的这种能力,无论是服务器,个人电脑或手持设备,从简单的游戏到业务相关的工具,包括网站,某些类型的数据在每个操作中被处理,记录和检索。

数据库管理系统(DBMS)是较高级别的软件,使用较低级别的应用程序编程接口(API)来处理这些操作,以帮助解决不同类型的问题,几十年来,开发了新的类型的DBMS(如Relational、NoSQL等)以及实施它们的应用程序(如MySQL、PostgreSQL、MongoDB、Redis等)。

在这篇DigitalOcean文章中,我们将探讨数据库和数据库管理系统的基本知识,我们将了解不同数据库的工作逻辑以及如何区分它们。

词典


1、数据库管理系统


2、数据库模型


  1. 关系模型
  2. 无模型(NoSQL)方法

流行的数据库管理系统


  1. 关系数据库管理系统
  2. NoSQL(NewSQL)数据库系统

SQL 和 No-SQL 数据库管理系统的比较


数据库管理系统


数据库管理系统是指所有类型的完全不同的工具(即计算机程序或嵌入式库),主要以不同的和非常独特的方式工作。这些应用程序处理,或大大协助处理,处理信息的收集。由于信息(或数据)本身可以以各种形式和大小来,数十个DBMS已经开发,以及大量的DB应用程序,自21世纪下半叶以来,以帮助解决不同的编程和计算需求。

数据库管理系统基于数据库模型:为处理数据而定义的结构.每一个新兴的DBMS和创建以更新其方法的应用程序,在定义和存储和恢复上述信息的操作方面,以非常不同的方式工作。

尽管有大量的解决方案实现了不同的DBM,但历史上每一个时期,相对较少的选择都迅速变得非常受欢迎,并在使用的时间更长,从过去的几十年(甚至更长时间)以来,最主要的选择可能是Relational Database Management Systems(RDBMS)。

数据库模型


每个数据库系统都执行不同的 database model 来逻辑地构建正在管理的数据,这些模型是数据库应用程序如何运作和处理所处理的信息的第一步和最大决定因素。

有相当多的不同类型的数据库模型,明确和严格地提供结构化数据的手段,最受欢迎的可能是关系模型。

虽然关系模型和关系数据库非常强大和灵活 - 当程序员知道如何使用它们时,对于许多人来说,这些解决方案从未真正提供过的几个问题或功能。

最近,一系列名为NoSQL数据库的不同系统和应用程序开始迅速获得普及,他们承诺解决这些问题并提供一些非常有趣的额外功能. 通过消除在关系模型中定义的严格结构化数据保留风格,这些DB系统通过提供一个更自由的形式的方式来处理信息,从而提供大量的灵活性和便利性 - 尽管他们提出了自己的问题,一些认真考虑到数据的重要和不可或缺的性质。

关系模型


它扩展了以前的平面模型,网络模型等的设计,通过引入 relations 的手段。关系带来了将数据作为受限集合的优势,其中数据表,以结构化的方式(例如,个人名称和地址)包含信息,通过将值分配给属性(例如, a 个人ID 号码)来关系所有输入。

由于几十年的研究和开发,实施关系模型的数据库系统工作非常高效和可靠. 结合使用这些工具工作的程序员和数据库管理员的长期经验,使用关系数据库应用程序已成为关键任务的应用程序的选择,在任何情况下都无法承受任何信息的损失 - 特别是由于错误或 gotchas

尽管它们形成和处理数据的严格性质,但关系数据库可以变得非常灵活,并提供很多,只要付出一点努力。

无模型(NoSQL)方法


NoSQL 数据结构化方法是摆脱这些限制,从而释放存储、查询和使用信息的手段. NoSQL 数据库通过使用非结构化(或结构化)的方法,旨在消除严格的关系的局限性,并提供许多不同类型的方法来有效地存储和使用特定用例的数据(如完整文本文档存储)。

流行的数据库管理系统


在本文中,我们的目标是向您介绍一些最受欢迎和常用的数据库解决方案的范式. 虽然很难得出数字结论,但可以清楚地估计,对于大多数人来说,关系数据库引擎或相对较新的NoSQL引擎之间存在分歧。

关系数据库管理系统


关系数据库系统取名于它实施的模型: ** 关系模型**,我们之前讨论过。

关系式数据库管理系统需要定义和明确设置的方案 - 这不应该与PostgreSQL对这个术语的具体定义混淆 - 以接受数据. 这些用户定义的格式塑造了数据是如何被包含和使用的。

一些流行的关系数据库管理系统是:

  • SQLite:

一个非常强大的嵌入式关系数据库管理系统。

    • MySQL:**

最流行的和最常用的RDBMS。

    • PostgreSQL: ( )

最先进的、符合 SQL 的和开源的目标-RDBMS。

** 注意:** 有关 NoSQL 数据库管理系统的更多信息,请参阅我们的文章: A Comparison Of NoSQL Database Management Systems

NoSQL (NewSQL) 数据库系统


NoSQL 数据库系统没有使用(或需要)结构化关系解决方案的模型。有许多实现,每一个工作非常不同,并满足特定需求。这些无方案的解决方案要么允许无限的输入形成,要么相当相反,非常简单,但非常高效,因为有用的 key based value stores

与传统的关系数据库不同,可以将数据集合与一些NoSQL数据库一起组合,例如MongoDB. 这些 document stores 将每个数据保持在一起,作为数据库中的单一集合(即文档)。

NoSQL 数据库没有一个通用的查询数据的方式(即类似于关系数据库的 SQL),每个解决方案都提供自己的查询系统。

** 注意:** 有关关系数据库管理系统的更多信息,请参阅我们的文章: 比较关系数据库管理系统

SQL 和 No-SQL 数据库管理系统的比较


为了得出一个更简单、更易于理解的结论,让我们分析 SQL 和 No-SQL 数据库管理系统的差异:

  • 保存的数据的结构和类型:

SQL/Relational 数据库需要具有定义属性的结构来存储数据,而非 NoSQL 数据库通常允许自由流操作。

  • Querying:

无论他们的许可证,关系数据库都执行SQL标准到一定程度,因此,他们可以使用结构化查询语言(SQL)进行查询。

  • ** 尺寸:**

两种解决方案都很容易垂直扩展(即通过增加系统资源)。

可靠性: 可靠性:(

当涉及到数据可靠性和执行交易的安全保证时,SQL数据库仍然是更好的选择。

  • ** 支持:**

关系数据库管理系统有几十年的历史. 它们非常受欢迎,很容易找到免费和付费的支持. 如果出现问题,因此比最近受欢迎的NoSQL数据库更容易解决 - 特别是如果该解决方案具有复杂的性质(例如MongoDB)。

  • ** 复杂的数据保留和查询需求:**

从本质上讲,关系数据库是复杂查询和数据保留需求的解决方案,它们更高效,在这个领域表现出色。

Published At
Categories with 技术
Tagged with
comments powered by Disqus