Java随笔—08

**

一、数据库

**
1、数据库,通常是一个戒一组文件,保存了一些符合特定规格的数据,数据库对应的英询单词是DataBase,简称DB;数据库软件称为数据库管理系统,英文简称DBMS,全称为DataBase Management System,例如:Oracle、MySQL、SQL Server、Sybase、informix、DB2等等。

2、无论你开发的是一款PC端的Web应用,还是一款移动端的app,都需要一个数据库来存储你的业务数据(包括电商的商品信息、游戏的道具信息、社交的人员信息等等)。可以说,数据库是后端系统最重要的存储组件。作为一名Java程序开发人员,你会发现你所完成的大部分代码逻辑最终都是在不断的与数据库进行交互。

**

二、MySQL数据库

**
1、MySQL是一个关系型的小型数据库管理系统。
在 WEB 应用方面是最好的关系数据库管理系统应用软件之一。市场占有率有20%左右。
它的优点有如下几方面:
(1)开源软件。
使用 C语言和 C++语言编写,以及使用了多种编译器进行测试,保证了源代码的可移植性。
(2)适用性高。
支持多种操作系统。支持多种存储引擎。能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。并且提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。
(3)为多种编程语言(包括C、C++、Python、Java、PHP等)提供了 API。
(4)支持多线程,充分利用cpu。
(5)使用优化了的 SQL语句查询算法,提高查询效率。

2、补充:
另外,如果Linux作为操作系统,Apache和 Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费的,因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
所以也就是为什么很多新创业的公司或者中小型企业会使用mysql。

**

三、Oracle数据库

**
Oracle Database是甲骨文公司研发的关系型的大型的数据库管理系统。
它是数据库领域的老大。可以说Oracle数据库管理系统是世界上目前最流行的关系型数据库管理系统,市场占有率达40%。
原因有如下几个方面:
(1)系统开放性高。(付费之后)
Oracle能在所有主流系统平台上运行。支持所有的工业标准。采用完全开放的策略。对开发商全力支持。使客户可以选择最适合的解决方案。
(2)可伸缩性、并行性高。
Oracle数据库系统以分布式数据库作为核心,并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。
(3)安全性高
Oracle数据库获得最高认证级别的ISO标准认证。
(4)性能优越
保持着开放平台下的TPC-D和TPC-C的世界记录。
(5)适用性高
多层次网络计算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。
(6)风险低
完全向下兼容的数据库系统。得到很广泛的应用。没有任何风险。

**

四、MySQL和Oracle的比较

**
(1)Oracle支持多任务处理,也就是大并发,大访问量,是联机事务处理过程(OLTP)最好的工具。而MySQL却不能支持过大的访问量。
(2)Oracle是付费的大型数据库;Mysql是开源的中小型数据库,Oracle市场占有率很高,Mysql比较低。
(3)两者安装使用的空间差距很大的,Mysql安装完后一百多兆,Oracle却有三千多兆,而且使用的时候Oracle占用特别大的内存空间和其他机器性能。
(4)Oracle的操作较复杂,同时提供GUI和命令行,在windowsNT和unix下操作相同。
而Mysql使用sql语言进行操作,比较简单。这也就造成一个人工成本问题,使用Oracle的公司,需要对数据库技术人员进行专门的培训,而MySQL却不用。
(5)给出现在一些知名公司数据库的配置:
一号店、JD:都是MySQL和Oracle的混合体系,还买了叼炸天的Oracle一体机(一台Oracle Exadata X5有24T内存,576核CPU,价格估计几千万到上亿人民币)
苏宁易购:是IBM一手打造的技术团队和技术体系,使用的是DB2、MySQL、Oracle的混合体系;
携程旅行:.NET技术为主,所以是以SQL Server为主、MySQL为辅的混合体系;
唯品会:也是MySQL和Oracle的混合体系;
亚马逊:选择的是Oracle+MongoDB。
fBay:用MySQL+MongoDB

**

五、JDBC

**
1、概念
(1)JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
(2)有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问MySQL数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

猜你喜欢

转载自blog.csdn.net/qazwsx0316/article/details/90137070