导航:首页 > 编程大全 > 深入了解数据库

深入了解数据库

发布时间:2023-07-29 10:40:54

A. 本人想更加深入的了解数据库~~想问下在机子上什么数据库对学习最好~~

学习数据库不应该针对品牌来学习,应该针对数据库技术的分带学习,
从现在主流的关系型数据库,到oracle 面向对象数据库,你要学习的包括操作系统基础知识,数据结构,关系型数据库理论,sql结构化查询语言,T-SQL,pl/sql,网络知识等等一系列技术。以下附上一张数据库工程师考试的大纲供你作个参考:

-----------------------

2004数据库系统工程师级大纲
一、考试说明
1.考试要求

(1)掌握计算机体系结构以及各主要部件的性能和基本工作原理;

<广告>
(2)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;

(3)熟练掌握常用数据结构和常用算法;

(4)熟悉软件工程和软件开发项目管理的基础知识;

(5)熟悉计算机网络的原理和技术;

(6)掌握数据库原理及基本理论;

(7)掌握常用的大型数据库管理系统的应用技术;

(8)掌握数据库应用系统的设计方法和开发过程;

(9)熟悉数据库系统的管理和维护方法,了解相关的安全技术;

(10)了解数据库发展趋势与新技术;

(11)掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;

(12)了解信息化、计算机应用的基础知识;

(13)正确阅读和理解计算机领域的英文资料。

2. 通过本考试的合格人员能参与应用信息系统的规划、设计、构建、运行和管理,能按照用户需求,设计、建立、运行、维护高质量的数据库和数据仓库;作为数据管理员管理信息系统中的数据资源,作为数据库管理员建立和维护核心数据库;担任数据库系统有关的技术支持,同时具备一定的网络结构设计及组网能力;具有工程师的实际工作能力和业务水平,能指导计算机技术与软件专业助理工程师(或技术员)工作。

3. 本考试设置的科目包括

(1)信息系统知识,考试时间为150分钟,笔试;

(2)数据库系统设计与管理,考试时间为150分钟,笔试。

二、考试范围

考试科目1:信息系统知识

1. 计算机系统知识

1.1 硬件知识

1.1.1 计算机体系结构和主要部件的基本工作原理

?CPU和存储器的组成、性能、基本工作原理

?常用I/O设备、通信设备的性能,以及基本工作原理

?I/O接口的功能、类型和特点

?CISC/RISC,流水线操作,多处理机,并行处理

1.1.2 存储系统

?虚拟存储器基本工作原理,多级存储体系

?RAID类型和特性

1.1.3 安全性、可靠性与系统性能评测基础知识

?诊断与容错

?系统可靠性分析评价

? 计算机系统性能评测方法

1.2 数据结构与算法

1.2.1 常用数据结构

?数组(静态数组、动态数组)

?线性表、链表(单向链表、双向链表、循环链表)

?栈和队列

?树(二叉树、查找树、平衡树、遍历树、堆)、图、集合的定义、存储和操作

?Hash(存储位置计算、碰撞处理)

1.2.2 常用算法

?排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法

?算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表),算法的复杂性

1.3 软件知识

1.3.1 操作系统知识

?操作系统的类型、特征、地位、内核(中断控制)、进程、线程概念

?处理机管理(状态转换、同步与互斥、信号灯、分时轮转、抢占、死锁)

?存储管理(主存保护、动态连接分配、分段、分页、虚存)

?设备管理(I/O控制、假脱机、磁盘调度)

?文件管理(文件目录、文件的结构和组织、存取方法、存取控制、恢复处理、共享和安全)

?作业管理(作业调度、作业控制语言(JCL)、多道程序设计)

?汉字处理,多媒体处理,人机界面

?网络操作系统和嵌入式操作系统基础知识

?操作系统的配置

1.3.2 程序设计语言和语言处理程序的知识

? 汇编、编译、解释系统的基础知识和基本工作原理

? 程序设计语言的基本成分:数据、运算、控制和传输,程序调用的实现机制

? 各类程序设计语言的主要特点和适用情况

1.4 计算机网络知识

?网络体系结构(网络拓扑、OSI/RM、基本的网络协议)

?传输介质,传输技术,传输方法,传输控制

?常用网络设备和各类通信设备

?Client/Server结构、Browser/Server结构、Browser/Web/Datebase结构

?LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接

?因特网基础知识及应用

?网络软件

?网络管理

?网络性能分析

?网络有关的法律、法规

2. 数据库技术

2.1 数据库技术基础

2.1.1 数据库模型

?数据库系统的三级模式(概念模式、外模式、内模式),两级映像(概念模式/外模式、外模式/内模式)

?数据库模型:数据模型的组成要素,概念数据模型ER图(实体、属性、关系),逻辑数据模型(关系模型、层次模型、网络模型)

2.1.2 数据库管理系统的功能和特征

?主要功能(数据库定义、数据库操作、数据库控制、事务管理、用户视图)

?特征(确保数据独立性、数据库存取、同时执行过程、排它控制、故障恢复、安全性、完整性)

?RDB(关系数据库),OODB(面向对象数据库),ORDB(对象关系数据库),NDB(网状数据库)

?几种常用Web数据库的特点

2.1.3 数据库系统体系结构

? 集中式数据库系统

? Client/Server数据库系统

? 并行数据库系统

? 分布式数据库系统

? 对象关系数据库系统

2.2 数据操作

2.2.1 关系运算

?关系代数运算(并、交、差、笛卡儿积、选择、投影、连接、除)

?元组演算

?完整性约束

2.2.2 关系数据库标准语言(SQL)

?SQL的功能与特点

?用SQL进行数据定义(表、视图、索引、约束)

?用SQL进行数据操作(数据检索、数据插入/删除/更新、触发控制)

?安全性和授权

?程序中的API,嵌入SQL

2.3 数据库的控制功能

?数据库事务管理(ACID属性)

?数据库备份与恢复技术(UNDO、REDO)

?并发控制

2.4 数据库设计基础理论

2.4.1 关系数据库设计

?函数依赖

?规范化(第一范式、第二范式、第三范式、BC范式、第四范式、第五范式)

?模式分解及分解应遵循的原则

2.4.2 对象关系数据库设计

?嵌套关系、 复杂类型,继承与引用类型

?与复杂类型有关的查询

?SQL中的函数与过程

?对象关系

2.5 数据挖掘和数据仓库基础知识

?数据挖掘应用和分类

?关联规则、聚类

?数据仓库的成分

?数据仓库的模式

2.6 多媒体基本知识

2.6.1 多媒体技术基本概念

?多媒体系统基础知识

?常用多媒体文件格式

2.6.2 多媒体压缩编码技术

?多媒体压缩编码技术

?统计编码

?预测编码

?编码的国际标准

2.6.3多媒体技术应用

?简单图形的绘制,图像文件的处理方法

?音频和视频信息的应用

?多媒体应用开发过程

2.7 系统性能知识

?性能计算(响应时间、吞吐量、周转时间)

?性能指标和性能设计

?性能测试和性能评估

2.8 计算机应用基础知识

?信息管理、数据处理、辅助设计、科学计算,人工智能等基础知识

?远程通信服务及相关通信协议基础知识

3. 系统开发和运行维护知识

3.1 软件工程、软件过程改进和软件开发项目管理知识

?软件工程知识

?软件开发生命周期阶段目标和任务

?软件开发项目基础知识(时间管理、成本管理、质量管理、人力资源管理、风险管理等)及其常用管理工具

?主要的软件开发方法(生命周期法、原型法、面向对象法、CASE)

?软件开发工具与环境知识

?软件质量管理基础知识

?软件过程改进基础知识

?软件开发过程评估、软件能力成熟度评估的基础知识

3.2 系统分析基础知识

?系统分析的目的和任务

?结构化分析方法(数据流图(DFD)和数据字典(DD),实体关系图(ERD),描述加工处理的结构化语言)

?统一建模语言(UML)

?系统规格说明书

3.3 系统设计知识

?系统设计的目的和任务

?结构化设计方法和工具(系统流程图、HIPO图、控制流程图)

?系统总体结构设计(总体布局,设计原则,模块结构设计,数据存取设计,系统配置方案)

?系统详细设计(代码设计、数据库设计、用户界面设计、处理过程设计)

?系统设计说明书

3.4 系统实施知识

?系统实施的主要任务

?结构化程序设计、面向对象程序设计、可视化程序设计

?程序设计语言的选择、程序设计风格

?系统测试的目的、类型,系统测试方法(黑盒测试、白盒测试、灰盒测试)

?测试设计和管理(错误曲线、错误排除、收敛、注入故障、测试试用例设计、系统测试报告)

?系统转换基础知识

3.5 系统运行和维护知识

?系统运行管理知识

?系统维护知识

?系统评价知识

4. 安全性知识

?安全性基本概念(网络安全、操作系统安全、数据库安全)

?计算机病毒的防治,计算机犯罪的防范,容灾

?访问控制、防闯入、安全管理措施

?加密与解密机制

?风险分析、风险类型、抗风险措施和内部控制

5.标准化知识

?标准化意识,标准化的发展,标准出台过程

?国际标准、国家标准、行业标准、企业标准基本知识

?代码标准、文件格式标准、安全标准软件开发规范和文档标准

?标准化机构

6.信息化基础知识

?信息化意识

?全球信息化趋势、国家信息化战略、企业信息化战略和策略

?有关的法律、法规

?远程教育、电子商务、电子政务等基础知识

?企业信息资源管理基础知识

7.计算机专业英语

?掌握计算机技术的基本词汇

?能正确阅读和理解计算机领域的英文资料

考试科目2:数据库系统设计与管理

1.数据库设计

1.1理解系统需求说明

?了解用户需求、确定系统范围

?确定应用系统数据库的各种关系

?现有环境与新系统环境的关系

?新系统中的数据项、数据字典、数据流

1.2 系统开发的准备

?选择开发方法,准备开发环境,制订开发计划

1.3 设计系统功能

?选择系统机构,设计各子系统的功能和接口,设计安全性策略、需求和实现方法,制定详细的工作流和数据流

1.4 数据库设计

1.4.1 设计数据模型

?概念结构设计(设计ER模型)

?逻辑结构设计(转换成DBMS所能接收的数据模型)

?评审设计

1.4.2 物理结构设计

?设计方法与内容

?存取方法的选择

?评审设计与性能预测

1.4.3 数据库实施与维护

?数据加载与应用程序调试

?数据库试运行

?数据库运行与维护

1.4.4 数据库的保护

?数据库的备份与恢复

?数据库的安全性

?数据库的完整性

?数据库的并发控制

1.5 编写外部设计文档

?编写系统说明书(系统配置图、各子系统关系图、系统流程图,系统功能说明、输入输出规格说明、数据规格说明、用户手册框架)

?设计系统测试要求

1.6 设计评审

2. 数据库应用系统设计

2.1 设计数据库应用系统结构

?信息系统的架构(如Client/Server)与DBMS

?多用户数据库环境(文件服务器体系结构、Client/Server体系结构)

?大规模数据库和并行计算机体系结构(SMP、MPP)

?中间件角色和相关工具

?按构件分解,确定构件功能规格以及构件之间的接口

2.2 设计输入输出

?屏幕界面设计,设计输入输出检查方法和检查信息

?数据库交互与连接(掌握C程序设计语言,以及Java、Visual Basic、Visual C++、PowerBuilder、Delphi中任一种开发工具与数据库互连的方法(如何与数据库服务器沟通))

2.3 设计物理数据

?分析事务在数据库上运行的频率和性能要求,确定逻辑数据组织方式、存储介质,设计索引结构和处理方式

?将逻辑数据结构变换成物理数据结构,计算容量(空间代价),确定存取方法(时间效率)、系统配置(维护代价)并进行优化

2.4 设计安全体系

?明确安全等级

?数据库的登录方式

?数据库访问

?许可(对象许可、命令许可、授权许可的方法)

2.5 应用程序开发

2.5.1 应用程序开发

?选择应用程序开发平台

?系统实施顺序

?框架开发

?基础小组的程序开发

?源代码控制

?版本控制

2.5.2 模块划分(原则、方法、标准)

2.5.3 编写程序设计文档

?模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)

?测试要求说明书(测试类型和目标,测试用例,测试方法)

2.5.4 程序设计评审

2.6 编写应用系统设计文档

?系统配置说明、构件划分图、构件间的接口、构件处理说明、屏幕设计文档、报表设计文档、程序设计文档、文件设计文档、数据库设计文档

2.7 设计评审

3. 数据库应用系统实施

3.1 整个系统的配置与管理

3.2 常用数据库管理系统的应用(SQL Server、Oracle、Sybase、DB2、Access或Visual Foxpro)

?创建数据库

?创建表、创建索引、创建视图、创建约束、创建UDDT(用户自定义类型)

?创建和管理触发器

?建立安全体系

3.3 数据库应用系统安装

?拟定系统安装计划(考虑费用、客户关系、雇员关系、后勤关系和风险等因素)

?拟定人力资源使用计划(组织机构安排的合理性)

?直接安装(安装新系统并使系统快速进入运行状态)

?并行安装(新旧系统并行运行一段时间)

?阶段安装(经过一系列的步骤和阶段使新系统各部分逐步投入运行)

3.4 数据库应用系统测试

?拟定测试目标、计划、方法与步骤

?数据加载,准备测试数据

?指导应用程序员进行模块测试进行验收

?准备系统集成测试环境测试工具

?写出数据库运行测试报告

3.5 培训与用户支持
4.数据库系统的运行和管理
4.1 数据库系统的运行计划

?运行策略的确定

<广告>
?确定数据库系统报警对象和报警方式

?数据库系统的管理计划(执行,故障/恢复,安全性,完整性,用户培训和维护)

4.2 数据库系统的运行和维护

?新旧系统的转换

?收集和分析报警数据(执行报警、故障报警、安全报警)

?连续稳定的运行

?数据库维护(数据库重构、安全视图的评价和验证、文档维护)

?数据库系统的运行统计(收集、分析、提出改进措施)

?关于运行标准和标准改进一致性的建议

?数据库系统的审计

4.3 数据库管理

?数据字典和数据仓库的管理

?数据完整性维护和管理(实体完整性、参照完整性)

?数据库物理结构的管理(保证数据不推迟访问)

?数据库空间及碎片管理

?备份和恢复(顺序、日志(审计痕迹)、检查点)

?死锁管理(集中式、分布式)

?并发控制(可串行性、锁机制、时间戳、优化)

?数据安全性管理(加密、安全、访问控制、视图、有效性确认规则)

?数据库管理员(DBA)职责

4.4 性能调整

?SQL语句的编码检验

?表设计的评价

?索引的改进

?物理分配的改进

?设备增强

?数据库性能优化

4.5 用户支持

?用户培训

?售后服务

5. SQL

5.1 数据库语言

?数据库语言的要素

?数据库语言的使用方式(交互式和嵌入式)

5.2 SQL概述

?SQL语句的特征

?SQL语句的基本成分

5.3 数据库定义

?创建数据库(Create Datebase)、创建表(Create Table)

?定义数据完整性

?修改表(Alter Table)、删除表(Drop Table)

?定义索引(Create Index)、删除索引(Drop Index)

?定义视图(Create View)、删除视图(Drop View)、更新视图

5.4 数据操作

?Select语句的基本机构

?简单查询

?SQL中的选择、投影

?字符串比较,涉及空值的比较

?日期时间,布尔值,输出排序

?多表查询

?避免属性歧义

?SQL中的连接、并、交、差

?SQL中的元组变量

?子查询

5.5 完整性控制与安全机制

?主键(Primary Key)约束

?外键(Foreign Key)约束

?属性值上的约束(Null、Check、Create Domain)

?全局约束(Create Assertions)

?权限、授权(Grant)、销权(Revoke)

5.6 创建触发器(Create Trigger)

5.7 SQL使用方式

?交互式SQL

?嵌入式SQL

?SQL与宿主语言接口(Declare、共享变量、游标、卷游标)

?动态SQL

?API

5.8 SQL 标准化

6. 网络环境下的数据库

6.1 分布式数据库

6.1.1 分布式数据库的概念

?分布式数据库的特点与目标

6.1.2 分布式数据库的体系结构

?分布式数据库的模式结构

?数据分布的策略(数据分片、分布透明性)

?分布式数据库管理系统

6.1.3 分布式查询处理和优化

6.1.4 分布式事务管理

?分布式数据库的恢复(故障、恢复、2段提交、3段提交)

?分布式数据库的透明性(局部、分裂、复制、处理、并发、执行)

6.1.5 分布式数据库系统的应用

6.2 网络环境下数据库系统的设计与实施

?数据的分布设计

?负载均衡设计

?数据库互连技术

6.3 面向Web的DBMS技术

?三层体系结构

?动态Web网页

?ASP、JSP、XML的应用

7.数据库的安全性

7.1 安全性策略的理解

?数据库视图的安全性策略

?数据的安全级别(最重要的、重要的、注意、选择)

7.2 数据库安全测量

?用户访问控制(采用口令等)

?程序访问控制(包含在程序中的SQL命令限制)

?表的访问控制(视图机制)

?控制访问的函数和操作

?外部存储数据的加密与解密

8. 数据库发展趋势与新技术

8.1 面向对象数据库(OODBMS)

8.1.1 OODBMS的特征

8.1.2 面向对象数据模型

?对象结构、对象类、继承与多重继承、对象标识、对象包含、对象嵌套

8.1.3 面向对象数据库语言

8.1.4 对象关系数据库系统(ORDBMS)

?嵌套关系

?复杂类型

?继承、引用类型

?与复杂类型有关的查询

?函数与过程

?面向对象与对象关系

?ORDBMS应用领域

8.2 企业资源计划(ERP)和数据库

8.2.1 ERP概述

?基本MRP(制造资源计划)、闭环MRP、ERP

?基本原理、发展趋势

?ERP设计的总体思路(一个中心、两类业务、三条干线)

8.2.2 ERP与数据库

?运行数据库与ERP数据模型之间的关系

?运行数据库与ERP数据库之间的关系

8.2.3 案例分析

8.3 决策支持系统的建立

?决策支持系统的概念

?数据仓库设计

?数据转移技术

?联机分析处理(OLAP)技术

?企业决策支持解决方案

?联机事务处理(OLTP)

B. 数据库是什么Oracle又是啥玩意

经常会有人问我数据库是干啥的,其实一开始我是拒绝回答的,因为我也不能做到通俗易懂的表达出来,毕竟我接触这个概念也没有多长时间,但随着问的人多了,我觉得是时候脑补一下我的第一堂课了,万一哪天冒出来个货跟你掰扯这事儿,你没分分钟给他说清,最后弄个丢里儿丢面儿,好尴尬呀。

数据库,说白了就是按照数据结构来组织、存储和管理数据的仓库,这些数据是结构化的,并可为多种应用服务。也就是说,数据库是使用计算机服务器来存储数据的,专门用来提供各种数据服务。可以这样想像,过去一个公司的所有财务数据都是放在保险柜里面,而现在我们就可以针对这些财务数据搭建一个数据库放在某台计算机或服务器上面;再比如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。最常见的数据库有:银行储蓄系统、手机话费系统、美容美发会员系统、超市会员积分系统、水电费系统、机票或火车票系统等,这些都需要后台数据库基础设施的支撑。举了这么多例子,应该是把数据库说明白了,至少能在大脑里面有个概念,知道这个东西是干啥的。

现在大数据被炒的红得发紫,而大数据的基础也是数据,由此可见,数据是一个企业的核心资源,说它是企业的立身之本、发展之基都不为过,因此,维护数据库的数据库管理员(DBA)是企业不可或缺的。

目前市面上的数据库产品有很多,单从规模上分可分为大型、中型、小型几种,典型的数据库产品如下:

大型数据库:Oracle、DB2、Sybase;

中型数据库:MySQL、SQLServer、Infomix;

小型数据库:Access、VisualFoxpro。在众多的数据库产品中,Oracle数据库一直处于行业领导先地位,也是当今最流行的关系型数据库。Oracle可翻译成"甲骨文",它是一家以数据库为主业的全球化公司,是全球第二大软件公司(第一名是微软公司),目前Oracle在数据库软件市场已经排名第一,数据库软件市场份额达到48.6%,遥遥领先于第二名占有率仅为20.7%的IBM公司的DB2。在中国市场上的计算机专业系统后台所使用的数据库尤以Oracle数据库居多。但是购买Oracle数据库需要很大一笔费用,一般的大型企业使用,需要有专业人员进行管理和维护,中小企业承担不起。中小企业为了节省成本,一般使用MySQL、PostgreSQL这类免费开源的数据库,所以Oracle数据库相关的工作岗位一般是在大型企业中。

对于为什么选择Oracle数据库,而不是其他的数据库?

第一,是因为Oracle数据库占据最大的市场份额,并且越来越大,市场需要很多Oracle数据库方面的人才,中国有句老话说"做对事,选对人",是同样的道理;第二,是很多非Oracle数据库的老系统正往Oracle数据库迁移,其他数据库市场占有率在减少,其他数据库工作者有面临失业的风险;第三,Oracle有大量的官方学习文档,还有部分中文文档,可以有效地进行学习;第四,Oracle有大量的从业人员,有共同方向的朋友可以互相帮助,不再是孤胆英雄;第五,是可以很容易地从Oracle官方网站下载功能齐全的数据库最新版本进行学习,可以让你了解数据库方面的最新发展趋势等。

在此说明,以后的所有内容都是基于Oracle11g数据库产品的,下面我们就简单介绍一下Oracle11g的系列产品:

企业版(EnterpriseEdition)此版本包含了数据库的所有组件,并且能够通过购买选项和程序包来进一步对其增强。

能支持例如大业务量的在线事务处理OLTP(On-LineTransactionProcessing联机事务处理系统)环境、查询密集的数据仓库和要求苛刻的互联网应用程序。

标准版1(StandardEditionOne)此版本为工作组、部门级和互联网、内联网应用程序提供了前所未有的易用性和性价比。从针对小型商务的单服务器环境到大型的分布式部门环境,该版本包含了构建重要商务应用程序所必需的全部工具。它仅许可在最高容量为2个处理器的服务器上使用,支持Windows/Linux/UNIX操作系统,并支持64位平台操作系统。

标准版(StandardEdition)此版本提供了StandardEditionOne所不具有的易用性、能力和性能,并且利用真正的应用集群(RAC)提供了对更大型计算机和服务集群的支持。它可以在最高容量为4个处理器的单台服务器上、或者在一个支持最多4个处理器的集群上使用,可支持Windows、Linux和UNIX操作系统,并支持64位平台操作系统。

简化版此版本支持与标准版1、标准版和企业版完全兼容的单用户开发和部署。通过将Oracle数据库获奖的功能引入到个人工作站中,该版本提供了结合世界上最流行的数据库功能的数据库,并且该数据库具有桌面产品通常具有的易用性和简单性,可支持Linux和Windows操作系统。

从存储结构上来说,目前流行的数据库主要包含以下两种:

RDBMS:关系型数据库,是指采用了关系模型来组织数据的数据库;

NoSQL数据库,是指那些非关系型的、分布式的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

关系型数据库优点:

1、容易理解

二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。

2、使用方便

通用的SQL语言使得操作关系型数据库非常方便。

3、易于维护

丰富的完整性大大减低了数据冗余和数据部移植的概率。

4、事务安全

所有关系型数据库都不同程度的遵守事物的四个基本属性,因此对于银行、电信、证券等交易型业务是不可或缺的。

关系型数据库的瓶颈:

1、高并发读写需求

网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统型数据库来说,硬盘I/O是一个很大的瓶颈。

2、海量数据的高效率读写

互联网上每天产生的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的。

3、高扩展性和可用性

在基于WEB的结构中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库却没有办法像WEBServer和APPLICATIONServer那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。

NoSQL数据库

NoSQL一词首先是CarloStrozzi在1998年提出的。2009年再次提出了NoSQL一词,用于指那些非关系型的、分布式的,且一般不保证遵循ACID原则的数据存储系统。

NoSQL具有以下特点:

1、可以弥补关系型数据库的不足

2、针对某些特定的需求而设计,可以具有极高的性能

3、大部分都是开源的,由于成熟度不够,存在潜在的稳定性和维护性问题。

关系型数据库适用于结构化数据,而非关系型数据库适用于非结构化数据,二者优势互补,相得益彰。

Oracle数据库未来的发展方向是提供结构化、非结构化、半结构化的解决方案,实现关系型数据库和NoSQL共存互补。值得强调的是,目前关系型数据库仍是主流数据库。

虽然NoSQL数据库打破了关系型数据库存储的观念,可以很好地满足WEB2.0时代数据的存储要求,但NoSQL数据库也有自己的缺陷。在现阶段的情况下,可以将关系型数据库和NoSQL数据库结合使用,相互弥补各自的不足。

关于数据库及其代表产品Oracle今天就介绍这么多,有兴趣的可以继续深挖,希望我的介绍能让你对数据库有一个更深入的认识。如果有志于在这方面发展的话,就让我们一起跟往事干杯从头再来。

C. 深入了解Redis操作五大数据类型常用命令

我们知道Redis默认有16个数据库,默认是第0个数据库,那么如果在需要对数据库进行切换的时候,我们就可以使用下面这个命令:


使用如下态腊命令进行切换

如果想要清除指定某一个数据库的数据


清除所有数据库的数据

接下来这个命令应该是最常用的了

平常在开发中,我们还需要经常对key进行判断,判断其是否存在

因为我们设置的缓存数据一般都不能是永久的,这个时候就需要我们在存储数据的时候,就为其设置过期时间。

string类型是Redis中五大基本数据类型之一,这也是最常使用到的一个数据类型,所有很多小伙伴们对Redis的认识和操作就仅仅的停留在了对Redis的操作层面,但是你是否知道string类型中的相关命令,还是有非常多实用的

接下来先看一下对string类型进行基本存储和获取的命令。

如果我们存储的string中的内容是数字的话,我们也可以对其进行增或减操作,Redis可以自动的对字符串进行相关的操作。实现的命令如下:胡蚂

使用msetnx时,同时设置一个或多个 key-value 对,当且仅当所有给定 key都不存在时才成立。

getset命令从字面意思就可以看出来,他的作用是先get再set。


总结string类似的使用场景:

在使用list类型进行存取的时候,有两个命令需要进行区分:

注意:只有pop和push才分左裤闭埋右,其他的l都是list的意思

总结:

总结set集合一般用于元素的不重复的场景,比如抽奖系统,轮播等场景下

在使用hash集合的时候,要注意,hash其实就是一个Map集合,key-map的时候,值是一个map集合的形式进行存储的,也和Java中的hashmap有一个类似。


HVALS获取所有的value,HKEYS获取所有的key,HGETALL获取所有的键值


总结:

hash可以用于存储变更的数据,比如user,name,age等,尤其是用户信息之类的,hash更加适合用于对象的存储,string更加适合用于字符串的存储。

在set集合的基础上增加一个序列号,来进行排序


ZRANGEBYSCORE使用语法


总结


以上是在对五种数据类型进行存取时的一些常用命令操作。关于其他的命令使用,小伙伴们在用到的时候可以直接入官网查看就可以了。

D. 成为大数据工程师要学习哪些知识

1.大数据架构的工具与组件


数据工程师更关注分析基础架构,因此所需的大部分技能都是以架构为中心的。


2.深入了解SQL和其它数据库解决方案


数据工程师需要对数据库管理系统有比较熟悉的了解,而且深入了解SQL非常重要。同样其它数据库解决方案,例如Cassandra或BigTable也须熟悉,因为不是每个数据库都是由可识别的标准来构建。


3.数据仓库和ETL工具


数据仓库和ETL经验对于数据工程师至关重要。像Redshift或Panoply这样的数据仓库解决方案,以及ETL工具,比如StitchData或Segment都非常有用。另外,数据存储和数据检索经验同样重要,因为处理的数据量是个天文数字。


4.基于Hadoop的分析(HBase,Hive,MapRece等)


对基于Apache Hadoop的分析有深刻理解是这个领域的一个非常必要的需求,一般情况下HBase,Hive和MapRece的知识存储是必需的。


5.编码


说到解决方案,编码与开发能力是一个重要的优点(这也是许多职位的要求),你要熟悉Python,C/C++,Java,Perl,Golang或其它语言,这会非常有价值。


6.机器学习


虽然数据工程师主要关注的是数据科学,但对数据处理技术的理解会加分,比如一些统计分析知识和基础数据建模。

E. 什么是关系数据库 带你深入了解关系数据库

1、关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。

2、关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。每个表格(有时被称为一个关系)包含用列表示的一个或更多的数据种类。 每行包含一个唯一的数据实体,这些数据是被列定义的种类。

3、当创造一个关系数据库的时候,你能定义数据列的可能值的范围和可能应用于那个数据值的进一步约束。而SQL语言是标准用户和应用程序到关系数据库的接口。其优势是容易扩充,且在最初的数据库创造之后,一个新的数据种类能被添加而不需要修改所有的现有应用软件。主流的关系数据库有oracle、db2、sqlserver、sybase、mysql等。

阅读全文

与深入了解数据库相关的资料

热点内容
儿童编程的app软件哪个更好一些 浏览:220
有什么好的免费视频电影网站 浏览:306
文件保存后在哪里可以找到 浏览:478
docm是什么文件 浏览:142
js可以设置emptytext 浏览:479
从数据字典中查询具体是什么表 浏览:608
触摸屏通道导入总是出现文件路径 浏览:363
怎么给app改大图标 浏览:289
怎么新建数据库用户 浏览:449
win10家庭版文件夹共享 浏览:291
win10更改系统繁体 浏览:541
wifi密码只有六位数 浏览:814
联通app怎么控制家里的宽带 浏览:567
贪食首饰升级材料 浏览:946
围棋网络教学 浏览:212
java构造函数线程安全 浏览:151
苹果时间怎么跑到侧面去了 浏览:34
微信动态表情喷血 浏览:318
ps部分文件损坏无法解压怎么办 浏览:724
部落冲突4本对应升级表 浏览:180

友情链接