Welcome 微信登录

首页 / 数据库 / MySQL

MongoDB Sharding学习理论篇

MongoDB Sharding学习理论篇

MongoDB Sharding技术是MongoDB为了解决随着数据量的增加和读写请求的增加,单个MongoDB实例无法应对的问题.通过使用Sharding,MongoDB将数据切分成多个部分,将数据分布存放在多个shard上.Sharding技术使单个shard处理请求减少和存储容量减小,同时,随着集群的扩大,整个集群的吞吐量和容量都会扩大.Sharded cluster分片集群有以下几个组件:shards,query routers,config se...
基于innobakcupex跨实例不完全恢复步骤

基于innobakcupex跨实例不完全恢复步骤

MySQL在基于热备的基础上,可以实现对原有实例的完全或不完全恢复。而很多时候,原有实例部署了DRBD或者MHA等,在这种情况下,基于原有实例进行恢复会影响原有的故障现场及架构,可以通过跨实例恢复来恢复丢失或异常数据。同时跨实例恢复也可以实现基于整个实例进行实例级别数据库迁移。下文演示了基于跨实例的不完全恢复。1、主要步骤a、准备新实例b、基于热备做prepare及recoverc、复制完整的备份到新实例(如果跨主机应复制到新主机)d、启动新实例e、根据需...
MySQL和Oracle数据库concat()函数

MySQL和Oracle数据库concat()函数

一、函数的使用参数不同MySQL支持多个字符串拼接:CONCAT(str1,str2,…)Oralce只支持两个字符串的拼接,若想拼接多个字符串可以嵌套使用concatCONCAT(str1,str2)二、参数中有Null的处理方式不同MySQL:返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。Oralce:如有任何一个参数为NULL ,则返回值拼接后的字符串。三、其它方面MySQL:如果所有参数均为非二进...
Redis中有序集合与列表占用内存分析

Redis中有序集合与列表占用内存分析

在说正题之前需要先了解几种定义:字典、压缩列表与跳跃表。字典:非常常见的数据结构,key-value结构。常见的实现有红黑树(stl中的map),哈希表(stl中的unordered_map)。红黑树的查找操作具有O(logN)的时间复杂度。哈希表的查找操作具有O(1)的时间复杂度。 redis中的字典使用哈希表作为底层实现。压缩列表:由一些列特殊编码的连续内存块组成的顺序型数据结构。压缩列表可以包含多种节点(只能保存一种的那叫数组)。 压缩列表的优点是节...
MongoDB 使用副本集备份添加新的辅助副本成员

MongoDB 使用副本集备份添加新的辅助副本成员

问题描述:在生产环境中,当辅助副本成员的读压力很大时,可通过添加新的辅助副本成员来缓解压力。为了能实现主副本成员不停机,并减轻主副本成员的压力,可在辅助副本成员上mongodump备份数据;为了实现新的辅助副本成员的快速恢复,可直接通过以NFS方式挂载辅助副本成员到做备份操作的辅助副本成员上;为了保证数据的一致性,在mongodump数据的时候使用—oplog参数,mongorestore时使用—oplogReplay参数;为了满足...
MongoDB之Linux通用二进制包安装

MongoDB之Linux通用二进制包安装

MongoDB是开源文档数据库,提供共性能、高可用、自动扩展等。MongoDB中记录是文档,其是字段和值组成的对结构。MongoDB文档类似JSON对象,字段的值可以包含其它文档、数组、文档的数组。记录组织成collection,相当于表。参考下图:使用文档的优点是:文档对应很多编程语言的内生数据对象内嵌文档和数组减少了join的开销动态schema支持顺畅多态关键功能:高性能:mongodb提供高性能数据持久。特别是: 支持内嵌数据模型减少了数据库系统的...
Oracle 11g如何清除share pool中某条SQL的执行计划

Oracle 11g如何清除share pool中某条SQL的执行计划

以前在Oracle 10g数据库上,如果遇到绑定窥探导致执行计划慢的情况,想要清除某条SQL的执行计划,让它硬解析,找了很久都没有找到直接操作share pool的方法(总不能alter system flush shared_pool),只能通过对表ddl使SQL硬解析。现在终于找到了,使用sys.dbms_shared_pool.purge,在11g下可以直接使用,但在10g上需要alter session set events "5614566 tr...
Oracle使用临时变量

Oracle使用临时变量

在Oracle数据库中,可以使用变量来编写通用的sql语句,在运行sql语句时,为变量输入值,就会在sql语句中将变量替换成这些值。临时变量只在使用它的sql语句中有效,变量值不能保留,临时变量也称为替换变量。在sql语句中,如果在某个变量前面使用了&符号,那么久表示该变量是一个临时变量,执行sql语句时,系统会提示用户为该变量提供一个具体的数据。例如,在sql*plus中执行以下的命令:SQL> select * from dept whe...
Oracle的Spool命令

Oracle的Spool命令

使用Oracle spool命令实行将sql*plus中的输出的结果复制到一个指定的文件中,或者把查询的结果发送到打印机中,直接使用spool off命令为止。spool命令的语法如下:spool [file_name [create|replace|append] off|out]其中file_name指定一个操作系统文件create将创建一个指定的file_name文件replace如果指定的文件已经存在,则替换该文件append将内容附加到一个已经存...
Oracle中的触发器

Oracle中的触发器

触发器是一种特殊的额存储过程,它在发生某种数据库时间时由Oracle系统自动触发。触发器通常用于加强数据库的完整性约束和业务规则等,对于表来说,触发器可以实现比CHECK约束更为复杂的约束。 Oracle中的触发器的类型主要有DML触发器、替代触发器、系统事件触发器和DDL触发器。触发器的分类DML触发器 DML触发器由DML语句触发,例如INSERT、UPDATE和DELETE语句。 针对所有的DML事件,按照触发器的时间可以将DML触发器分为BEFOR...
<< 831 832 833 834 835 836 837 838 839 840 >>