Welcome 微信登录

首页 / 数据库 / MySQL

如何设计MongoDB数据模型

如何设计MongoDB数据模型

有效的数据模型是为应用服务的,设计构架的关键问题是文档模型适合使用嵌入式模型(embed)还是使用引用模型(references)。嵌入式数据模型(Embedded Data Models)在MongoDB中,你可能将相关数据嵌入到一个单一结构或文档,这些模式通常被称为“非正规”模型,但是它充分利用了MongoDB富文档模型的有点。嵌入式数据模型允许应用程序存储相关的信息在一条数据库记录中,这样应用程序可能需要更少的查询和更新来完成...
简要介绍MongoDB的数据模型

简要介绍MongoDB的数据模型

MongoDB数据是特别灵活的,与SQL数据库相比,它不需要在插入数据前先定义表的结构。MongoDB的集合不强调固定的文档结构。这种灵活性使它能够轻松映射文档结构。每一个文档都可以映射它要表达的对象,即使这些数据有实质性的不同。其实在实际中,同一集合下的文档通常采用相似的结构。MongoDB数据建模的主要问题时在应用程序的需求,数据库引擎的性能特性和数据检索模型之间做一个平衡。设计数据模型是,总是要考虑应用程序使用到的数据(查询、更新以及需要处理的数据等...
使用 sysbench 0.5 测试 MySQL 的性能

使用 sysbench 0.5 测试 MySQL 的性能

鉴于最近对OpenStack的兴趣和激情,我想要确保我可以做恰当的系统性能评估。我主要开始转向sysbench,是因为它带来一系列丰富的针对不同层面的测试(通过 -test=option 来获知),包括有:fileio - 文件 I/O测试cpu - CPU系能测试memory - 内存功能速度测试threads - 线程子系统系能测试mutex - 互斥性能测试正如你所看到的的,sysbench将让你的心思着重放在你的硬件和基础架构的许多基础组件上,例如...
PostgreSQL复制集群概要

PostgreSQL复制集群概要

PostgreSQ的复制、高可用、负载均衡相关集群,这儿写个概要备查。PostgreSQ有以下各种基于复制的集群方案,多数配过,有的当时没有整理。现在网上也有很多这些集群配置的文档,在这篇文档后找完备点的集中一下备档,不用每次用时到处查。基于流复制的功能内置、触发器主从复制slony,基于sql复制的PostgreSQpool-II,其它如同步多主复制EDB MMR(这个也支持异步复制,玩过的时间有点长了,后面要找到当年记录再总结),异步多主复制Bucar...
MySQL 数据库简单操作

MySQL 数据库简单操作

对于想要从事或爱好mysql相关工作的童鞋们,有必要掌握在命令行下对mysql实现一些简单的操作。本文从描述了如何登录到mysql数据库服务器,如何在mysql提示符下发布命令,创建数据库,以及执行一些简单的DML操作。1、连接到与退出mysql为了连接mysql数据库服务器,当调用mysql时,通常需要提供一个MySQL用户名并且很可能需要一个密码。如果服务器运行在登录服务器之外的其它机器上,还需要指定主机名。联系管理员以找出进行连接所使用的参数 (即,...
Sqoop1.4.4 实现将 Oracle10g 中的增量数据导入 Hive0.13.1 ,并更新Hive中的主表

Sqoop1.4.4 实现将 Oracle10g 中的增量数据导入 Hive0.13.1 ,并更新Hive中的主表

需求将Oracle中的业务基础表增量数据导入Hive中,与当前的全量表合并为最新的全量表。设计涉及的三张表:全量表:保存了截止上一次同步时间的全量基础数据表增量表:增量临时表更新后的全量表:更新后的全量数据表步骤:通过Sqoop将Oracle中的表导入Hive,模拟全量表和增量表通过Hive将“全量表+增量表”合并为“更新后的全量表”,覆盖当前的全量表步骤1:通过Sqoop将Oracle中表的导入Hive,模...
Linux下构建MySQL集群

Linux下构建MySQL集群

一、目标1.安装MySQL-Cluster相关软件包。2.依次配置管理/数据/SQL节点。3.启动并测试MySQL-Cluster集群架构。二、方案使用6台RHEL 6.5虚拟机,如图所示。其中sql1和sql2作为SQL节点,ndb1和ndb2作为数据节点,mgmsvr作为管理节点,这5个构成MySQL集群体系的5个节点应安装Cluster版的MySQL相关软件包;测试用的Linux客户机只需安装普通版的MySQL-client即可。----------...
简单分析Oracle的数据存储

简单分析Oracle的数据存储

在数据库的存储结构中,我们知道一般来说一个表都存储在对应的数据文件里,数据文件可以分为多个段,一般来说一个表会对应一个数据段,单纯考虑数据段的时候,数据段又可以分为多个区,每个区都可以分为若干个数据块,在操作系统层面,有对应的数据块和数据库层面的数据块有一个映射,可以打个比方来说,一栋大楼里面可以有很多的楼层,每个楼层可能都有不同的公司,这样来考虑,这栋大楼就类似数据文件,楼的每一层就类似一个数据段,每一层比方最多可以有4家公司,一家公司有40个人,有的公...
通过shell脚本来查看Undo中资源消耗高的SQL

通过shell脚本来查看Undo中资源消耗高的SQL

在查看undo的使用率的时候,在Undo_management为auto的时候,经常会看到undo自己在不断的伸缩扩展,自我调节。有时候看到Undo收缩的很紧,就想知道哪些sql语句在运行,可能有哪些潜在的问题。对于在线业务系统而言,如果某一条sql语句运行时间较长,而且消耗的undo资源极高的情况下,sql语句很可能是有问题的。可以通过如下的sql语句来简单定位,找到一个sql_id列表,可以看到每个sql_id消耗的Undo资源情况。sqlplus -...
通过shell检查Oracle分区表中是否含有默认分区

通过shell检查Oracle分区表中是否含有默认分区

在大数据量的系统中,分区表是很常见的,分区有多种类型,可以根据业务来选择自己需要的分区,不过为了数据的兼容性,需要考虑对于分区表设定一个默认的表分区,如果数据在插入表分区的时候,没有符合条件的分区,就会插入默认的表分区中。这个可以根据自己的需要来设定,如果确实对数据有严格的要求,甚至可以要求不加入默认的分区。以下的脚本会去"扫描"分区的信息,如果检测到没有默认的分区,就会生成对应的脚本。可以根据自己的情况来决定是否需要加入分区。sqlplus -s $1/...
<< 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 >>