数据库文件

Redis从入门到精通

梦想的初衷 提交于 2019-12-05 05:23:05
常用的 SQL 数据库的数据都是存在磁盘中的,虽然在数据库底层也做了对应的缓存来减少数据库的 IO 压力。 由于数据库的缓存一般是针对查询的内容,而且粒度也比较小,一般只有表中的数据没有发生变动的时候,数据库的缓存才会产生作用。 但这并不能减少业务逻辑对数据库的增删改操作的 IO 压力,因此缓存技术应运而生,该技术实现了对热点数据的高速缓存,可以大大缓解后端数据库的压力。 主流应用架构 客户端在对数据库发起请求时,先到缓存层查看是否有所需的数据,如果缓存层存有客户端所需的数据,则直接从缓存层返回,否则进行穿透查询,对数据库进行查询。 如果在数据库中查询到该数据,则将该数据回写到缓存层,以便下次客户端再次查询能够直接从缓存层获取数据。 缓存中间件 Memcache 和 Redis 的区别 Memcache 的代码层类似 Hash,特点如下: 支持简单数据类型 不支持数据持久化存储 不支持主从 不支持分片 Redis 特点如下: 数据类型丰富 支持数据磁盘持久化存储 支持主从 支持分片 为什么 Redis 能这么快 Redis 的效率很高,官方给出的数据是 100000+QPS,这是因为: Redis 完全基于内存,绝大部分请求是纯粹的内存操作,执行效率高。 Redis 使用单进程单线程模型的(K,V)数据库,将数据存储在内存中,存取均不会受到硬盘 IO 的限制,因此其执行速度极快。

MySQL数据库:数据的概念

蓝咒 提交于 2019-12-05 05:17:50
基本定义 数据:是数据库总存储的基本对象 定义:描述客观事物的符号记录 种类:数字、文字、图形、图像、声音等 数据库:DB 存储数据的集合 数据库管理系统:DBMS 用户和操作系统之间的一层数据管理软件 科学地组织和存储数据、高效地获取和维护数据 数据库系统:DBS 计算机系统中引入数据库后的系统 数据库管理员:DBA SQL:数据库查询语言 DDL:数据定义语言 DQL:数据查询语言 DML:数据操作语言 DCL:数据控制语言 TPL:事物处理语言 CCL:指针控制语言 数据库包括 16张表 7个视图 3个存储过程 3个数据库函数 建库建表后,在data目录下产生了对应文件,不同文件类型的作用 .frm 是描述表结构的文件 可以直接打开 .MYD 是表达数据文件 .MYI 是表数据文件中任何索引的数据树 .opt 记录字符集和字符序 .IBD 是MySQL数据文件、索引文件 也叫独立表空间 无法直接读取 ibdata1 共享表空间 undo 存储表空间 .IDB 智能数据库系统 是一个对象数据库管理系统。 .PAR 交换文件,主要是Windows环境下的文件名 在MySQL中,char与varchar的区别 格式区别: char 是一种固定长度的类型,适合用在身份证号码、手机号码等定常的格式 varchar 是一种可变长度的类型,适合用在长度可变的属性 text 不设置长度

转载:外部表

霸气de小男生 提交于 2019-12-05 03:55:57
转载于: https://www.iteye.com/blog/czmmiao-1268712 关于12cocp的一道题 What must you use to read data from a table in your database and write it to an external table? A. Use CREATE TABLE...ORGANIZATION EXTERNAL command with ORACLE_DATAPUMP access driver B. Use SQL* LOADER direct path load C. Use SQL* LOADER conventional path load D. Use CREATE TABLE... ORGANIZATION EXTERNAL command with ORACLE_LOADER access driver 参考答案:A 答案A和D很相似,就是他们两者之间的区别,我们下面做个测试看两者是否都能满足从本地读数据写入到外部表。 Oracle Database provides two access drivers: ORACLE_LOADER and ORACLE_DATAPUMP . By providing the database with metadata describing

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,它被用于特定实

【巨杉数据库SequoiaDB】巨杉⼯具系列之一 | ⼤对象存储⼯具sdblobtool

半腔热情 提交于 2019-12-05 02:28:38
近期,巨杉数据库正式推出了完整的SequoiaDB 工具包,作为辅助工具,更好地帮助大家使用和运维管理分布式数据库。为此,巨杉技术社区还将持续推出工具系列文章,帮助大家了解巨杉数据库丰富的工具矩阵。 本文作为系列第一篇,将分享巨杉数据库大数据存储工具 sdblobtool 的基本介绍和应用实践。 巨杉工具矩阵 一、对象存储与自建存储对比 通俗地讲,自建存储就是自己购买服务器设备存储文件,通过运维人员手工进行文件的上传下载。而对象存储,则是使用不同的存储形态来存储文件。目前,对象存储独立的存储形态有三种:块存储、⽂件存储以及新出现的对象存储。 块存储 :简单来说,块存储就是将硬盘直接挂载到主机,在主机上我们能够看到的就是一块块的硬盘以及硬盘分区。从存储架构的角度而言,块存储又分为DAS存储(Direct-Attached Storage,直连式存储)和SAN存储(Storage Area Network,存储区域网络)。 文件存储 :指的是在文件系统上的存储,也就是主机操作系统中的文件系统。我们知道,文件系统中有分区,有文件夹,子文件夹,整体形成⼀个自上而下的⽂件结构,⽤户可以通过操作系统中的应⽤程序来打开和修改文件系统下的⽂件。 对象存储 :指的是⾯向对象/⽂件的、海量的互联网存储对象。虽然它也是文件,但它是已经被封装的⽂件(编程中的对象就有封装性的特点)。在对象存储系统⾥

centos7下安装postgresql-10数据库

半城伤御伤魂 提交于 2019-12-05 02:21:03
第一步:准备阶段 获取必需软件包: CentOS中查看是否安装了某个软件的命令:rpm -qa | grep 软件名。 which命令可查看某个软件的安装路径。 使用 yum install 包名 来安装软件包。 1.GNU make的版本3.80以上 [root@hadoop-m postgresql-10.3]# rpm -qa | grep make make-3.81-20.el6.x86_64 [root@hadoop-m postgresql-10.3]# make -v GNU Make 3.81 [root@hadoop-m postgresql-10.3]# which gcc /usr/bin/gcc 2.ISO/ANSI编译器,推荐最新版本的GCC [root@hadoop-m postgresql-10.3]# rpm -qa | grep gcc gcc-4.4.7-4.el6.x86_64 libgcc-4.4.7-4.el6.x86_64 gcc-c++-4.4.7-4.el6.x86_64 [root@hadoop-m postgresql-10.3]# gcc -v gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) 3.源码包的解压工具tar,除此之外还有gzip或bzip2 [root@hadoop-m

PHP面试题汇总

别说谁变了你拦得住时间么 提交于 2019-12-05 02:02:31
1、酒店预订怎么实现?怎么设计表 你好,我大概的说下我们的业务流程,我们的业务流程是:用户在网站浏览酒店信息,可以根据地区检索出该地区的酒店信息。列表展示酒店的信息由:酒店的名称,酒店图片,酒店位置,评论人数,评论分数以及最低入住价格。用户选中要入住的酒店进入酒店详情页面,查看酒店的介绍以及酒店的房型列表,用户根据他要入住的时间和离店的时间,检索出这个时间段内的所有可选房型(房间数量-当天的订单-当天未离店订单=剩余房间数量)显示给用户。用户选择好房型后就可以进行下单,要求有订单的开始时间,结束时间,房间数量,住客姓名,抵店时间,联系方式,备注信息等等。 那我的表是这么设计的,总共有6张表,分别是: 用户表user,里面有下面几个字段,(用户编号,用户名称,用户密码,用户联系方式) 酒店表hotel,里面有(酒店编号,酒店名称,酒店图片,评论人数,评论分数,最低入住价格,所在地区) 酒店图片表pic(图片编号,图片地址,图片排序,图片所属酒店) 评论表comment(评论编号,评论内容,评论时间,用户编号,酒店编号) 房型表house(房型编号,床型,早餐,宽带,人数上限,房价,房间数量,最长预定时间) 订单表order(订单编号,开始时间,结束时间,房间数量,住客姓名,最晚抵店时间,联系电话,使用优惠券,备注,订单状态) 以上就是我对这个酒店预订系统的设计 2

(四)Flask 学习 —— 数据库

风格不统一 提交于 2019-12-05 00:57:14
数据库 回顾 在前面的章节中,我们已经创建了登录表单,完成了提交以及验证。在这篇文章中,我们要创建我们的数据库,并设置它,这样我们就可以保存我们的用户。 我们接下来讲述的正是我们上一章离开的地方,所以你可能要确保应用程序 microblog 正确地安装和工作。 从命令行中运行 Python 脚本 在这一章中我们会写一些脚本用来简化数据库的管理。在我们开始编写脚本之前,先来温习下 Python 脚本如何在命令行中执行。 如果你使用 Linux 或者 OS X 系统的话,脚本必须给予一定的权限,像这样: chmod a+x script.py 脚本中有一个 shebang ,它指明应该使用的解释器。一个脚本如果被赋予了执行权限并且有一个 shebang 行能够被简单地像这样执行: ./script.py <arguments> 在 Windows 上,上面的操作是没有作用的,相反你必须提供脚本作为选择的 Python 解释器的一个参数: flask\Scripts\python script.py <arguments> 为了避免键入 Python 解释器的路径,你可以把 microblog/flask/Scripts 加入到系统路径中,但是务必让它在你的 Python 解释器之前。 从现在起,在本教程中的 Linux / OS X 的语法将用于缩写。如果你是在 Windows 上

flask 上传Excel 到数据库

好久不见. 提交于 2019-12-05 00:50:50
前端 <div> <form method="post" enctype="multipart/form-data"> <input class="form-control" type="file" name="file" value="请上传excel文件"> <input type="submit" value="提交"> </form> </div> 后端 import xlrd import pymysql # 建立数据库连接 def sql_func(sql_command): conn = pymysql.connect( host = "39.107.24.78", port = 3306, user = "root", password = "123456", charset = "utf8", database = "flask_test" ) cursor = conn.cursor(pymysql.cursors.DictCursor) # pymysql.cursors.DictCursor 以列表套字典形式返回,默认以元组套元组返回 sql = sql_command cursor.execute(sql) conn.commit() conn.close() def execl_input(info): # 找到文件 # xls = xlrd.open

postgresql学习笔记--基础篇

左心房为你撑大大i 提交于 2019-12-05 00:06:43
1. 客户端程序和服务器端程序 1.1 客户端程序 Command Example Describe clusterdb clusterdb -h pghost1 -p 1921 -d mydb ClusterDB是SQL Cluster的封装,Postgersql是堆表存储的, clusterdb通过索引对数据库中基于堆表的物理文件重新排序, 它在一定场景下可以节省磁盘访问,加速查询速度。 reindexdb reindexdb -e -h pghost1 -p 1921 -d mydb reindexdb是SQL REINDX命令的一个封装。 在索引物理文件发生损坏或者索引膨胀等情况发生时,可以使用reindexdb命令对指定的表或者数据库重建索引并删除旧的索引。 vacuumdb vacuumdb -h pghost1 -p 1921 mydb vacuumdb是POSTGRES数据库独有的VACUUM/VACUUM FREEZE和VACUUM FULL,VACUUM ANALYZE这几个SQL命令的封装。 VACUUM系列命令的主要职责是对物理文件等的垃圾回收。 vacuumlo vacuumlo -h pghost1 -p 1921 mydb vacuumlo用来清理数据库中未引用的大对象。 createdb dropdb createdb -h pghost1 -p