信息存储

数据库设计方法、规范与技巧

风流意气都作罢 提交于 2020-03-30 06:22:27
一、数据库设计过程   数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。   数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。   1. 需求分析阶段   需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。   需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。   需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。   常用的调查方法有: 跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。   分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis

Microsoft Sync Framework基础篇 3:Microsoft Sync Framework元数据和同步流程

梦想的初衷 提交于 2020-03-28 20:10:51
Microsoft Sync Framework元数据和同步流程 元数据(Metadata) Microsoft Sync Framework为脱机和协作的应用程序、数据存储和设备提供了一个完整的同步平台,而不用考虑如下限制: 同步的数据类型 数据存储的类型 传输协议 网络拓扑比如点对点或客户端-服务器拓扑 相反,Sync Framework通过一个通用的元数据模型来允许Sync Framework完成下面的工作: 实现同步过程的互操作性 减少在两个参与同步的data stores之间的数据传输量 使同步独立于任何网络拓扑、数据类型、数据存储和传输协议 在本篇博客中,我们将详细的了解和学习通用的元数据模型以及它的组件,当然,我们也会讨论Sync Framework如何使用元数据来同步不同的数据存储和副本。 什么是元数据 从字面意义上看,元数据是“关于数据的数据”。而Microsoft Sync Framework中使用的元数据包含两种类型: 副本元数据(Replica metadata) 项目元数据(Item metadata) 在Sync Framework中,副本通常是指真正的数据存储。比如,如果我们在同步两个数据库,那么每个数据库都是一个副本,副本可以包含项目。比如,对于数据库,一个项目可以是表中的一条记录。 要同步两个副本, Sync

MySQL存储引擎介绍

狂风中的少年 提交于 2020-03-28 07:43:50
一 存储引擎解释   首先确定一点,存储引擎的概念是MySQL里面才有的,不是所有的关系型数据库都有存储引擎这个概念,后面我们还会说,但是现在要确定这一点。     在讲清楚什么是存储引擎之前,我们先来个比喻,我们都知道录制一个视频文件,可以转换成不同的格式,例如mp4,avi,wmv等,而存在我们电脑的磁盘上也会存在于不同类型的文件系统中如windows里常见的ntfs、fat32,存在于linux里常见的ext3,ext4,xfs,但是,给我们或者用户看懂实际视频内容都是一样的。直观区别是,占用系统的空间大小与清晰程度可能不一样。 那么数据库表里的数据存储在数据库里及磁盘上和上述的视频格式及存储磁盘文件的系统格式特征类似,也有很多种存储方式。   但是对于用户和应用程序来说同样一张表的数据,无论用什么引擎来存储,用户能够看到的数据是一样的。不同储引擎存取,引擎功能,占用空间大小,读取性能等可能有区别。说白了,存储引擎就是在如何存储数据、提取数据、更新数据等技术方法的实现上,底层的实现方式不同,那么就会呈现出不同存储引擎有着一些自己独有的特点和功能,对应着不同的存取机制。   因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即:对表的存储、操作等的实现方法不同),表是什么,表本质上就是磁盘上的文件。   其实MySQL支持多种存储引擎

数据结构--线性表之顺序表

假装没事ソ 提交于 2020-03-28 06:53:13
一、引入问题 在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。 对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。 这样的一组序列元素的组织形式,我们可以将其抽象为 线性表 。一个线性表是某类元素的一个集合,还记录着元素之间的一种顺序关系。线性表是最基本的数据结构之一。 二、顺序表概念 将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示 三、顺序表的基本形式 1、顺序表的基本形式: 数据元素本身连续存储,每个元素所占的存储单元大小固定相同,元素的下标是其逻辑地址,而元素存储的物理地址(实际内存地址)可以通过存储区的起始地址Loc (e0)加上逻辑地址(第i个元素)与存储单元大小(c)的乘积计算而得,即:         Loc(ei) = Loc(e0) + c*i 故,访问指定元素时无需从头遍历,通过计算便可获得对应地址,其时间复杂度为O(1)。 2、顺序表的元素外置形式: 如果元素的大小不统一,则须采用图b的元素外置的形式,将实际数据元素另行存储,而顺序表中各单元位置保存对应元素的地址信息(即链接)

登录信息localStorage存储

天大地大妈咪最大 提交于 2020-03-27 15:31:04
localStorage拓展了cookie的4K限制,与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空。 1.存储 window.localStorage.setItem("user",JSON.stringify(res)) 2.取值: 3.删除某个值: window.localStorage.removeItem('user.name') var user = JSON.parse(localStorage.getItem('user')) 4..全部删除 window.localStorage.clear() 来源: https://www.cnblogs.com/wd163/p/12581193.html

hbase 面试问题汇总

夙愿已清 提交于 2020-03-26 23:38:37
一、Hbase的六大特点: (1)、表大:一个表可以有数亿行,上百万列。 (2)、无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态增加,同一个表中的不同行的可以有截然不同的列。 (3)、面向列:HBase是面向列的的存储和权限控制,列族独立索引。 (4)、稀疏:空(null)列并不占用空间,表可以设计的非常稀疏。 (5)、数据类型单一:HBase中的数据都是字符串,没有类型。 (6)、数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳。 二、Hbase与Hive的对比: (1)、整体对比: (2)、Hive是一种构建在Hadoop基础设施之上的数据仓库,通过Hive可以使用HQL语言查询存放在HDFS上面的数据。HBase能够在它的数据库上面实时运行,HBase被分区为表格,表格有进一步分割为列簇,列族必须需要用schema定义。一个列簇可以包含很多列,每个key/value在HBase中都被定义成一个cell,每一个cell都有一个rowkey,一个columnFamily,一个value值,一个timestamp。rowkey不能为空且唯一。 (3)、Hive把HQL解析成MR程序,因为它是兼容JDBC,所有可以和很多JDBC程序做集成,它只能做离线查询,不能做实时查询,默认查询Hive是查询所有的数据

浅析Cookie、Session以及Token机制

最后都变了- 提交于 2020-03-25 02:41:56
一、前言   这篇博客来谈一谈 Web 应用中广泛使用的 Cookie 、 Session 以及 Token 机制,它们在 Web 应用中起着至关重要的作用,同时也是面试中的高频考点。这篇博客我主要来介绍一下这三种东西的相关概念和它们实现的原理,以及它们之间的区别。 二、正文   2.1 为什么需要它们   首先来说第一个问题,我们为什么需要这三样东西?稍微了解过 HTTP 的应该知道, HTTP 协议是一个无状态的协议。什么是无状态?就是说, HTTP 服务器对每一条请求一视同仁,不会记录每一条请求的状态,比如是由谁发出的,所有的请求对它来说都是陌生的。就算你连续向同一个服务器发送两条请求,对它来说,这也是两条完全不相关的请求。但是,我们会发现这样一个现象,当我们在一个网站登录后,服务器就好像认识了我们,我们发送出去的请求,都能得到与我们自身相关的响应。比如说我们在淘宝登录后,点击购物车,就能够看见我们自己加入的商品;而如果我们没有登录,就会被拦截下来,跳转到登录页面。这是为什么呢?不是说 HTTP 是无状态的吗。其实,这就是依赖于上面的三种机制。   2.2 Cookie    Cookie 其实就是浏览器保存在电脑中的一些文本数据,它们都是 key-value 形式的,其中包含了我们自己以及服务器的一些信息。当我们向一个服务器发送请求时,服务器可能希望我们在本地保存一些数据

Linux 计算机基础

Deadly 提交于 2020-03-23 09:51:35
LINUX 计算机基础简介 1.计算机简介 计算机系统 : 软件系统和硬件系统。 计算机的组成 : 运算器、控制器、存储器、输入设备、输出设备。 运算器功能 : 对数据进行各种运算。除了对常规的加、减、乘、除运算外,还可以进行对与、或、非的逻辑运算。 控制器功能 : 是整个计算机系统的控制中心,指挥计算机协调运作。 存储器: 主要存储程序和数据信息,并能在计算机运作时,能高速、自动存取程序或数据。 输入设备: 向计算机输入各种程序和原始数据的设备。 输出设备 : 从计算机输出原始数据的设备。 2.描述内核功能以及作用 Linux 作用 : 主要负责系统的进程管理、内存管理、文件系统、网络功能、硬件驱动。 1)进程管理: 内核负责创建和销毁进程, 并处理进程与输入和输出设备的不同进程间的数据处理, 调度器,控制进程如何共享 CPU, 是进程管理的一部分. 更通常地, 内核的进程管理活动实现了多个进程在一个单个或者几个 CPU 之上的抽象。 2)内存管理: 计算机的内存是主要的资源, 处理它所用的策略对系统性能是至关重要的. 内核为所有进程的每一个都在有限的可用资源上建立了一个虚拟地址空间. 内核的不同部分与内存管理子系统通过一套函数调用交互, 从简单的 malloc/free 对到更多更复杂的功能。 3) 文件系统: Unix 在很大程度 上基于文件系统的概念; 几乎 Unix

HBase架构原理

坚强是说给别人听的谎言 提交于 2020-03-23 07:12:09
一、什么是HBase HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价的PC Server上搭建大规模结构化存储集群。 HBase是Google BigTable的开源实现,与Google BigTable利用GFS作为其文件存储系统类似,HBase利用Hadoop HDFS作为其文件存储系统;    Google运行MapReduce来处理BigTable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据; Google BigTable利用Chubby作为协同服务,HBase利用Zookeeper作为协同服务。 二、HBase设计模型 HBase中的每一张表就是所谓的BigTable。BigTable会存储一系列的行记录,行记录有三个基本类型的定义: RowKey 是行在BigTable中的唯一标识。 TimeStamp: 是每一次数据操作对应关联的时间戳,可以看作SVN的版本。 Column: 定义为<family>:<label>,通过这两部分可以指定唯一的数据的存储列,family的定义和修改需要对HBase进行类似于DB的DDL操作, 而label,不需要定义直接可以使用,这也为动态定制列提供了一种手段。family另一个作用体现在物理存储优化读写操作上,同family

数据库设计方法、规范与技巧

牧云@^-^@ 提交于 2020-03-22 15:09:10
本文链接: http://www.openphp.cn/index.php/art.../100/index.html 一、数据库设计过程   数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。   数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。   1. 需求分析阶段   需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。   需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。   需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。   常用的调查方法有: 跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。