首页 > 编程知识 正文

数据库具有什么特点,大数据分析数据库

时间:2023-05-04 11:08:09 阅读:164620 作者:2202

SQL是SQL吃的,因此适合小型系统APP应用

内存太大;

Oracle功能相对强大,适用于大型APP应用,稳定且兼容;

DB2一般多在金融业

MySql目前的许多应用是开源应用,如JAVA (结构化查询语言),是一种数据库查询和编程语言,用于数据访问和关系数据库系统

Oracle数据库、别名Oracle RDBMS或简称Oracle。 这是甲骨文公司的关系数据库管理系统。

•MySQL是一个采用通用公共许可证(GPL )的小型关系数据库管理系统。 由于其小巧、快速、低总拥有成本,特别是开源的特点,许多中小型站点选择MySQL作为站点数据库以降低站点的总拥有成本。 与其他大型数据库(如Oracle、DB2、SQL Server等)相比,MySQL规模小,功能有限(MySQL Cluster的功能和效率相对较差),但对于一般个人用户和中小企业来说,MySQL是有限的

总之,MySQL是一种小型(安装文件(~200M )、免费、具有实用功能的数据库管理系统,在很多网站上都有使用。 例如,WordPress Oracle数据库是Oraclebusinessintelligencestandardeditionone官方网站的报价12,280.00/nameduserplus (永久许可证)

SQL适用于各种关系数据库,包括MySQL、Oracle、SQL Server甚至Office Access,但不同的数据库的语法和功能可能略有不同。 Oracle实例、用户、权限和角色1、数据库实例:创建数据库后,存在一组为数据库提供服务的内存空间和后天进程,称为数据库实例。 每个数据库至少有一个实例提供服务。 实例中的内存结构称为系统全局内存(SGA ),系统根据当前计算机系统的性能为SGA分配非常大的内存空间。

2、虽然可以在一个Oracle数据库服务器上安装多个数据库,但由于一个数据库占用很大的内存空间,所以通常一台服务器上只安装一个数据库。 每个数据库可以有许多用户,而不同的用户都有自己的数据库对象(例如数据库表)。 一个用户要访问其他用户的数据库对象,对方用户必须授予一定的权限。 由不同用户创建的表只能由当前用户访问。 因此,Oracle开发只需要对每个APP应用程序使用不同的用户访问权限。

Oracle用户和权限

在Oracle中,在一台服务器上轻松创建多个数据库是很常见的。 用户的概念在Oracle中非常重要,因为在一个数据库中,不同的用户可以访问不同的项目,并且每个用户都有自己创建的数据库对象。 Oracle用户可以通过CREATEUSER命令创建。 其语法如下。

CREATEUSER用户名IDENTIFIEDBY密码[ACCOUNTLOCK|UNLOCK]

创建LOCK|UNLOCK用户时,默认情况下锁定状态为是否锁定。 锁定的用户无法成功登录以进行数据库操作。

已成功创建用户,但无法成功登录到Oracle数据库系统。 因为用户还没有权限。 如果用户能够成功登录,则必须至少具有CREATESESSION系统权限。

Oracle用户对数据库管理或对象操作的权限分为系统权限和数据库对象权限。 系统权限例如是CREATESESSION、CREATETABLE等,具有系统权限的用户被允许进行适当的系统操作。 具有数据库对象权限的用户可以对其拥有的对象执行操作,包括数据库对象权限,例如添加和删除表中的数据等。

另一个概念是数据库角色(role ),数据库角色是若干系统权限的集合。 介绍几个一般的作用。

CONNECT的作用主要适用于临时用户,尤其是不需要制作表的用户,通常只给予CONNECTrole。 CONNECT是使用Oracle的简单权限,具有CONNECT角色的用户可以建立与服务器的连接会话(称为session、客户端到服务器的连接、会话)。

资源的作用。 更可靠,正式的数据库用户可以授予资源角色。 RESOURCE为用户提供了创建自己的表、序列、过程、触发器、索引等的附加权限。

DBA角色、DBArole拥有所有系统权限---包括无限制的空间限额和向其他用户授予各种权限的能力。 用户SYSTEM具有DBA角色。

一般来说,普通用户(如SCOTT )具有CONNECT和RESOURCE两种角色可以执行常规的数据库开发工作。

可以向角色授予权限,也可以向用户授予权限和角色。 只有DBA用户可以授予系统权限

,对象权限由拥有该对象的用户授权,授权语法是:GRANT角色|权限 TO 用户(角色)

  //回收权限

  REVOKE 角色|权限 FROM 用户(角色)

  //修改用户的密码

  ALTER USER 用户名 IDENTIFIED BY 新密码

  //修改用户处于锁定(非锁定)状态

  ALTER USER 用户名 ACCOUNT LOCK|UNLOCK

 

 

MySQL中的实例、数据库关系简介

1、MySQL是单进程多线程(而Oracle等是多进程),也就是说MySQL实例在系 统上表现就是一个服务进程,即进程(通过多种方法可以创建多实例,再安装一个端口号不同的mysql,或者通过workbench来新建一个端口号不同的 服务器实例等),该架构类似于SQL Server和Windows版本的Oracle;
2、MySQL实例是线程和内存组成,实例才是真正用于操作数据库文件的(MySQL数据库是由一些列物理文件组成,类似于frm、MYD、MYI、ibd结尾的文件);
3、一般情况下一个实例操作一个或多个数据库(Oracle一个实例对应一个数据库);集群情况下多个实例操作一个或多个数据库。

注:在实例启动的时候MySQL会读取配置文件,类似于Oracle的spfile文件,不同的是Oracle如果找不到参数文件会启动失
        败,MySQL如果找不到配置文件则会按照默认参数设置启动实例。
—————————————————————————————————————————————————————————————————————————————
mysql中database、instance、session:

      mysql中建立一个会话,不是和具体的数据库相连接,而是跟某个instance建立会话(每个会话可以使用不同的用户身份)。

      而一个实例可以操作多个数据库,故一个会话(在操作系统概念里,会话即是线程)可以操作一个实例上的多个数据库。

       简单描述如下:instance >> database 

—————————————————————————————————————————————————————————————————————————————

connection和session的定义和区别:

1.连接(connection)是一个物理的概念,它指的是一个通过网络建立的客户端和专有服务器(Dedicated Server)或调度器(Shared Server)的一个网络连接。
2.会话(session)是一个逻辑的概念,它是存在于实例中。

注:创建一个连接(connection)实际上是在某个实例(instance,或者说是进程)中创建一个或多个线程。

两者关系:

1、一个连接可以拥有多个会话也可以没有会话(实际上,一条连接上的各个会话可以使用不同的用户身份),同一个连接上的不同会话之间不会相互影响。 2、 两个会话之间的影响,体现在锁和锁存,即对相同资源的操作(对象定义或数据块)或请求(CPU/内存),它们的处理一般是按队列来处理的,前面的没有处理 好,后面的就要等待。如果以打电话来比喻:connect就好比你接通对方,这时,connect就建立了,有没有通话,不管。双方进行通话,则 session建立了,如果换人,则新的session建立,原session结束,类似的,可以在同一个connect上进行多个会话。最后,挂 机,connect结束。

—————————————————————————————————————————————————————————
1、会话可以创建多个事务
比如:使用客端连接数据库,这样你就可以执行很多个事务了

2、一个事务只能由一个会话产生
在数据库里的事务,如果在执行的SQL都是由会话发起的,哪怕是自动执行的JOB也是由系统会话发起的

3、一个事务可能会产生一个或多个线程
比如RMAN备份,是可以创建多个线程可加快备份速度

4、一个线程在同一时间内只能执行一个事务
而一个线程,在没结束当前事务是无法释放资源来执行第二个事务
—————————————————————————————————————————————————————————
事务、会话与线程的关系和区别:
事务:简单理解局势一个业务需求的最小处理单位。
            如:从A银行卡转账500元到B银行卡,事务就包括两部分,1、从A卡减掉500元 2、从B卡加上500元
            这两个部分只要一个部分出错,就要整体“回滚”,那这就是一个事务

会话:可以包含N个事务
            如:你登陆网银之后,可以重复转账步骤2次,第二次转账失败,并不影响你第一次转账成功。

注:一个会话中可以由多个事务。线程是操作系统概念。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。