数据库/NoSql
文章平均质量分 77
超级谷歌
职业经历: 软件工程师->项目主管->架构师->技术经理。
目前专注于电子商务领域,大数据,云计算。并时常关注新技术,新领域的发展动态。
展开
-
ORA-24550 Signal Received Error的解决方法
oracle RAC结构。网上的说法各种。ORA-24550 Signal Received Error From Client Based Application [ID 1284564.1] 修改时间 01-JUL-2011 类型 PROBLEM 状态 MODERATED In this Document Symptoms Changes Cause原创 2015-01-07 16:17:13 · 9828 阅读 · 2 评论 -
列转行-行列转换
有多种实现方式:wmsys.wm_concat函数也可以用decode函数实现.11g可以 使用pivot存储过程实现 eg:我现在的表如下:产品名称 销售额 季度奶酪 50 第一季度奶酪 60 第二季度啤酒 50 第二季度啤酒 80 第四原创 2013-01-06 09:56:13 · 3112 阅读 · 0 评论 -
Oracle 索引 详解
http://blog.csdn.net/tianlesoftware/article/details/5347098一.索引介绍1.1 索引的创建语法:CREATE UNIUQE | BITMAP INDEX . ON . ( | ASC | DESC, | ASC | DESC,...) TABLES转载 2012-11-23 12:11:45 · 1126 阅读 · 0 评论 -
Oracle Merge 语言使用
动机:想在Oracle中用一条SQL语句直接进行Insert/Update的操作。说明:在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也就是说当存在记录时,就更新(Update),不存在数据时,就插入(Insert)。 Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作.转载 2012-11-20 12:14:00 · 997 阅读 · 0 评论 -
oracle表分区详解
一、Oracle分区简介ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。二、Oracle分区优缺点原创 2012-11-15 21:00:47 · 2523 阅读 · 1 评论 -
Oracle 优化器
一、优化器基本知识Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。相信你一定会用Pl/sql Developer、Toad等工具去看一个语句的执行计划,不过你可能对Rule、Ch原创 2012-11-15 09:18:29 · 6081 阅读 · 0 评论 -
oracle hint
Hint概述基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从 而使语句高效的运行。例如,如果我们认为对于一个特定的语句,执行全表扫描要比执行索引扫描更有效,则我们就可以指示优化器使用全表原创 2012-11-15 09:20:54 · 4878 阅读 · 0 评论 -
NoSQL开篇——为什么要使用NoSQL
http://nosql-database.org/NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面。今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于NoSQL方面的经验和体会。非常荣幸能受邀在InfoQ开辟这样一个关于NoSQL的专栏,InfoQ是我非常尊重的一家技术媒体,同时我也希望借助转载 2012-10-28 19:41:12 · 3319 阅读 · 1 评论 -
8种Nosql数据库系统对比
虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破。这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举。但是NoSQL数据库之间的不同,远超过两 SQL数据库之间的差别。这意味着软件架构师更应该在项目开始时就选择好一个适合的 NoSQL数据库。针对这种情况,这里对Cassandra、 Mongodb、CouchDB、Redis、原创 2012-10-28 19:43:21 · 1182 阅读 · 1 评论 -
什么是元数据 (MetaData)
什么是元数据? 元数据(Meta Date),关于数据的数据或者叫做用来描述数据的数据或者叫做信息的信息。 这些定义都很是抽象,我们可以把元数据简单的理解成,最小的数据单位。元数据可以为数据说明其元素或属性(名称、大小、数据类型、等),或其结构(长度、字段、数据列),或其相关数据(位于何处、如何联系、拥有者)。 举几个简单的例子:原创 2013-03-11 19:16:43 · 78430 阅读 · 2 评论 -
oracle常用查询
Oracle检测死锁的Sql:SELECT SID, DECODE (BLOCK, 0, 'NO', 'YES') blocker, DECODE (request, 0, 'NO', 'YES') waiterFROM v$lockWHERE request > 0 OR BLOCK > 0ORDER BY BLOCK DESC SELECT bs.username原创 2013-05-24 21:47:18 · 1252 阅读 · 0 评论 -
(精)java.sql.SQLException: No more data to read from socket
dbcp (Oracle)重新链接的问题 - Cause: java.sql.SQLException: No more data to read from socket老是出现这个No more data to read from socket问题(ibatis+spring)。该异常通常是因为使用了连接池,当从连接池取得的connection失效或者超时的时候,使用这个连接来进行数据库操作就会原创 2014-12-26 16:13:14 · 75962 阅读 · 0 评论 -
(精)数据库设计词汇对照表
1. Access method(访问方法):此步骤包括从文件中存储和检索记录。 2. Alias(别名):某属性的另一个名字。在SQL中,可以用别名替换表名。 3. Alternate keys(备用键,ER/关系模型):在实体/表中没有被选为主健的候选键。 4. Anomalies(异常)参见更新异常(update anomalies) 5. Application desig原创 2012-05-25 11:42:48 · 2170 阅读 · 1 评论 -
(精)数据库设计原则
1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。 这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,原创 2012-05-25 11:40:09 · 2650 阅读 · 0 评论 -
(精)数据库分库分表
数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案数据库分库分表(sharding)系列(四) 多数据源的事务处理数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量数据库分库分表(sharding)系列(二) 全局主键生成策略数据库分库分表(sharding)系列(一) 拆分实施策转载 2014-08-15 15:22:45 · 3670 阅读 · 0 评论 -
数据库表设计--动态字段
数据库表设计当对象是动态的增加时的几种设计:1. 在表中预留字段. 这种做法效率高,但预览字段个数不知道要多少合适.2. 动态的在表中创建字段. 一般安全的系统是不容许这样做的.3. 利用动态属性表配置. 增加属性表,和属性值表. 欢迎大家讨论。从,方便性,灵活性,高效性(性能),安全性,合理性,面向对象性等方面探讨说明。原创 2012-05-24 17:19:33 · 12258 阅读 · 1 评论 -
NewSQL
NewSQL 是对各种新的可扩展/高性能数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性。NewSQL一词的提出NewSQL一词是由451 Group的分析师Matthew Aslett在研究论文中提出的。它代指对老牌数据库厂商做出挑战的一类新型数据库系统。发展趋势NoSQL谢幕,NewSQL登场NoSQL将改变数据的定义范围。它不再原创 2014-04-06 10:43:06 · 2731 阅读 · 0 评论 -
事务和两阶段提交,三阶段提交协议(有限状态自动机)
事务和两阶段提交,三阶段提交协议(有限状态自动机)•1 事务的ACID 事务是保证数据库从一个一致性的状态永久地变成另外一个一致性状态的根本,其中,ACID是事务的基本特性。 A是Atomicity,原子性。一个事务往往涉及到许多的子操作,原子性则保证这些子操作要么都做,要么都不做,而不至于出现事务的部分操作成功,而另外一部分操作没有成功。如果事务在执行的过程中发生错误,那原创 2014-03-20 09:00:22 · 6984 阅读 · 0 评论 -
数据库架构的演变
最近看了很多公司架构的演变的文章,发现其中的基本思路和架构演变都很类似,这里也总结一下数据库架构的演变以及演变背后的思路。单主机最开始网站一般都是由典型的LAMP架构演变而来的,一般都是一台linux主机,一台apache服务器,php执行环境以及mysql服务器,一般情况下,这些都在一台虚拟主机上,简称单主机模式。单主机模式缺点:1 web服务器和mysql服务器公用一台主机原创 2013-09-29 16:23:39 · 4055 阅读 · 0 评论 -
Redis实战
大约一年多前,公司同事开始使用Redis,不清楚是配置,还是版本的问题,当时的Redis经常在使用一段时间后,连接爆满且不释放。印象中,Redis 2.4.8以下的版本由于设计上的主从库同步问题,就会导致整个问题,不知是否确为这个Bug所致。但从那以后,我就很少敢去尝试使用Redis。曾想转投MongoDB,但公司同事给我的回复是,由于MongoDB宕机,数据丢失,公司损失惨重。于是,我一直停留在原创 2013-08-03 10:59:26 · 15282 阅读 · 1 评论 -
超大型Oracle数据库应用系统的设计
一、概论 超大型系统的特点为: 1.处理的用户数一般都超过百万,有的还超过千万,数据库的数据量一般超过1TB; 2.系统必须提供实时响应功能,系统需不停机运行,要求系统有很高的可用性及可扩展性。 为了能达到以上要求,除了需要性能优越的计算机和海量存储设备外,还需要先进的数据库结构设计和优化的应用系统。 一般的超大型系统采用双机或多机集群系统。下面以数据库采用ORACLE 8.0转载 2012-05-25 11:38:43 · 1221 阅读 · 1 评论 -
数据库的设计原则:关联还是不关联?
数据库的设计原则:关联还是不关联?设计网站数据库(确定使用Hibernate)的过程中,时常会有争论,争论的焦点主要还是集中在表与表之间的关联上面:有的倾向于去掉表与表之间的任何关联;有的拿完整性说话,必须保留所有的关联性。 观点1:我倾向于去掉所有的关联,为了开发的方便。然后写代码的时候自己留意完整性的问题。观点2:如果不采用外键关联的话,很多字段势必得集中在一个表里原创 2012-05-25 11:36:00 · 3614 阅读 · 0 评论 -
JAVA常用时间类及ORACLE的时间格式
to_char(t.datelastupdated,yyyy-mm-dd hh24:mi:ss:ff3),to_char(systimestamp,YYYY-MM-DD HH24:MI:SS.FF3)ORACLE的时间格式. 注意数据库中date类型和timestamp类型的区别where to_char(t.discharge_time,yyyy-MM-dd HH24:mi:s原创 2008-01-23 14:10:00 · 3820 阅读 · 0 评论 -
Oracle系统表查询
select 1 from dba_tables t WHERE t.table_name = TBL_SWIFTS_OPER_INFO and t.tablespace_name=USERS; 数据字典dict总是属于Oracle用户sys的。 1、用户: select username from dba_users; 改口令 alter user spg原创 2007-12-06 13:51:00 · 1203 阅读 · 0 评论 -
oracle表空间的创建
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "SYSTEM"ALTER DATABASE TEMPFILE F:/ORACLE/PRODUCT/10.1.0/ORADATA/ORCL/TEMP01.DBF RESIZE 200MALTER DATABASE TEMPFILE F:/ORACLE/PRODUCT/10.1.0/ORADATA/ORCL原创 2008-01-23 14:04:00 · 1934 阅读 · 0 评论 -
Oracle数据操作和控制语言详解
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。其中用于定义数据的结构,比如 创建、修改或者删除数据库;DCL用于定义数据库用户的权限;在这篇文章中我将详细讲述这两种语言在Oracle中的使用方法。DML语言DML是SQL的一个子集,主要用于修改数据,下表列出了ORACLE支持的DML语句。转载 2006-08-18 13:34:00 · 1255 阅读 · 0 评论 -
Oracle中null的使用详解
问:什么是NULL?答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:1、主键字段(primary key),2、定义时已经加了NOT NULL限制条件的字段 说明:1、等价于没有任何值、是未知数。2、NULL与0、空字符串、空格都不原创 2006-08-18 14:26:00 · 1864 阅读 · 0 评论 -
oracle架构的基础知识(入门级)
学习oracle,最好首先了解Oracle的框架。这样对Oracle有一个整体的认识,有高屋建瓴的作用 1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件组成) 一个数据库中的数据存储在磁盘上物理文件,被使用时,调入内存。 其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(trace files,alert fil转载 2006-12-05 10:43:00 · 1705 阅读 · 0 评论 -
超详细的SQL语句语法
比较常用的SQL语句语法(Oracle)一.数据控制语句 (DML) 部分1.Insert (往数据表里插入记录的语句)Insert INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); Insert INTO 表名(字段名1, 字段名2, ……) Select 字段名1, 字段名2, …… FROM 另外的表名;字符串类型的字段值必须用单引号括起来, 例如:转载 2006-11-29 20:33:00 · 4990 阅读 · 0 评论 -
Oralce数据库导入导出(利用外部命令:imp/exp命令 )
1--数据库导出(exp) 首先进入命令行 导出数据库在命令行中输入如下命令:exp c2j/c2j@c2原创 2006-10-24 10:30:00 · 5273 阅读 · 0 评论 -
Java连接SQL Server 2000的问题二
java自身提供了对各类主流数据库系统的支持,通过java.sql 库,提供了统一的接口,使得可以在java环境下不必对程序作大规模的修改,只要更改相应的驱动程序,即可实现对各类数据库的操作,从而提高软件的生存周期和降低软件的开发成本和维护费用,在这种情况下SQL Server 2000 和java 的融合问题就显得比较重要了,本文简要地阐述一下SQL Server 2000 和jdk的融合问题。原创 2006-10-24 09:46:00 · 3498 阅读 · 2 评论 -
oracle索引
索引的类型: B-树索引 位图索引 HASH索引 索引编排表 反转键索引 基于函数的索引 分区索引 本地和全局索引 限制索引(索引失效)容易引起oracle索引失效的原因很多:(需要具体分析。你可以根据执行计划来判断)1、在索引列上使用函数。如SUBSTR,DECODE,INSTR等,对索引列进行运算.需要建立函数索引就可以解决了。2、新原创 2009-12-25 14:03:00 · 1802 阅读 · 0 评论 -
Oracle 表连接方式分析
群集连接(CLUSTER JOIN),哈希连接,索引连接,排序合并连接(SORT MERGE JOIN),笛卡尔连接(CARTESIAN JOIN),嵌套循环连接原创 2011-05-17 21:49:00 · 1198 阅读 · 2 评论 -
数据库设计原则-范式
规范化-数据库设计原则摘要关系型数据库是当前广泛应用的数据库类型,关系数据库设计是对数据进行组织化和结构化的过程,核心问题是关系模型的设计。对于数据库规模较小的情况,我们可以比较轻松的处理数据库中的表结构。然而,随着项目规模的不断增长,相应的数据库也变得更加复杂,关系模型表结构更为庞杂,这时我们往往会发现我们写出来的SQL语句的是很笨拙并且效率低下的。更糟糕的是,由于表结构定义的不合理,会原创 2012-05-25 11:31:43 · 1708 阅读 · 0 评论 -
oracle中的Schema
在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样,一个大数据库就可以根据应用把其表分开来管理。不同的schema之间它们没有直接的关系,不同的shcema之间的表可以同名,也可以互相引用(但必须有权限),在没有操作别的schema的操作根权下,每个用户只能操作它自己的schem原创 2012-05-11 09:42:52 · 2097 阅读 · 0 评论 -
事务隔离级别
在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。数据库是要被广大客户所共享访问的,那么在数据库操作过程中很 事务隔离级别可能出现以下几种不确定情况。更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任何的锁操作,因此并发事务并没有被隔离开来。脏读原创 2012-02-05 16:31:21 · 1280 阅读 · 0 评论 -
如何提高每秒事务处理量(TPS)
如何提高每秒事务处理量(TPS)每秒事务处理量 - 性能测试的术语介绍 TPS(Transaction Per Second) 每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。TPS是LoadRunner中重要的性能参数指标。 改善:是指从现有的设备、材料、劳动力及产品的制造方法里发现浪费,运用现场的智慧来消除浪费。 现场的原创 2011-12-30 11:46:14 · 8155 阅读 · 4 评论 -
数据库事务的属性-ACID
数据库事务的属性-ACID 1、数据库事务的属性-ACID(四个英文单词的首写字母):1)原子性(Atomicity)所谓原子性就是将一组操作作为一个操作单元,是原子操作,即要么全部执行,要么全部不执行。2)一致性(Consistency)事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。如果事务成功地完成,那么系统中所有变化将正确地应用,系统原创 2011-12-19 15:38:26 · 9202 阅读 · 0 评论 -
数据库对象命名参考
文是一个参考,不是一个规范,更不是一个标准。它仅代表了我个人的观点和建议,并只考虑了通常条件下的规则,你可以根据实际情况随意修改它。引言编码规范是一个优秀程序员的必备素质,然而,有很多人非常注重程序中变量、方法、类的命名,却忽视了同样重要的数据库对象命名。这篇文章结合许多转载 2011-09-20 13:21:45 · 1151 阅读 · 0 评论 -
数据库查询性能调优和索引优化
查询性能调优是个很大的话题,这里边涉及到的技术非常广泛,但是我们一般可以把它大致分为以下几个层次:1.减少数据访问。相关的技术就是建立合适的索引,将全表扫描、索引扫描(scan)等耗时的操作转化为索引查找(seek)。建立正确的索引,能让数据库查询性能提升100-1000倍甚原创 2011-08-18 09:58:59 · 1227 阅读 · 0 评论