常见的SQL和NOSQL对比

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 常见的SQL和NOSQL对比

具体的各种数据库的对比情况可以参考:https://db-engines.com/en/system/

一、常见的SQL

1. MySQL

2. Oracle

3. Microsoft SQL Server

三款数据库对比,可以参考https://db-engines.com/en/system/Microsoft+SQL+Server%3BMySQL%3BOracle

Editorial information provided by DB-Engines

Name Microsoft SQL Server MySQL Oracle
Description Microsofts flagship relational DBMS Widely used open source RDBMS Widely used RDBMS
Primary database model Relational DBMS Relational DBMS Relational DBMS
Secondary database models Document storeGraph DBMSSpatial DBMS Document storeSpatial DBMS Document storeGraph DBMSRDF storeSpatial DBMS
DB-Engines Ranking Score944.81Rank#3 Overall#3 Relational DBMS Score1206.05Rank#2 Overall#2 Relational DBMS Score1266.89Rank#1 Overall#1 Relational DBMS
Website(官网) www.microsoft.com/­en-us/­sql-server www.mysql.com www.oracle.com/­database
Technical documentation docs.microsoft.com/­en-US/­sql/­sql-server dev.mysql.com/­doc docs.oracle.com/­en/­database
Developer Microsoft Oracle Oracle
Initial release 1989 1995 1980
Current release SQL Server 2019, November 2019 8.0.27, October 2021 19c, February 2019
License (许可) commercial Open Source commercial
Cloud-based only no no no
DBaaS offerings (sponsored links) ScaleGrid for MySQL: Fully managed MySQL hosting on AWS, Azure and DigitalOcean with high availability and SSH access on the #1 multi-cloud DBaaS.
Implementation language(实现的语言) C++ C and C++ C and C++
Server operating systems(支持的操作系统) Linux/Windows FreeBSD Linux OS X Solaris Windows AIX HP-UX Linux OS X Solaris Windows z/OS
Data scheme yes yes yes
Typing yes yes yes
XML support yes yes yes
Secondary indexes yes yes yes
SQL yes yes yes
APIs and other access methods ADO.NET JDBC ODBC OLE DB Tabular Data Stream (TDS) ADO.NET JDBC ODBC Proprietary native API JDBC ODBC ODP.NET Oracle Call Interface (OCI)
Supported programming languages C# C++ Delphi Go Java JavaScript (Node.js) PHP Python R Ruby Visual Basic Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl C C# C++ Clojure Cobol Delphi Eiffel Erlang Fortran Groovy Haskell Java JavaScript Lisp Objective C OCaml Perl PHP Python R Ruby Scala Tcl Visual Basic
Server-side scripts Transact SQL, .NET languages, R, Python and (with SQL Server 2019) Java yes PL/SQL
Triggers yes yes yes
Partitioning methods tables can be distributed across several files (horizontal partitioning); sharding through federation horizontal partitioning, sharding with MySQL Cluster or MySQL Fabric Sharding, horizontal partitioning
Replication methods yes, but depending on the SQL-Server Edition Multi-source replication Source-replica replication Multi-source replication Source-replica replication
MapReduce no no no
Consistency concepts Immediate Consistency Immediate Consistency Immediate Consistency
Foreign keys (外键) yes yes yes
Transaction concepts (事务概念) ACID ACID ACID
Concurrency (并发) yes yes yes
Durability (持久性) yes yes yes
In-memory yes yes yes
User concepts fine grained access rights according to SQL-standard Users with fine-grained authorization concept fine grained access rights according to SQL-standard

二、常见的NoSQL

1. Redis

可以看到key-value类型的主要还是redis知名度高

2. MongoDB

可以看到文档类型的还是MongoDB知名度高

个人目前使用这几款数据库的感受而言:

  1. 免费的关系型首选MySQL
  2. 银行、证券类用Oracle的居多
  3. 文档型数据库选MongoDB的居多(之前自己用过MongoDB来存储博客的文档,以及对应的url连接)
  4. Redis用作缓存、分布式锁的居多

MySQL、Oracle至于具体的一些命令上的差别之后工作中遇到了慢慢补充到这篇博客当中。


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
6月前
|
SQL 存储 NoSQL
SQL vs. NoSQL:如何根据大数据需求选择合适数据库
【4月更文挑战第8天】本文对比分析了SQL与NoSQL数据库在大数据项目中的应用。SQL数据库适合结构化数据、强一致性和复杂事务处理,如金融系统,而NoSQL则适用于半结构化和非结构化数据、高并发及大数据场景,如社交网络。选择时应考虑业务需求、技术栈、团队经验和成本效益,以找到最佳解决方案。随着技术发展,NewSQL和Multi-model数据库也提供了更多选择。
394 0
|
4月前
|
SQL 存储 NoSQL
SQL、NoSQL还是NewSQL
【7月更文挑战第5天】SQL、NoSQL还是NewSQL
65 1
|
1月前
|
SQL 存储 NoSQL
SQL和NoSQL数据库的全面比较
不可否认,已有越来越多开发人员愿意使用NoSQL数据库,并且在不断地壮大着其相应的社区。但是,相对于成熟的SQL社区,该领域的专家和顾问可能需要更多的时间,去解决那些未曾被记录的NoSQL问题。
51 0
|
3月前
|
SQL NoSQL 数据库
开发效率与灵活性:SQL vs NoSQL
【8月更文第24天】随着大数据和实时应用的兴起,数据库技术也在不断发展以适应新的需求。传统的SQL(结构化查询语言)数据库因其成熟的数据管理机制而被广泛使用,而NoSQL(Not Only SQL)数据库则以其灵活性和扩展性赢得了众多开发者的青睐。本文将从开发者的视角出发,探讨这两种数据库类型的优缺点,并通过具体的代码示例来说明它们在实际开发中的应用。
97 1
|
4月前
|
SQL 存储 NoSQL
. NoSQL和SQL的区别、使用场景与选型比较
【7月更文挑战第30天】. NoSQL和SQL的区别、使用场景与选型比较
74 15
|
4月前
|
SQL 存储 设计模式
SQL与NoSQL的比较?
【7月更文挑战第30天】SQL与NoSQL的比较?
32 13
|
3月前
|
SQL 存储 NoSQL
从SQL到NoSQL:理解不同数据库类型的选择与应用——深入比较数据模型、扩展性、查询语言、一致性和适用场景,为数据存储提供全面决策指南
【8月更文挑战第31天】在信息技术飞速发展的今天,数据库的选择至关重要。传统的SQL数据库因其稳定的事务性和强大的查询能力被广泛应用,而NoSQL数据库则凭借其灵活性和水平扩展性受到关注。本文对比了两种数据库类型的特点,帮助开发者根据应用场景做出合理选择。SQL数据库遵循关系模型,适合处理结构化数据和复杂查询;NoSQL数据库支持多种数据模型,适用于非结构化或半结构化数据。SQL数据库在一致性方面表现优异,但扩展性较差;NoSQL数据库则设计之初便考虑了水平扩展性。SQL使用成熟的SQL语言,NoSQL的查询语言更为灵活。
78 0
|
3月前
|
SQL NoSQL 关系型数据库
性能与扩展性的考量:SQL vs NoSQL
【8月更文第24天】在选择数据库系统时,开发者和架构师面临着一个关键决策:是选择传统的SQL(结构化查询语言)数据库还是现代的NoSQL(非关系型)数据库。这两种类型各有优劣,尤其是在性能和扩展性方面。本文将深入探讨SQL和NoSQL数据库在这两个方面的差异,并通过具体的代码示例来展示它们各自的优势。
147 0
|
3月前
|
SQL 存储 NoSQL
数据模型与应用场景对比:SQL vs NoSQL
【8月更文第24天】随着大数据时代的到来,数据存储技术也在不断演进和发展。传统的SQL(Structured Query Language)数据库和新兴的NoSQL(Not Only SQL)数据库各有优势,在不同的应用场景中发挥着重要作用。本文将从数据模型的角度出发,对比分析SQL和NoSQL数据库的特点,并通过具体的代码示例来说明它们各自适用的场景。
115 0
|
5月前
|
SQL 存储 NoSQL
SQL与NoSQL数据库的选择:技术与场景驱动下的决策
【6月更文挑战第16天】**SQL vs NoSQL数据库:技术与应用场景比较。SQL数据库以其关系模型、ACID特性、灵活查询及事务处理见长,适合结构化数据和强一致性场景。NoSQL则以数据模型灵活性、高可扩展性、高性能及低成本著称,适合大数据、高并发和快速迭代的需求。选择应基于业务需求、数据特性、系统架构和成本。**