数据库结构

oracle体系结构简介

匆匆过客 提交于 2019-12-05 02:36:43
oracle体系结构简介 一、物理存储结构 1、数据文件 存放数据库数据,以dbf为扩展名。将数据放在多个数据文件中, 再将数据文件分放在不同的硬盘中,可以提高存取速度。数据文 件由数据块构成,块大小由数据库创建时确定。 2、重做日志文件,以rdo为扩展名。含对数据库所做的更改记录, 这样万一出现故障可以启用数据恢复。一个数据库至少需要两个 重做日志文件。重做日志在日志文件中以循环的方式工作。有 归档日志模式和非归档日志模式。 3、控制文件,以ctl或ctrl为扩展名。控制文件维护数据库的全局 物理结构,记录数据库中所有文件的控制信息,每个数据库至少 要有一个控制文件,建议用户使用两个或更多控制文件,并存放 在不同的磁盘上。Oracle系统通过控制文件保持数据库的完整性, 以及决定恢复数据时使用哪些重做日志。 4、参数文件,以ora为扩展名。在一个数据库启动时,每个参数都有 一个默认值,而参数文件中的设置值被用来更改默认值,参数值 极大影响了oracle如何去执行其不同的任务。参数文件包括以下 几种: <1>、初始化参数文件。当创建一个数据库时,oracle创建了一个 默认的init.ora文件,如果不修改任何参数,oracle将用所有的 缺省值来启动数据库,通常根据实际的应用修改参数设置以提高 性能。 <2>、配置参数文件。一般被命名为config.ora,它被用于特定实

191119随笔记

梦想与她 提交于 2019-12-05 02:18:27
一.软件架构的演进 1.单体结构 前端+中间件业务逻辑层+数据库层 2.分布式应用 中级架构,分布式应用 中间层分布式+数据库分布式 解决了高并发问题,降低了耦合度,责任清晰,扩展方便,部署方便,提高代码的复用性。 系统交互要使用远程通信,接口开发增大工作量 3.微服务架构 中间层分解,将系统拆分为很多的小应用(微服务) 4.Serverless架构 二.23种设计模式(日记中有) 三.今日份Java问题 1.JDK、JRE、JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些 2.为什么要配置path环境变量,如何配置 3.常见的几个命令行操作有哪些 来源: https://www.cnblogs.com/codekaterina/p/11891995.html

golang优秀开源框架和库

♀尐吖头ヾ 提交于 2019-12-04 23:16:13
作者:承诺一时的美丽 链接:https://www.jianshu.com/u/6719426bf97e 來源:简书 音频和音乐 用于操纵音频的库。 flac - Native Go FLAC解码器。 flac - Native Go FLAC解码器。 gaad - Native Go AAC比特流解析器。 go-sox - 用于go的libsox绑定。 go_mediainfo - 用于go的libmediainfo绑定。 gosamplerate - 用于go的libsamplerate绑定。 id3v2 - Go的快速稳定的ID3解析和编写库。 malgo - 迷你音频库。 minimp3 - 轻量级MP3解码器库。 mix - 用于音乐应用的基于序列的Go-native音频混音器。 mp3 - Native Go MP3解码器。 音乐理论 - Go中的音乐理论模型。 PortAudio - 用于PortAudio音频I / O库的绑定。 portmidi - 为PortMidi绑定绑定。 taglib - 用于taglib的绑定。 vorbis - “Native”Go Vorbis解码器(使用CGO,但没有依赖关系)。 波形 - Go包能够从音频流生成波形图像。 身份验证和OAuth 用于实现认证方案的库。 authboss - 用于Web的模块化身份验证系统

MySQL_基础知识

删除回忆录丶 提交于 2019-12-04 18:32:59
MySQL_基础知识 -----基础知识 1、什么是数据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库 2、什么是关系型数据库、主键,外键,索引分别是什么? 关系型数据库是由多张能互相联接的二维行列表格组成的数据库 主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录 外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字 在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单 3、表的链接查询方式有那些,有什么区别? 交叉连接即笛卡儿乘积,是指两个关系中所有元组的任意组合 使用内连接时,如果两个表的相关字段满足连接条件,就从这两个表中提取数据并组合成新的记录 自连接是一种特殊的内连接,它是指相互连接的表在物理上为同一张表,但可以在逻辑上分为两张表 外连接是只限制一张表中的数据必须满足连接条件,而另一张表中的数据可以不满足连接条件的连接方式 4、SQL的select语句完成的执行顺序? 1、from 子句组装来自不同数据源的数据; 2、where 子句基于指定的条件对记录行进行筛选;   3、group by

redis原理及应用

大兔子大兔子 提交于 2019-12-04 07:01:19
一、redis来源 二、数据类型 三、主流的应用场景 四、特性 五、补充 一、 redis来源 redis作者:Salvatore Sanfilippo (antirez),男,意大利人. 需求:一个访客信息追踪网站,网站可以通过JavaScript脚本,将访客的IP地址、所属国家、阅览器信息、被访问页面的地址等数据传送给LLOOGG. com。然后LLOOGG.com会将这些浏览数据通过web页面实时地展示给用户,并储存起最新的5至10,000条浏览记录以便进行查阅。 redis解决方案 每当某个被追踪的网站新增一条浏览记录时,LLOOGG.com就会将这条新的浏览记录推入(push)到与该网站相对应的列表里面,当列表的长度超过用户指定的最大长度时,程序每向列表推入一条新的记录,就需要从列表中弹出(pop)一条最旧的记录。 现在已经被广泛使用: Twitter使用Redis来储存用户时间线(user timeline)。 StackOverflow使用Redis来进行缓存和消息分发。 Pinterest使用Redis来构建关注模型(follow model)和兴趣图谱(interest graph)。 Flickr使用Redis来构建队列。 Github使用Redis作为持久化的键值对数据库,并使用Resque来实现消息队列。 新浪微博使用Redis来实现计数器、反向索引、排行榜

初识数据库

扶醉桌前 提交于 2019-12-04 03:29:49
阅读目录 一 数据库管理软件的由来 二 数据库概述 三 mysql介绍 四 下载安装 五 mysql软件基本管理 六 初识sql语句 一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个 文件仅仅只能存在于某一台机器上 。 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。 很不幸,这些假设都是你自己意淫出来的,上述假设存在以下几个问题。。。。。。 1、程序所有的组件就不可能运行在一台机器上 #因为这台机器一旦挂掉则意味着整个软件的崩溃,并且程序的执行效率依赖于承载它的硬件,而一台机器机器的性能总归是有限的,受限于目前的硬件水平,就一台机器的性能垂直进行扩展是有极限的。#于是我们只能通过水平扩展来增强我们系统的整体性能,这就需要我们将程序的各个组件分布于多台机器去执行。 2、数据安全问题 #根据1的描述,我们将程序的各个组件分布到各台机器,但需知各组件仍然是一个整体,言外之意,所有组件的数据还是要共享的。但每台机器上的组件都只能操作本机的文件,这就导致了数据必然不一致。 #于是我们想到了将数据与应用程序分离:把文件存放于一台机器,然后将多台机器通过网络去访问这台机器上的文件(用socket实现),即共享这台机器上的文件,共享则意味着竞争,会发生数据不安全,需要加锁处理

探寻数据库索引的底层原理

穿精又带淫゛_ 提交于 2019-12-03 20:16:26
我们都有到图书馆借书的经历,偌大的图书馆,为什么能在短的时间内找到想要找的书?如果这些书是杂乱无章的堆放,或者没有任何标识的放在书架,那么还能这么快的找到吗?这个场景就很接近我们软件开发中使用数据库的场景,图书馆的书就类似我们数据表中的数据,楼层索引牌、书架分类标识、索书号就类似我们查找数据的索引。那我们常用的数据库的索引底层的一个数据结构是什么样的呢?要了解数据库索引的底层原理,我们就得先了解一种叫树的数据结构,而树中很经典的一种数据结构就是二叉树!所以下面我们就从二叉树到平衡二叉树,再到B-树,最后到B+树来一步一步了解数据库索引底层的原理! 一.二叉树(Binary Search Trees) 二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。二叉树有如下特性: 1、每个结点都包含一个元素以及n个子树,这里0≤n≤2。 2、左子树和右子树是有顺序的,次序不能任意颠倒。左子树的值要小于父结点,右子树的值要大于父结点。   光看概念有点枯燥,假设我们现在有这样一组数[35 27 48 12 29 38 55],顺序的插入到一个数的结构中,步骤如下 好了,这就是一棵二叉树啦!我们能看到,经通过一系列的插入操作之后,原本无序的一组数已经变成一个有序的结构了

MySql 创建用户报错

折月煮酒 提交于 2019-12-03 14:31:05
1.报错信息: ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 42. Created with MySQL 5 【解决办法】: 错误是因为升级过数据库,升级之后没更新数据库里的结构信息导致的。 mysql_upgrade -u root -p 相关链接 https://blog.csdn.net/qq_36819098/article/details/78169922 来源: https://www.cnblogs.com/tomtellyou/p/11799927.html

ABP项目结构

偶尔善良 提交于 2019-12-03 14:08:18
1.XX.Core 项目核心,在DDD分层中,它应该作为领域层 2.XX.Application 应用服务层,包含各个应用逻辑 3.XX.EntityFrameworkCore 基于 EntityFrameworkCore 的封装,提供了数据库连接支持,仓储基础设施层 4.XX.Migrator 数据库迁移工具(关于数据库迁移,后面的博文会讲),用于执行迁移可以再生产环境中使用 5.XX.Web.Core 展现层核心,封装了一些展现层需要用到的工具 6.XX.Web.Host ABP的动态webapi+swagger 行 7.XX.Web.Mvc 展现层                   项目依赖关系图 来源: https://www.cnblogs.com/WebApp-DotNet/p/11798383.html

复制表结构数据至另一数据库

╄→гoц情女王★ 提交于 2019-12-03 13:18:30
SQL Server中,如果目标表存在: insert into 目标表 select * from 原表; SQL Server中,,如果目标表不存在: select * into 目标表 from 原表; Oracle中,如果目标表存在: insert into 目标表 select * from 原表; commit ; Oracle中,如果目标表不存在: create table 目标表 as select * from 原表; 来源: https://www.cnblogs.com/yueyan/p/11796586.html