本文主要是介绍初步了解数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据库简介
- 数据库,简而言之就是电子化的文件柜,存储电子文件的地方,用户可以对文件中的数据进行增删改查等操作
- 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
- https://db-engines.com/en/ranking(数据库排行榜)
数据库管理
非关系型数据库(No SQL:Not only SQL)
- 非关系型数据库的特点
- 不是否定关系型数据库,而是作为补充,现在也有部分替代的趋势
- 关注高性能,高并发,灵活性,忽略和上述无关的功能。
- 现在也在提升安全性和使用功能。
- 典型产品:Redis(持久化缓存,两个半天)、MongoDB(最接近关系型数据 的NoSQL)、Memcached。
- 管理不适用SQL管理,而是用一些特殊的 API 或 数据接口。
- NoSQL的分类、特点、典型产品
- 键值(KV)存储:Memcached、Redis
- 列存储(column-oriented):HBASE(新浪,360)、Cassandra(200台服务器集群)
- 文档数据库(document-oriented):MongoDB(最接近关系型数据库的NoSQL)
- 图形存储(Graph):Neo4j
关系型数据库
- 特点
- 二维表
- 典型产品 Oracle传统企业,MySQL是互联网企业
- 数据存取是通过SQL(结构化查询语句)
- 最大特点,数据安全性方面强(ACID)
数据库相关产品
Oracle
- Oracle数据库版本介绍:7--8i--9i--10g—11g--12c
- 市场份额第一,趋势递减
- 市场空间,传统企业
- 传统企业也在互联网化
MYSQL
- MySQL数据库版本介绍:5.0--5.1--5.5--5.6--5.7--8.0
- 市场应用于中、大型互联网公司
- 市场空间:互联网领域第一
- 同源产品:MariaDB、perconaDB
- 发展趋势明显
其他公司产品
SQL Server(微软)
- 微软和sysbase合作开发的产品,后来自己开发,windows平台;3,4线小公司,传统行业在用。
DB2(IBM)
- 市场占有量小,目前只有:国有银行(人行、中国银行、工商银行等)、中国移动应用。
- 注:广泛应用在大型互联网公司的数据库:PostgreSQL、MongoDB、Redis
MySQL
发展史
- 1979年,报表工具Unireg出现。
- 1985 年,以瑞典David Axmark 为首,成立了一家公司(AB前身),IASM引擎出现。
- 1990年,提供SQL支持。
- 1999-2000年,MySQL AB公司成立,并公布源码,开源化。
- 2000年4月BDB引擎出现,支持事务。
- 2008年1月16日,Sun(太阳微系统)正式收购MySQL。
- 2009年4月20日,甲骨文公司宣布以每股9.50美元,74亿美元的总额收购Sun电脑公司,MySQL 转入Oracle 门下。
- 2013年6月18日,甲骨文公司修改MySQL授权协议,移除了GPL。但随后有消息称这是一个bug。
特点
- 开源
- 社区版免费
- 简单
- 方便可靠
- 稳定
- 安全
- 社区活跃
mysql产品线的介绍
-
3.26--5.2版本
正宗后代;Centos5、6中默认有5.1版本;Centos7中默认是MariaDB
-
5.4--5.7 ,8.0版本
借鉴社区好的贡献,进一步开发的版本;主流版本:5.5 5.6 5.7
-
MySQL Cluster 6.0 版本&更高
类似于Oracle RAC,硬件要求高;一般各大网站没有人用。
-
mysql产品线(派生产品)
派生版本有Drizzle、MariaDB、Percona Server及OurDelta等。
附录一:
企业生产场景选择MySQL数据库建议:
1)稳定版:选择开源的社区版的稳定版GA版本
2)产品线:可以选择5.1或5.5 互联网公司主流5.5,其次是5.1和5.6
3)选择MySQL数据库GA版发布后6个月以上的GA版本。
4)要选择前后几个月没有大的BUG修复的版本,而不是大量修复BUG的集中版本
5)最好向后较长时间没有更新发布的版本
6)要考虑开发人员开发程序使用的版本是否兼容你选的版本
7)作为内部开发人员开发测试数据库环境,跑大概3-6个月的事件
8)优先企业非核心业务采用新版本的数据库GA版本软件
9)向DBA高手请教,或者在及技术氛围好的群里和大家一起交流,使用真正的高手们用过的好用的GA版本产品
10)若是没有重要的功能BUG或性能瓶颈,则可以开始考虑作为任何任务数据服务的后端数据库软件
附录二:
什么是Oracle RAC?
RAC是real application clusters的缩写,译为“实时应用集群”, 是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。
Oracle RAC主要支持Oracle9i、10g、11g,12C版本,可以支持24 x 7 有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。
在Oracle RAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。
这篇关于初步了解数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!