Oracle简单分析
1.Oracle 数据库是甲骨文公司开发的一种关系型数据库管理系统,也就是RDBMS(relational database management system).
2.Oracle 从头到尾都是一个RDBMS,是针对OLTP系统进行设计的,这一点从它底层的块结构就可以看出.Oracle在大并发量和海量数据关系型检索方面具有十分优越的性能,但是它并不擅长OLAP,因为它不支持列压缩.
3.Oracle的优势在于大并发量下的高吞吐能力,因此很适合大型企业级使用.
4.Oracle是一个RDBMS系统,也是一款应用软件,Oracle除了将数据存储于文件中,还通过一个被称为实例的后台机制对外提供服务.
5.Oracle必须适用于某个操作系统,并充分利用操作系统提供的资源
6.Oracle需要将数据存储在数据文件中,为了能够支持大量并发用户访问数据库,并且提高数据库的访问性能,Oracle需要引入共享内存,从而实现资源共享.
架构:
针对sql引擎,每个sql最终将会被解析为一系列的执行步骤,这就是我们常说得执行计划.如果同一个sql执行多次,每次都要重新生成执行计划,那么效率就比较地下,Oracle引入了共享池实现这方面的共享.如果一个数据块每次读取都要访问文件,那么效率就不高了,于是Oracle引入了DB cache 来缓存这些数据.同一个数据块可能被多个用户修改,如果每次修改都直接存盘,效率也会降低,于是Oracle设计了DBWR进程,专门负责将数据块写入文件.
作为应用程序的Oracle,必须依赖于其运行的系统环境,Oracle数据库的处理能力和性能也依赖于主机硬件,存储,网络和操作系统等因素,作为应用程序的Oracle会和操作系统中的其它进程竞争有限的系统资源,因此,数据库服务器上做一些比较大的操作时,一定要谨慎,这些操作可能会使Oracle数据库出现问题.
Oracle的核心RDBMS管理系统包含在$ORACLE_HOME/bin/oracle映像,$ORACLE_HOME/lib/libclntsh.so等中,而sqlplus,exp等则是一些Oracle数据库的工具.tnslsnr是Oracle的网络连接部件,用于连接客户端到RDMS,这些程序都被安装在ORACLE HOME目录下.
数据库是独立的,从物理结构上看,它是由一系列文件组成的,包含参数文件,控制文件,数据文件,日志文件,口令文件等.一套完整的数据库,只要其所有的文件都是完整的,那么即使数据库的RDBMS管理系统遭到破坏,只要重新安装和数据库版本一致的RDBMS管理系统,该数据库就可以重新启用(本质就是可以在某个实例中打开这个数据库,供客户使用).
关系型数据库是十分适合OLTP应用的,因为它存储的是一系列关系,各种关系以表的形式被存储起来.铁路售票系统是典型的OLTP应用.
从Oracle数据库的内部结构可以看出,Oracle在行存储数据方面下足了功夫,甚至连行锁都是设置在行头中的.这种设计,不适合一些经常以列为访问对象的OLAP系统,列压缩技术才是实现这类应用的最佳解决方案.
Oracle简单分析的更多相关文章
- python爬虫实践(二)——爬取张艺谋导演的电影《影》的豆瓣影评并进行简单分析
学了爬虫之后,都只是爬取一些简单的小页面,觉得没意思,所以我现在准备爬取一下豆瓣上张艺谋导演的“影”的短评,存入数据库,并进行简单的分析和数据可视化,因为用到的只是比较多,所以写一篇博客当做笔记. 第 ...
- sql语法值ORACLE简单介绍
版权声明:本文为[博主](https://zhangkn.github.io)原创文章,未经博主同意不得转载.https://creativecommons.org/licenses/by-nc-sa ...
- 简单分析JavaScript中的面向对象
初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- CSipSimple 简单分析
简介 CSipSimple是一款可以在android手机上使用的支持sip的网络电话软件,可以在上面设置使用callda网络电话.连接使用方式最好是使用wifi,或者3g这样上网速度快,打起电话来效果 ...
- C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法
对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET ...
- 透过byte数组简单分析Java序列化、Kryo、ProtoBuf序列化
序列化在高性能网络编程.分布式系统开发中是举足轻重的之前有用过Java序列化.ProtocolBuffer等,在这篇文章这里中简单分析序列化后的byte数组观察各种序列化的差异与性能,这里主要分析Ja ...
- 简单分析Java的HashMap.entrySet()的实现
关于Java的HashMap.entrySet(),文档是这样描述的:这个方法返回一个Set,这个Set是HashMap的视图,对Map的操作会在Set上反映出来,反过来也是.原文是 Returns ...
随机推荐
- Python | Pandas数据清洗与画图
准备数据 2016年北京PM2.5数据集 数据源说明:美国驻华使馆的空气质量检测数据 数据清洗 1. 导入包 import numpy as np import matplotlib.pyplot a ...
- 消息队列RabbitMQ(三):消息确认机制
引言 RabbitMQ的模型是生产者发送信息到 Broker (代理),消费者从 Broker 中取出信息.但是生产者怎么知道消息是否真的发送到 Broker 中了呢?Broker 又怎么知道消息到底 ...
- font 和 text ,cursor
font:14px/30px/"宋体"这种写法等于 font-size="14px" line-heigiht="30px" font-fa ...
- 从零搭建springboot服务03-redis消息订阅
愿历尽千帆,归来仍是少年 1.所需依赖 <!-- Redis依赖 --> <dependency> <groupId>org.springframework.boo ...
- TCP 中的两个细节点
TCP 超时和重传 没有永远不出错误的通信,这句话表明着不管外部条件多么完备,永远都会有出错的可能.所以,在 TCP 的正常通信过程中,也会出现错误,这种错误可能是由于数据包丢失引起的,也可能是由于数 ...
- [c++] 如何流畅地读写代码
代码不同于普通文字,阅读时注意两方面: 符号含义:相同符号,上下文不同时含义也不同,如*和& 阅读顺序:不总是按从左往右顺序阅读的,有时要倒着读或者跳着读逻辑才通顺 适当省略:有些内容虽然写了 ...
- [Qt] 事件机制(三)
在主窗口Widget中增加几个小功能 1.点击左键,在左上角label中显示"haha",点击右键,显示"lala" 在widget.h中添加: 1 #incl ...
- 【转-备忘】scatter函数
1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如下: 4.基本的使用方法如下: #导入必要的模块 import numpy as np import matp ...
- Spring框架两大核心机制(IoC、AOP)
IoC(控制反转)/ DI(依赖注入) AOP(面向切面编程) Spring 是一个企业级开发框架,是软件设计层面的框架,优势在于可以将应用程序进行分层,开发者可以自主选择组件. MVC:Struts ...
- Vue之前后端交互
Vue之前后端交互 一.前后端交互模式 接口调用方式 原生ajax 基于jQuery的ajax fetch axios 异步 JavaScript的执行环境是「单线程」 所谓单线程,是指JS引擎中负责 ...