Oracle应用开发实战

数据库 专栏收录该内容
1 篇文章 0 订阅

Oracle应用开发实战

摘要:提到Oracle数据库,很多人的反应就是它是一款关系型数据库。什么是关系型数据库呢?LZ认识的一位Java方面的HR说在面试经常问到这个问题,结果很多人答不上来,而我相信大家心中已经有了答案。

关系型数据库基于关系模型提出来的数据库。


关系模型:就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织通俗来讲就是我们用的二维表行和列的形式就是关系模型。

扩展:现阶段随着大数据的发展,由于数据呈现爆炸性增长,传统的关系型数据库处理效率已经不能够满足巨量数据,所以出现了NOSQL数据库,这种数据库是key-value的形式,开发中常用的由HBASE,MongoDB等等。

一.Oracle数据库的基本概念

  1. 一个Oracle服务器:一个数据管理系统(RDBMS),用于开发的,全面的几近完整的信息管理。
  2. 由一个Oracle数据库和多个Oracle实例组成。
注:数据库表示的是物理的文件,实例是将数据库文件读取到内存中的镜像。一般都是一对多的关系。


扩展:Oracle集群
     概念:磁盘阵列,由很多个小磁盘组装成一款大的磁盘;
     如下图所示:
而Oracle集群同磁盘阵列的原理很相似,通过在多台服务器组装成一个总的Oracle服务器。
对于Oracle集群有特定的名称:RAC------Real Application Cluster

集群优点:
(1)Load Balance---负载均衡

假设我们有一台服务器,有1000台客户端访问,那么服务器的压力会变得很大,这时候如果我们有10台服务器提供客户端访问,那么就可以将客户端的压力分散到10台服务器上。这就是负载均衡。

(2)File Over---失败迁移

假设程序要向数据库插入10条语句并提交,A服务器在执行前五条语句后宕机,那么这时候服务器BC会将继续执行剩下的语句。这样就提高了系统的可靠性。




二.Oracle数据库的体系结构与架构







操作数据库的过程:客户端-----内存中的实例----数据库
问题:内存中的实例如何修改数据库的内容?
答:是以操作系统的进程来操作文件。

扩展:在Java环境配置好后,在命令行中输入jps后,会显示当前系统的Java进程情况,及其进程号(PID)。

结构分析:
内存块中分为SGA (System Global Area),系统全局区。
还有多个PGA(Process Global Area),进程全局区。

过程分析:
客户端与PGA内存连接,客户端更新数据首先保存到PGA上,提交后,会将数据提交到SGA中,SGA通过写进程写入到数据库ORCL硬盘的文件中。

注意:客户端提交了一次,但是内存中提交了两次。这就是两阶段提交
方案一:PGA直接提交到数据库需要提交多次;
方案二:PGA-   (需要提交多次)->SGA-(只需要提交一次)-->数据库
而内存的访问速度是磁盘的访问速度很多倍,所以方案二较快。

对于Oracle和MySQL,两个数据库同时存储5000条数据,Oracle由于有两阶段提交,执行速度是MySQL的25--30倍。




























  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

michealwwx

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值