Database
文章平均质量分 75
zealscott
https://tech.zealscott.com
展开
-
Document-oriented DB:MongoBD(1)
Introduce to Document-oriented Database: MongoBD. Conception Document -> Collection -> Database Example: MongoDB (using in Web App) using B-Tree as storage structure Object Oriented Progr...原创 2018-09-12 19:00:47 · 165 阅读 · 0 评论 -
初始装载
初始装载 在数据仓库可以使用前,需要装载历史数据。这些历史数据是导入进数据仓库的第一个数据集合。 首次装载被称为初始装载,一般是一次性工作。由最终用户来决定有多少历史数据进入数据仓库。例如,数据仓库使用的开始时间是2015年3月1日,而用户希望装载两年的历史数据,那么应该初始装载2013年3月1日到2015年2月28日之间的源数据。在2015年3月2日装载2015年3月1日的数据(假设执行频率是每...原创 2019-06-06 09:52:29 · 260 阅读 · 0 评论 -
Hive使用
使用Hadoop和Hive。 首先,Hive是使用了MapReduce引擎和HDFS存储的中间键,其元数据存储在MySQL,Hive只是方便查询,其数据库中的数据都在HDFS中。 安装Hadoop和Hive 在之前的分布式系统中,已经安装好Hadoop,具体教程可参考这里。 需要注意的是,在Ubuntu下,如果把环境变量放到~/.bash_profile,并不是一个好的选择,因为每次新的ter...原创 2019-05-09 20:49:50 · 323 阅读 · 0 评论 -
日志分析
创建外部表 首先启动gpfdist服务: nohup gpfdist -d /home/dyt/PJ4 -p 9058 -l /home/dyt/PJ4/gpfdist.log & 查看是否启动成功: ps -ef | grep gpfdist 创建外部表 1,123432423,2019-03-15 23:12:25,zsl 2,123657567,2019-03-15 23:12...原创 2019-03-21 09:35:29 · 223 阅读 · 0 评论 -
数据库备份
使用三种不同的备份方法 SQL dump Backup-SQL Dump Dump方法是生成含有SQL命令的文本文件。通过系统中自带的pg_dump指令可以将指定库中的表及其表中的数据以SQL指令的形式dump到一个文件中 pg_dump -hlocalhost -U postgres -p 5432 -d spj -f "D:/test.dmp" 这个命令可以在任意可以连接数据库的远程机...原创 2019-02-28 15:13:21 · 5616 阅读 · 0 评论 -
数据管理系统 入门及实践
本学期上了数据管理系统这门课,主要是以关系数据库为主,并介绍现在流行的NoSQL数据库,以及分布式的NewSQL、数据库基本原理,对我而言帮助很大。 下面将本学期的课程大纲以及Project分享给大家,更多内容我会在我个人博客上持续更新。 Syllabus Lecture Reading Material Hints Notes 1. coding - Creating Great...原创 2019-01-20 21:58:20 · 289 阅读 · 0 评论 -
Flink编程练习(一)
Flink编程练习,NYC出租车数据 环境配置 本项目参考这里,setup。 首先确保已经下载好flink依赖,并从Github下载代码。 下载依赖数据,这里依赖的是纽约出租车数据,可以使用命令行下载: wget http://training.data-artisans.com/trainingData/nycTaxiRides.gz wget http://training.da...原创 2018-12-11 09:57:37 · 1402 阅读 · 0 评论 -
OLTPBenchmark配置及OLTP性能调优
配置OLTPBenchmark并进行性能调优 安装依赖 PostgreSQL 首先安装PostgreSQL,本测试系统为Ubuntu,请参考这里。 您可以通过psql像postgres用户sudo一样运行单个命令来完成此操作,如下所示: sudo -u postgres psql 这会将你直接登录到Postgres中,而不需要中间的bashshell。 同样,您可以键入以下命令退出交互式Pos...原创 2018-12-07 10:33:42 · 1352 阅读 · 0 评论 -
Superset使用
安装并简单使用Superset 安装 本实验在win10环境下完成。 配置 请务必安装了VS(安装了C++依赖包),且使用x64 Native Tools Command Prompt for VS 2017运行以下命令: 安装虚拟环境virtualenv(需要安装Python,并配置环境变量) pip install virtualenv 使用virtualenv。先在E盘建...原创 2018-12-02 10:09:10 · 683 阅读 · 0 评论 -
Hibernate多对多关系
使用注解用Hibernate自动创建多对多数据表。 之前我们用hibernate连接已经创建的数据表,并避免了直接写SQL语言。 同样,对于多对多的关系映射,我们可以直接在程序中定义这种对象的关系,然后JPA会自动帮助我们创建表和相关关系。 创建项目 与之前一样,创建Hibernate项目。 需要额外注意,JDK9以上需要添加JPA额外的包才不会报错,具体请参考这里。 同时,将Postgres...原创 2018-11-16 10:32:36 · 140 阅读 · 0 评论 -
关系数据库规范化
如何设计关系数据库的各个表,减少数据冗余? 数据库范式化 目的 减少数据中重复和冗余 冗余带来的问题 额外的存储开销 语义不清晰 数据增删改的麻烦 程序员必须知道容易的存在 应用程序与数据库之间的关系复杂化 在关系数据库的理念中,好的模式设计应该避免冗余 性能问题应该交给物理层来解决 但对于实际问题中,很难做到 第一范式 只要满足关系的定义(笛卡尔积的子集),则满足...原创 2018-10-28 15:50:59 · 200 阅读 · 0 评论 -
SQL(1)
Structured Query Language SQL 1974 年诞生于 IBM System-R项目 前称SEQUEL (Structured English Query Language) 声明式查询语言,易用,取代关系演算 Relational Calculus -> Relational Algebra Relational -> Relational Alge...原创 2018-10-10 15:00:20 · 157 阅读 · 0 评论 -
使用PostgreSQL进行复杂查询
SQL复杂查询与视图。 数据说明 现在有一个spj数据库,其中有四个表,分别为: S P J SPJ 供应商代码表 零件表 工程项目表 供应情况表 SQL查询 创建视图 将零件表P表与供应情况SPJ表、供应商S表结合,得到零件与供应商的关系: CREATE VIEW P_S AS SELECT P.PNO,PNAME,COLOR,WEIGHT,S.SNO,JNO,QTY,S...原创 2018-10-19 09:07:59 · 2541 阅读 · 0 评论 -
SQL(2)
介绍多表查询等复杂SQL语句。 关系数据库的查询结果都是一个结果表(也是关系) 集聚函数 基本语法 统计元组个数 COUNT(*) 统计一列中值的个数 COUNT([DISTINCT|ALL]<列名>) 计算一列值的总和(此列必须为数值型) SUM([DISTINCT|ALL]<列名>) 计算一列值的平均值(此列必须为数值型) AVG([DISTIN...原创 2018-10-15 19:46:50 · 241 阅读 · 0 评论 -
SQL(3)--视图与索引
介绍数据修改的SQL语句以及视图与索引。 数据修改 三种修改方式: 修改某一个元组的值 /* 将学生201215121的年龄改为22岁 */ UPDATE Student SET Sage=22 WHERE Sno=' 201215121 '; 修改多个元组的值 /* 将所有学生的年龄增加1岁 */ UPDATE Student SET Sage= Sage+1; 带子查询...原创 2018-10-18 20:30:57 · 213 阅读 · 0 评论 -
数据模型
What is a good data model? 数据模型 数据的逻辑组织方式(数据的基本结构和结构的语义) 文档模型(MongoDB 2000s) 关系模型(SQL DB 1970s~80s) 层次模型(IBM IMS 1960s) 网状模型(GE IDS 1960s) 数据模型决定了数据的访问形式(接口),因此决定了系统的功能性和易用性。 Schema 对数据库中数据的结构性...原创 2018-10-08 22:22:27 · 218 阅读 · 0 评论 -
存储的正确性
数据不会被恶意串改和删除(一般不在数据库中考虑) 在发生宕机、磁盘损坏或其他意外时,数据完好 在程序出错的情况下,数据不被损坏(很难补救) 如何衡量? 一个CRUD操作成功,将永久性生效(Durability) 除了read,其余操作为导致状态转移 任何一个CRUD操作都将被正确的执行 逻辑上不出错 原子性(Atomicity) 一个操作在瞬间完成 只有完成和未完成两种可能 ...原创 2018-09-23 21:58:09 · 210 阅读 · 0 评论 -
高可用性
High availability - fault tolerant Useful link Raft algorthem visualization of Raft original paper zh_cn version work using Redundancy and Replication to reach fault tolerant Raft key point lead...原创 2018-09-23 20:56:32 · 214 阅读 · 0 评论 -
Hive优化
Hive简单优化与定期ETL Hive优化 Hive的执行依赖于底层的MapReduce作业,因此对Hadoop作业的优化或者对MapReduce作业的调整是提高Hive性能的基础。 大多数情况下,用户不需要了解Hive内部是如何工作的。但是当对Hive具有越来越多的经验后,学习一些Hive的底层实现细节和优化知识,会让用户更加高效地使用Hive。如果没有适当的调整,那么即使查询Hive中的一...原创 2019-06-14 18:35:47 · 184 阅读 · 0 评论