大数据时代的数据管理艺术:从安装部署到深度优化
在数字化浪潮中,数据已成为企业最宝贵的资产之一。如何高效地管理、存储和利用这些数据,成为技术人员面临的重要课题。本文将通过几个具体的技术案例,带您深入了解大数据管理的实践艺术。MongoDB企业版部署实践在实际生产环境中,数据库的安装部署往往不像官方文档描述的那么简单。以在SLES 11.3系统上安装MongoDB Enterprise 3.4.6为例,由于企业服务器通常无法直接访问外网,技术人员
大数据存储技术:从传统数据库到NoSQL的演进之路
在信息技术飞速发展的今天,我们正处在一个数据爆炸的时代。每天,全球产生着数以亿计的数据,从社交媒体的每一条动态,到电商平台的每一次交易,从物联网设备的实时监测,到企业运营的业务记录。这些海量数据的存储和处理,催生了大数据技术的蓬勃发展。本文将带您了解大数据存储技术的演进历程,特别是传统关系型数据库与新兴NoSQL数据库的技术特点。数据管理的时代变迁回顾计算机技术的发展历程,数据管理方式经历了从文件
大数据时代的数据存储选择:MongoDB与SQL Server的比较
在数字化浪潮席卷全球的今天,数据已经成为新时代的"石油"。如何高效地存储和管理这些数据,成为企业和开发者面临的重要课题。在数据库领域,MongoDB和SQL Server代表着两种不同的技术路线,它们各自有着独特的设计理念和适用场景。传统与创新的碰撞SQL Server是关系型数据库的典型代表,诞生于上世纪80年代,历经数十年的发展,已经成为企业级应用的重要支柱。它采用严格的结
在SLES 11.3上安装MongoDB Enterprise 3.4.6
///////////////////// MongoDB安装///////////////////这里采用rpm包离线安装的方法,并非官方文档中介绍使用http的联网安装方法,因为很多情况下服务器是直连外网会有很多限制===从MongoDB官网下载四个rpm包,网址是https://repo.mongodb.com/zypper/suse/11/mongodb-enterprise/3.4/x86_64/RPMS/mongodb-enterprise...
Oracle层次查询中connect_by_iscycle伪列的取值研究
这半年过的很充实,无暇顾及blog,还好阔别不长,兴致未减。表里的记录若存在上下级关系,借助层次查询(Hierarchical query)能将记录按照树状形式输出,关于层次查询这里不展开介绍。我们要研究的是当表中的上下级记录之间存在循环关系时,oracle是如何把这些引起循环的行标记出来的。#####创建测试用表...
commit操作是否一定会被记录到redo等问题的研究
网上已有不少介绍与分析redolog dump的技术讨论,关于这部分基础知识可以参考网上内容。本文的测试案例旨在回答以下几个问题:DDL语句对应的更改在Redo里是以何种形式进行记录的?merge命令产生的修改在Redo里是以何种形式进行记录的?commit操作一定会被记录在redo里吗?//////////////////// redolog如何记载DDL...
如何根据索引叶块里的rowid信息找到对应的数据行
我们知道索引叶块中保存的内容是"被索引的字段值+rowid",我们如何使用这个rowid找到对应的数据行?###创建测试用表和索引col segment_name format a40col object_name format a40set linesize 80select table_name,index_name from dba_indexes where table_name='T1123_1';TABLE_NAME &nbs...
serializable隔离级别下事务特性的几个小测试
oracle里事务的隔离级别主要有以下三类:Read CommittedSerializableRead-only隔离级别可以在会话、事务两个级别上进行设定:———会话级别设定alter session set isolation_level=read committed; alter session set isolation_level=serializable;注:read only无法在会话级别进行设定———事务级...
外键没有索引哪些DML操作会被阻塞
通过主外键关联的两张表,除非永远不对主表的主键字段作update、delete操作,否则oracle会推荐在子表的外键上建索引。为何要在外键上建索引,不建索引会有产生哪些负面影响,我们就来测试一下###准备好测试用的表create table t1010_pk1 (id number,pcol varchar2(1)) tablespace test;alter table t1010_pk1 add con...
那些你眼熟的global cache等待事件是如何被触发的(一)
如果用过RAC那么你一定见到过这些等待事件:gc buffer busy acquire/release、gc cr/current block 2-way、gc cr/current block busy ..... 不一一列举了。对于这些事件的具体含义网上资料不少,因此不作深入介绍,本文关注的是这类等待事件在何种情况下会出现,设计了部分场景尽可能的模拟出这些等待#########要用到的...
初探Cache Fusion对block的锁管理
本文以双节点RAC为例,揭示了在执行select及DML操作过程中,Cache Fusion在幕后是如何对block进行锁管理的。###实例1上查询scott.t0820_1表select * from scott.t0820_1; ID---------- 2select dbms_rowid.rowid_relative_fno(rowid) rfno,dbms_rowi...
探究隐含参数_fairness_threshold
首先说明_fairness_threshold参数仅在RAC环境下才有意义,让我对这个参数引起关注是在某一次查询v$cr_block_server时,发现该视图有一个名为FAIRNESS_DOWN_CONVERTS的字段,官方文档里将其解释为:Number of times an instance receiving a request has down-converted an X lock on a block because it was not modifying...
函数索引可能使VPD形同虚设的一则警示
当需要对部分用户屏蔽掉表中的敏感记录时,我们往往会使用VPD,比如下面这个例子中我们想屏蔽掉user_id<30的所有记录--connect as sysdbacreate user vpd1 identified by "123456" default tablespace test1;grant execute on dbms_rls to vpd1;grant create any context to vpd1;grant resource,create session to ...
linux上设置大内存页解决kswapd0进程过渡消耗cpusys的问题
环境:SLES11 SP4 + oracle 11.2.0.4新搭建测试数据库,跑了两天左右发现一个名为kswapd0的进程竟然占用了1个cpu资源(该主机一共只有2个cpu),而且几乎都耗在cpusys上。如下图所示:图1网上搜索得知kswapd0是一个内核进程,用来处理页的交换,当OS的可用内存小于阀值时,kswapd会将部分进程的页从物理内存交换到...
图解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安装与部署
本文分为8个部分,以图文并茂的形式介绍了如何在VirtualBOX上安装与部署SLES11SP3+Oracle 11gR2 RAC环境,旨在给有类似部署需求的读者作参考。第一部分:安装SLES 11第二部分:安装完成后的基本配置第三部分:创建RAC安装所需要的目录和用户第四部分:安装 RAC前的预配置工作第五部分:cl...
分析解决11gR2 双节点RAC环境下的gc cr block busy/gc buffer busy acquire等待
? 系统环境两节点的RAC:AIX6.1+Oracle 11.2.0.3.3 ? AWR里展示出来的各种症状(数据来自实例2)虽然应用没有报障,但AWR报告里的各种迹象已经很明显了(1) gcbuffer busy acquire排进了Top 5 Timed Foreground Events图-1...
create index...online操作过程中会申请持有哪些锁
11g下,在给表创建索引时如果加上online选项,不会阻塞同时进行的DML操作,相当给力的一个功能。与不带online的索引创建方式相比在锁的申请与持有机制上有何区别,我们来比较一下###创建测试表sqlplus ad/Uiop246!create table t0528_1 as select * from all_users;select object_id from dba_objects where ob...
oracle 11g下如何捕捉library cache对象执行时产生的lock、pin等信息
我们知道使用10049 event可以跟踪语句执行过程中在library cache对象上产生的lock和pin的动作,但此方法仅在Oracle 10g版本下有效,11g下另有他法。先来回顾一下10g里是怎么做的//////////////////////////// ORACLE 10gR2 下的测试//////////////////////////###创建测试表,执行测试SQL语句drop table t2;crea...
select会访问buffer cache里哪种类型的data block,XCUR还是CR?
当我们以select一张表的时候,如果data block没有在buffer cache里,这个block就会被server process从磁盘读取到buffer cache;如果能在buffer cache里找到那么直接访问即可;v$bh.status表示了buffer cache里block的类型,常见的有以下几种crfree pi <---RAC环境下才有read s...
最近的一次ASM diskgroup在线迁移记录
目的:一套11.2.0.4 双节点的RAC当前使用的是阵列里的FC(Fibre channel)盘,运行一段时间后发现数据库比较空闲,所以打算将其迁移到同阵列的SATA盘上,以将FC盘预留给对IO要求更高的应用。迁移方法:由ASM实现存储管理的数据库,使用ASM diskgroup在线迁移方式是再好不过的选择挑战:难度虽然不大,但前一次做diskgroup...