应用程序都离不开数据库,那不同的数据结构,就会存放在不同的数据数据库中,所以数据库按数据结构分为关系型数据库和非关系型数据库。接下来就总结一下这两者的区别吧。
关系型数据库
关系型数据库呢就是把复杂的业务数据结构归结为二维表的形式展现,以MySQL为例如果我们要创建一个表的话可以使用DDL语句创建,创建二维表结构是这样的:
在关系型数据库中,对数据的操作应该都是基于数据表操作的,通常一个大型的系统都会有多个数据表组成。查询数据时候,会对一个或多个数据表进行关联查询
那关系型数据库典型的产品有哪些呢?比如:MySQL,SqlServer,Oracle,PostgreSQL,SQLite等。
非关系型数据库
非关系型数据库根据应用场景分为:键值对数据库,列存储数据库,搜索引擎数据库,面向文档数据库等等。
1.键值对存储数据库
键值数据库就是使用简单的键值方法来存储数据,键值数据库将数据存储为键值对集合,键作为唯一标识付。比如我们常用的Redis,Memcached等。
2.列存储数据库
列数据库就是表中的数据以列为单位逐列存储在磁盘中,列存储主要解决数据查询问题。比如HBase产品就是列数据库。列存储是,每次读取的数据是集合的一段或者全部,不存储冗余性问题。
3.搜索引擎数据库
搜索引擎数据库是应用在搜索引擎领域的数据存储形式,当数据量大的时候,以特定的格式进行存储,这样检索的时候就会快速,系统性能就更好。典型的产品有:Elasticsearch,Solr等。
4.面向文档数据库
文档数据库就是存放的文档,就是以值可以查询的键值数据库,比如:MongoDB,couchDB等数据库
5.图形数据库
是一种存储图形关系的数据库,它应用图形理论存储实体之间的关系信息。如果关系型数据库存储复杂的话,就是要用图形数据库来解决问题了。常见产品:Neo4j,InfoGrid等
数据库优缺点
“
MySQL优缺点:
“
Oracle优缺点:
“
Redis优缺点:
“
HBase优缺点:
在实际开发过程中数据库的使用都是根据项目的业务需求来选择合适的数据库。选择了正确的数据,就会提高系统的性能。就会出现好的产品,才能为企业创造价值。
最后大家评论区交流一下数据库相关的知识点吧.