Claus's Tech Blog

leave me alone i know what to do


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

MongoDB CRUD 快速复习

发表于 2017-06-28 | 更新于 2018-04-04 | 阅读次数
| 字数统计 841 字

提到数据库的基本操作,无论关系型还是非关系型,首先想到的肯定是数据的增删改查 (Create, Read, Update, Delete),下面记录一下MongoDB里面的CRUD操作。

阅读全文 »

MongoDB 基础知识

发表于 2017-06-27 | 更新于 2018-04-04 | 阅读次数
| 字数统计 882 字

MongoDB 是一个基于 分布式文件存储 的数据库。由 C++ 语言编写。

MongoDB 相关概念

mongodb中基本的概念是文档、集合、数据库,和传统关系型数据库相关概念的对应关系如下表:

RDBMS MongoDB 描述
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins MongoDB可以使用DbRef或者$lookup实现
primary key primary key 主键,MongoDB自动将_id字段设置为主键
阅读全文 »

SQL Server Slide Window partition

发表于 2017-06-22 | 更新于 2017-06-28 | 阅读次数
| 字数统计 1,922 字

上篇文章详细介绍了表分区的概念和如何创建分区表。

一个分区表创建好之后,随着数据量的逐渐增长,历史数据越来越不受待见:查询和更新频率越来越低,那么把这些历史数据进行归档就十分必要了。如果使用常规的SELECT、INSERT、DELETE进行历史数据归档的话,会出现以下的一系列问题:

  • DELETE效率太低

    由于DELETE单个语句是一个事务性的语句,要么全部成功,要么全部失败。那么可想如果删除的是亿级别的数据,那么日志增长,IO负荷非常的大。

  • 迁移过程表会被锁住,这样可能会出现死锁,一旦迁移失败,又会造成更大的IO问题。

这时候,在SQL Server中分区表有一个非常实用的语句 ALTER TABLE …SWITCH,这个DDL可以快速的将同文件组的表的某个分区迅速的转移到另外的表。这个是利用数据的位置偏移量的指针的转移到新表的方法来实现的。这种方案转移数据非常快。

阅读全文 »

SQL Server表分区

发表于 2017-06-21 | 更新于 2018-04-04 | 阅读次数
| 字数统计 2,634 字

某种特定业务下,部分业务数据可能只保留比较短的时间,例如每日的流量日志数据,可能每天亿级别的数据增长,随着数据量的逐渐增长,你会发现数据库能性能越来越慢,查询速度会明显变慢,而这时要想提高数据库的查询速度,你肯定会想到索引这种方式,但是随着索引的引入,数据的插入和更新也会变慢,因为在数据插入的时候,索引也是需要重建的。那怎么办呢? (其实我觉得这种应用场景更好的解决方法是用流式处理的方式)

一个最简单的解决方法就是把一个大表拆分成多个小表,这个就叫做表分区,表分区有两种:

  • 水平分区 (行级)
  • 垂直分区 (列级)

下面主要说的是水平分区。

表分区有以下优点:

  1. 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。
  2. 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;
  3. 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;
  4. 均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能。

分区表是把数据按某种标准划分成区域存储在不同的文件组中,使用分区可以快速而有效地管理和访问数据子集,从而使大型表或索引更易于管理。合理的使用分区会很大程度上提高数据库的性能。

创建分区需要如下个步骤:

  1. 创建文件组
  2. 创建分区函数
  3. 创建分区方案
  4. 创建或者修改使用分区方案的表
阅读全文 »

堆栈和队列

发表于 2017-06-13 | 更新于 2018-04-04 | 阅读次数
| 字数统计 171 字

栈 (Stack)是一种后进先出(last in first off,LIFO)的数据结构

队列(Queue)则是一种先进先出 (fisrt in first out,FIFO)的结构

Stack_Queue

阅读全文 »
1…678…15
Shuo Lv

Shuo Lv

72 日志
15 分类
50 标签
GitHub Weibo 知乎 LinkedIn Facebook
友情链接
  • 公式编辑器
  • 可视化Python代码
  • Python最佳实践
© 2015 - 2018 Shuo Lv
由 Hexo 强力驱动
主题 - NexT.Pisces