什么是SQL和NOSQL数据库?
#database #网络安全 #software #softwaredevelopment

概述

行业和学术界分享了对基本资源的需求。收集,存储和检索数据的能力对于有意义的研究和企业繁荣至关重要。数据的越来越重要导致了许多旨在管理它的软件应用程序的开发。

编程的进步促进了从整体数据库到我们最现代,非关系数据库或NOSQL的发展时代。尽管关系/SQL数据库是行业标准,但新的不仅SQL数据库不受规模或刚性表格构造的界限。这有助于与支持当今微服务的大量数据抗衡所需的高效效率。

nosql是一个非关系数据库,它解决了不断增加的数据量的问题。 NOSQL利用高度可扩展的多服务器系统的好处。 NOSQL与微服务和当代电子商务的大量非结构化数据合作。 NOSQL的弹性是在这些数据库随着数据增加而构建或扩展的易用性,几乎不需要停机时间或重大更新。从软件工程师的角度来看,进行直接更改的能力使NOSQL成为了高容量驱动的服务的首选。

重要的是要注意,关系/SQL数据库仍然是最常见的数据库类型。主要是因为其最小的最终用户编码要求和一致性(调用数据的延迟减少)。今天的企业已经适应了SQL和NOSQL的组合。这种组合以及他们支持的微服务提供了一个强大的框架,企业依赖于该框架。例如,Craigslist使用MySQL使用MySQL,在使用NOSQL MangodB时进行实时或当前列表。用于其高标准的存档数据。使用NOSQL进行存档数据确保随着数据的增加,系统的易用性,敏捷性和弹性。

什么是sql?

SQL是用于与关系数据库交互的接口或语言。关系数据库在行列设计中组织数据。表可以通过单个查询基于通用数据相关,通常只需要几行代码,这些代码可以由非技术人员学习。这是因为管理系统可以完成工作。它编译查询并弄清楚正确的数据点。可以在没有大量代码的情况下管理数据库的事实是加号。例如,需要几行代码的单个查询可以从数据库中引起大量记录。一个缺点是非分布式SQL的垂直可伸缩性。

此外,关系数据库的垂直缩放受服务器大小的限制。在这种情况下,通过获取更大的服务器并拥有大型中央机器通常会导致单点故障来容纳数据量的增加。不幸的是,SQL水平缩放的最佳和无限性质由未成熟技术或以临时方式支持。这使得该SQL关系数据库的水平缩放非常具有挑战性。

当使用大型单个服务器时,关系数据库通常可以更改,通常导致停机时间。关系数据库还需要仔细的前期设计,以确保质量性能。与NOSQL数据库相比,这导致其昂贵的启动。

SQL是一种符合ANSI和ISO标准的长期建立的标准化语言。这与没有真正标准的NOSQL相反。总体而言,尽管客户的可用性不那么复杂。 SQL数据库的后端接口比NOSQL更为复杂。此外,即使SQL是标准,数据库供应商已经添加了自己的其他专有扩展或通常仅在系统上使用的功能。大多数情况下,这是为了创建供应商锁定的方法。但是,标准的SQL命令,例如select,create,delete','',insert','可以用任何SQL接口来完成几乎所有操作。

示例SQL,选择语句查询和表

Example SQL statements and tables

资源:
1indiana大学的SQL示例https://kb.iu.edu/d/ahux#examples

更多资源:
可以在http://www.cs.iit.edu/~cs561/cs425/VenkatashSQLIntro/default.htm

上找到伊利诺伊州理工学院的免费迷你课程

著名SQL数据库(关系数据库)的示例
Postgresql
DB2
mysql
Oracle
Microsoft SQL Server
亚马逊奥罗拉
IBM Informix
nuodb
蟑螂
yugabytedb

sql pro和cons

ProS

过程间通信借出了速度和一致性。关系数据库采用标准化,可防止数据复制数据,因为硬件限制是为了优化存储而设计的。他们使用一种通用且知情的标准语言SQL。查询需要最少的编码,但可以调用大量数据。对非技术用户的最佳。

cons

水平缩放是具有挑战性或根本不支持的。单个服务器硬件有助于垂直缩放并导致故障点。因此,数据增加受到服务器尺寸的限制,需要更大的服务器来容纳更多数据。这对可伸缩性施加了上限。此外,SQL具有严格遵守行柱的关系模型的刚性数据模型。对于网页或文档类型数据,这不是最佳的。仅限于更具结构化的数据导致企业寻求替代方案。此外,SQL供应商公司添加了专有扩展,以创建供应商锁定,因此很难改变。此外,设置很复杂,需要精心设计的设计。

什么是nosql?
NOSQL来自现有系统中的两个感知问题。关系数据库中表设计的水平可伸缩性和刚性。 NOSQL是不使用SQL的非关系​​数据库。这些数据库不符合刚性的行柱式模式。他们还放弃了这样的交易模式并加入。因此,它们非常适合非结构化数据,例如网页或文档的集合。此外,随着数据的增加,NOSQL利用了水平缩放,这取决于几个服务器上的分布式数据,而不是垂直缩放中的单个较大的机器。 NOSQL的弹性在其将数据转移到另一台服务器的能力中发现,以防一台服务器失败。限制网络停机时间和单点失败。

NOSQL数据库(非理性数据库)的一些值得注意的示例
Arango DB
mongodb
DynamoDB

Volt DB
玛丽亚DB
REDIS
Apache Couch DB
Elasticsearch
卡桑德拉

nosql pro和cons

专利:

NOSQL是可扩展的,高度可用。它在不同位置采用多个服务器,可促进水平缩放,而无需显着单点故障。多个服务器允许如果失败,则允许转移到工作服务器。这会提高弹性和敏捷性。线性添加服务器允许无限扩展。 NOSQL无模式,不限于结构化数据。因此,支持网页或文档的集合。他们的开销低,易于启动和成本效益。总体而言,它们是可以随时更改的灵活数据模型。

cons

多个服务器需要负载平衡协议。服务器之间的慢速IO网络调用会导致延迟。多个服务器需要将数据发送到此借口到不一致的多个位置(例如,在社交媒体上加载新图片,然后刷新页面,而旧图片仍然是他们的)

ð†一个组合且设计的SQL和NOSQL数据库可以为增强电子商务提供敏捷性,稳定性,一致性和可靠性。您能表达为什么这是许多企业的解决方案。