根据数据的类型,结构,数据模型,数据存储使用,不同的系统需求,所需的架构或查询机制,用于本地存储的动态配置数据的系统,与操作关系数据库完全不同的要求,但是根据分类有非关系型和关系数据库管理系统。
1、关系型数据库
关系型数据,用于根据模式存储数据,关系数据库为表的集合,每个表都有一个模式,表中项目具有的固定属性和数据类型。提供读取,创建,更新和删除数据的功能,通常通过结构化查询语言SQL语句。关系数据库中的表具有与之关联的密钥,这些密钥用于标识表的特定列或行。数据完整性在关系数据库中尤为重要,关系数据库具有以下几点。
Oracle:Oracle数据库是由Oracle公司开发的多模型数据库管理系统。
MySQL:MySQL是一种基于结构化查询语言的开源关系数据库管理系统。MySQL几乎可以在所有平台上运行,包括Linux,UNIX和Windows。
SQL Server: SQL Server数据库适合企业环境中的各种事务处理,商业智能和分析应用程序。
PostgreSQL:PostgreSQL是一个对象关系数据库管理系统,强调可扩展性和标准合规性。
DB2:DB2是一种用于高效存储,分析和检索数据的关系型数据库。
关系数据库标准定义明确,都符合ACID标准,满足原子性,一致性,隔离性和持久性的要求。但是也有缺点,由于模式和类型约束,对非结构化或半结构化数据的效果不佳,不适合大型分析或事件加载。关系数据库中的表不一定与表示对象一对一映射,源表和目标表之间的模式和类型通常必须相同才能工作。
2、非关系数据库
随着Web应用程序变得越来越复杂,NoSQL数据库成为关系数据库的流行替代品,NoSQL非关系数据库可以采用多种形式。但是,NoSQL和关系数据库之间的关键区别在于严格定义了插入数据库的所有数据必须如何输入和组合,而NoSQL数据库可以与模式无关,允许存储和操作非结构化和半结构化数据。
键值存储是极其简单的数据库管理系统,仅存储键值对并提供用于检索与已知键关联的值的基本功能,键值存储使得这些数据库管理系统特别适合嵌入式数据库,其中存储的数据不是特别复杂,速度至关重要。
列存储是与模式无关的系统,用户能够将数据存储在表中,这些解决方案的设计目标是扩展庞大的分布式系统,管理数千个服务器的数PB数据。
文档存储包括MongoDB 和Couchbase是无架构的系统,以JSON文档的形式存储数据。文档存储类似于键值或宽列存储,但文档名称是键,文档的内容都是值。在文档存储中,单个记录不需要统一的结构,可以包含许多不同的值类型,并且可以嵌套。这种灵活性特别适合于跨分布式系统管理半结构化数据。
图形数据库例如Neo4J将数据表示为相关节点或对象的网络,以便于数据可视化和图形分析。图数据库中的节点或对象包含通过关系连接并根据标签分组的自由格式数据。面向图形的数据库管理系统软件的设计重点在于说明数据点之间的连接。
由于NoSQL数据库很多类型,无架构数据模型更灵活,更易于管理。NoSQL数据库通常具有更高的水平可伸缩性和容错性。数据可以轻松地分布在不同的节点上,要提高可用性或分区容差,NoSQL数据解决方案成熟,需要特定的专业知识。
我来说两句