欢迎来到天天文库
浏览记录
ID:35939997
大小:73.15 KB
页数:10页
时间:2019-04-26
《数据库技术对比》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深农商生产系统巡检报告数据库技术对比神州数码融信软件有限公司第10页共10页深农商生产系统巡检报告目录1数据库分类31.1关系型数据库31.2非关系型数据库(NOSQL)41.3两者之间的关系62分布式数据库63如何看待MYSQL73.1使用mysql的一些顾虑83.2Mysql的版本选择83.3建议推进过程9第10页共10页深农商生产系统巡检报告1数据库分类1.1关系型数据库关系型数据库把所有的数据都通过行和列的二元表现形式表示出来,也是我们使用最广泛的一种数据存储方式。优势:1.保持数据的一致性(事务处理)2.由于以标准化为前提,数据更
2、新的开销很小3.可以进行Join等复杂查询其中能够保持数据的一致性是关系型数据库的最大优势不足:第10页共10页深农商生产系统巡检报告1.大量数据的写入处理2.为有数据更新的表做索引或表结构(schema)变更3.字段不固定时应用4.对简单查询需要快速返回结果的处理1.1非关系型数据库(NOSQL)关系型数据库应用广泛,能进行事务处理和表连接等复杂查询。相对地,NoSQL数据库只应用在特定领域,基本上不进行复杂的处理,但它恰恰弥补了之前所列举的关系型数据库的不足之处。NOSQL的主要特点就是易于数据的分散处理。各个数据之间存在关联是关系型数
3、据库得名的主要原因,为了进行join处理,关系型数据库不得不把数据存储在同一个服务器内,这不利于数据的分散,这也是关系型数据库并不擅长大数据量的写入处理的原因。相反NoSQL数据库原本就不支持Join处理,各个数据都是独立设计的,很容易把数据分散在多个服务器上,故减少了每个服务器上的数据量,即使要处理大量数据的写入,也变得更加容易,数据的读入操作当然也同样容易。优势:1.简单的扩展:典型例子是Cassandra,由于其架构是类似于经典的P2P,所以能通过轻松地添加新的节点来扩展这个集群;2.快速的读写:主要例子有Redis,由于其逻辑简单,
4、而且纯内存操作,使得其性能非常出色,单节点每秒可以处理超过10万次读写操作;3.低廉的成本:这是大多数分布式数据库共有的特点,因为主要都是开源软件,没有昂贵的License成本。不足:1.不提供对SQL的支持:如果不支持SQL这样的工业标准,将会对用户产生一定的学习和应用迁移成本;2.支持的特性不够丰富:现有产品所提供的功能都比较有限,大多数NoSQL数据库都不支持事务,也不像MSSQLServer和Oracle那样能提供各种附加功能,比如BI和报表等;第10页共10页深农商生产系统巡检报告1.现有产品的不够成熟:大多数产品都还处于初创期,
5、和关系型数据库几十年的完善不可同日而语。1.1.1典型的NOSQL数据库分类对应产品典型应用场景数据模型优点缺点键值(key-value)Redis,Mamcached内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 Key指向Value的键值对,通常用hashtable来实现 查找速度快数据无结构化,通常只被当作字符串或者二进制数据列存储数据库Cassandra,HBase,Riak分布式的文件系统以列簇式存储,将同一列数据存在一起查找速度快,可扩展性强,更容易进行分布式扩展功能相对局限文档型数据库CouchDB,Mo
6、ngoDbWeb应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)Key-Value对应的键值对,Value为结构化数据数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构查询性能不高,而且缺乏统一的查询语法。图形数据库Neo4J,InfoGrid社交网络,推荐系统等。专注于构建关系图谱图结构利用图结构相关算法。比如最短路径寻址,N度关系查找等很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。1.1.2共同特点虽然从种类上可以分为上述四类,但
7、他们都普遍存在下面一些共同特征:l不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。l无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。第10页共10页深农商生产系统巡检报告l弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。l分区:相对于将数据存放于同一个节点,No
8、SQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。l异步复制:和RAID存储系统不同的是,
此文档下载收益归作者所有