数据库非常重要,看似Java Web是应用核心,真正的系统不如说Java Web技术只是一个企业数据管理工具,核心是数据,数据的核心在于DB。
企业有个准则,不能数据化的业务就没必要做了。 IT系统也是,不能数据闭环的系统,也没必要做了,数据是一个企业的核心命脉,也是最有价值的部分之一。
数据库-Database在程序中扮演着重要角色,数据的存储被称为持久化-Persistence。现在企业主流数据库是mysql,之前是oracle,未来可能是HANA。随着硬件的发展,数据架构思想日新月异,HANA就是典型例子,内存几百G已经是小case了。
对于一个Java程序人员在db这块最基本的要求,会写各种业务sql,会做各种sql优化即可,不需要做服务器级别的参数优化和搭建,会搭建测试库即可。
1 发展历史
- 1963年 最早出现 美国系统开发公司
- 1964年 通用电气公司 IDS
- 1968年 TOTAL出现
- 1969年 IBM 发布了IMS
- 1970年 IBM 发布了DB2
- 1982年 Codd提出了一种查询语言,SQL发布
……
2 数据库模型
1976年美籍华人陈品山博士提出了E-R Model。
按照存储模型不同数据库分为了网状数据库,关系数据库,树桩数据库和面向对象数据库。
目前商业常用的数据库,Oracle,db2,Sybase,MS SQL Server,Mysql,MongoDB,HANA。
至于更多知识我们放到数据库里去了解,这里只说明一点,数据库除了专业的GUI工具或者命令行对接维护,还会提供API给Java Web使用,通过程序操作数据库,也就是所谓的CRUD是Web编程的一个核心部分。
当然目前主流的DB操作使用的mybatis,面向的关系型数据库,对于NOSQL数据库,例如MongoDB,会有自己的API。
基本上操作数据库都包含如下几个部分。
- 加载驱动
- 创建连接
- 执行SQL或者NOSQL语句
- 结果集处理
- 关闭连接
- 连接池和事务管理
基本上是以上几个部分,NOSQL无事务,redis更加快速。