MySQL的起源
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
MySQL的优势
使用 C 和 C++ 编写,并使用多种编译器进行测试,保证源代码的可移植性。
支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。
为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
支持多线程,充分利用 CPU 资源。
优化的 SQL 查询算法,有效地提高查询速度。
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入其他的软件中。
提供多语言支持,常见的编码如中文的 GB 2312、BIG 5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。
提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。
提供用于管理、检查、优化数据库操作的管理工具。
支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
支持多种存储引擎。
MySQL的应用
1、Web网站系统
Web站点,是MySQL最大的客户群,也是MySQL发展史上最为重要的支撑力量,这一点在最开始的MySQLServer简介部分就已经说明过。
MySQL之所以能成为Web站点开发者们最青睐的数据库管理系统,是因为MySQL数据库的安装配置都非常简单,使用过程中的维护也不像很多大型商业数据库管理系统那么复杂,而且性能出色。还有一个非常重要的原因就是MySQL是开放源代码的,完全可以免费使用。
2、日志记录系统
MySQL数据库的插入和查询性能都非常的高效,如果设计地较好,在使用MyISAM存储引擎的时候,两者可以做到互不锁定,达到很高的并发性能。所以,对需要大量的插入和查询日志记录的系统来说,MySQL是非常不错的选择。比如处理用户的登录日志,操作日志等,都是非常适合的应用场景。
3、数据仓库系统
随着现在数据仓库数据量的飞速增长,我们需要的存储空间越来越大。数据量的不断增长,使数据的统计分析变得越来越低效,也越来越困难。怎么办?这里有几个主要的解决思路,一个是采用昂贵的高性能主机以提高计算性能,用高端存储设备提高I/O性能,效果理想,但是成本非常高;第二个就是通过将数据复制到多台使用大容量硬盘的廉价pcserver上,以提高整体计算性能和I/O能力,效果尚可,存储空间有一定限制,成本低廉;第三个,通过将数据水平拆分,使用多台廉价的pcserver和本地磁盘来存放数据,每台机器上面都只有所有数据的一部分,解决了数据量的问题,所有pcserver一起并行计算,也解决了计算能力问题,通过中间代理程序调配各台机器的运算任务,既可以解决计算性能问题又可以解决I/O性能问题,成本也很低廉。在上面的三个方案中,第二和第三个的实现,MySQL都有较大的优势。通过MySQL的简单复制功能,可以很好的将数据从一台主机复制到另外一台,不仅仅在局域网内可以复制,在广域网同样可以。当然,很多人可能会说,其他的数据库同样也可以做到,不是只有MySQL有这样的功能。确实,很多数据库同样能做到,但是MySQL是免费的,其他数据库大多都是按照主机数量或者cpu数量来收费,当我们使用大量的pcserver的时候,license费用相当惊人。第一个方案,基本上所有数据库系统都能够实现,但是其高昂的成本并不是每一个公司都能够承担的。
4、嵌入式系统
嵌入式环境对软件系统最大的限制是硬件资源非常有限,在嵌入式环境下运行的软件系统,必须是轻量级低消耗的软件。
MySQL在资源的使用方面的伸缩性非常大,可以在资源非常充裕的环境下运行,也可以在资源非常少的环境下正常运行。它对于嵌入式环境来说,是一种非常合适的数据库系统,而且MySQL有专门针对于嵌入式环境的版本。
MySQL如何学习
作为一个初学者,我们应该掌握一些基本的MySQL语法知识,对于数据的操作我们只需要增删改查,那么就需要我们较为熟悉的掌握基本的语法。同时我们还要知道如何建表,如何删除表的数据,如何更新表的数据,最后我们还要对于数据查询进行较多的学习。
1.多上机练习,要想熟练地掌握数据库,必须经常上机练习,只有在上机实践中才能深刻体会数据库的使用,通常情况下,数据库管理员工作的时间越长,其工作经验就越丰富,很多复杂的问题,可以根据数据库管理员的经验来更好的解决,上机实践中可以将学到的数据库理论知识理解的更加透彻、
2.学会编写SQL语句,SQL语句是数据库的灵魂,数据库中的很多操作都是通过SQL语句来实现的,只有经常用SQL语句来操作数据库中的数据,读者才可以更加深刻地理解数据库。
3.数据库理论知识不能丢,数据库理论知识是学好数据库的基础,虽然理论知识会有点枯燥,但这是学好数据库的前提,例如,数据库理论中会间接涉及E-R图,数据库设计原则等知识,如果不了解这些知识,就很难独立设计一个很好的数据库及表,读者可以将数据库理论知识与上机实践结合到一起来学习,这样效率会提高
在选择数据库时,要根据运行的操作系统和管理系统的情况来选择数据库,在学安装MySQL数据库时,首先要确认操作系统的版本,然后再选择是安装源码包还是安装二进制软件。
MySQL对于后续有什么帮助?
MySQL学好之后,在对于Hadoop里面的hive语句是十分有帮助的,可以说就是如出一辙,书写其实没有什么两样,最后你要去学习spark的时候,需要用到MySQL,一般处理数据我们都需要用到MySQL的语句,所以MySQL是比较的重要的,需要自己求学于根基不断走向SQL语句的高峰,这样才可以提升自己的专业水平能力。
每文一语
既然选择了,就努力奔跑,现在的努力都是为了未来的实力