/home/informix/etc的默认级别为550
在MYSQL一些版本中出现的内容是
TYPE=MyISAM CHARACTER SET `utf8`
代表的意思是:
1. 将表的类型Type设置成为MyISAM。
2. 将Charecter设置成为utf8
MyISAM 表。MyISAM 存储格式自版本 3.23 以来是 MySQL 中的缺省类型,它有下列特点:
■ 如果操作系统自身允许更大的文件,那么文件比 ISAM 存储方法的大。
■ 数据以低字节优先的机器独立格式存储。这表示可将表从一种机器拷贝到另一种机器,即使它们的体系结构不同也可以拷贝。
■ 数值索引值占的存储空间较少,因为它们是按高字节优先存储的。索引值在低位字节中变化很快,因此高位字节更容易比较。
■ AUTO_INCREMENT 处理比 ISAM 的表更好。
■ 减少了几个索引限制。例如,可对含 NULL 值的列进行索引,还可以对 BLOB 和 TEXT 类型的列进行索引。
■ 为了改善表的完整性检查,每个表都具有一个标志,在 myisamchk 对表进行过检查后,设置该标志。可利用 myisamchk - fast 跳过对自前次检查以来尚未被修改过表的检查,这样使此管理任务更快。表中还有一个指示表是否正常关闭的标志。如果服务器关闭不正常,或机器崩溃,此标志可 用来检测出服务器起动时需要检查的表。
上面的内容转自:
http://blog.csdn.net/twosecond/article/details/4321496
值得注意的是,MYSQL后续版本的推出,特别是5.0之后,MYSQL对不再支持TYPE定义,而是支持ENGINE,在运行一些MYSQL的SQL时需要注意。
JVM参数调优实例解析
http://www.searchsoa.com.cn/showcontent_32286.htm
JVM性能悖论:硬件越多 错误越多(上)
http://www.searchsoa.com.cn/showcontent_49932.htm
使用SQL进行开发或者操作,我这就不进行说明,相信大家都明白;
基于NoSQL的操作是这样一种理论:内存是新的硬盘 硬盘是新的磁带。此话出自图灵奖得主Jim Gray。我理解的意思是这样(当然思维还是局限于目前的SQL理论操作):在数据的存取中,我们忽略进行数据的文件存放操作,将必要的存取信息放置到内存当中(相当于硬件指令存取的Cache),将固定的当前不使用的数据按照一定的方式放置到硬盘当中。
我几乎是这样理解的,拿SQL Server 2005进行比较,数据存储文件、日志文件,如果我们使用Studio分离的话可以将数据以文件的形式存储,NoSQL理论将目前的连接数据库的管理平台、驱动程序等功能弱化,以一定的接口形式(为高级语言JAVA等)进行操作,因此能够实现无模式的结构,直接形成一个利用内存进行读写的数据库操作。
以下是找的篇文章的内存汇总:
摘出来的内容:
一、
问题一:宕机数据丢失
我们先看一下几个杰出的NoSQL代表,Cassandra,MongoDB,Redis。他们几乎都使用了同一种存储模式,就是将写操作在内存中进行,定时或按某一条件将内存中的数据直接写到磁盘上。这样做的好处是我们可以充分利用内存在随机IO上的优势,而避免了直接写磁盘带来的随机IO瓶颈:磁盘寻道时间。当然,坏处就是如果遭遇宕机等问题时,可能会丢失一些数据。
解决宕机丢数据的问题有两个方法:
1.实时记录操作日志
这时通常的做法是当一个写操作到达,系统首先会往日志文件里追加一条写记录,成功后再操作内存进行写数据操作。而由于日志文件是不断追加的,因此也就保证了不会有大量的随机IO产生。
2.Quorum NRW
问题二:内存容量的限制
当我们将内存当作硬盘来用的时候,我们必然会面临容量问题。这也是我们上面说到的数据会定时flush到磁盘的原因,当内存中的数据已经超出可用内存的大小,那么我们就需要将其进行落地操作,对swap的过度使用是不符合我们初衷的,也是达不到高效随机IO的效果的。这里也有两种解决方案:
1.应用层swap 2.多版本的数据合并
二、
如何设计消息动态功能呢?我们先来分析几个问题:
社区的动作比较频繁,产生的动态数据是实时存储,还是缓存后延迟存储,对效率有什么影响。
每个人产生的动态消息要在被关注的人之间分发,数据的膨胀速度非常快,如何解决大数据量的存储问题?
数据量非常庞大的时候,如何能提高我们读取的效率,普通的做法是采用缓存功能,是不是有其他的方法,能够保证程序即方便开发,又高效呢?
参考: SNS中好友动态功能的设计思路
综合考虑以上因素,我们放弃了利用关系数据库的方案,而采用现在比较流行的MongoDB来存储。主要原因:
采用缓存机制进行存储和读取处理,增加开发的难度。
MongoDB是一个解决海量存储的文档型数据库,无模式的结构可以让存储的数据结构更加灵活。在普通的关系数据库中,不同类型的消息的内容要存在一个字段中,一般采用JSON的格式存储,然后根据不同类型在解析显示出来。而MongoDB的无模式结构,就可以自由的定义各种字段,一个表中都可以存储不同字段定义的数据,前台可以直接引用,非常方便。
在大数据量下的查询中,MongoDB的查询性能还是非常好的,所以MongoDB都可以作为基础缓存层。更为重要的是,MongoDB的写性能要远远强过非关系数据库。通过这个特性,我们就无需在设立缓存层,而直接实时的插入和查询,方便的开发。
MongoDB有一个ORM的实现,项目地址:http://code.google.com/p/morphia/
MongoDB的地址http://www.mongodb.org/
ORM示例地址:http://code.google.com/p/morphia/
echo $DBSPACETEMP 可以查看当前临时空间指向,如果为空,为默认dbs,通常为tempdbs.
可以在.profile中增加
DBSPACETEMP=tmpdbs2
export DBSPACETEMP
进行指定
两种方法来关闭对临时表记日志:
修改 onconfig 配置参数 TEMPTAB_NOLOG 1
通过 onmode 命令动态改变
onmode -Wf "TEMPTAB_NOLOG =1"
onmode -Wm "TEMPTAB_NOLOG =1"
其中,-Wm 选项改变参数值后立即生效; -Wf 选项改变参数值后立即生效,同时将新的参数值写到 onconfig 配置文件中。
参考文章:
http://blog.csdn.net/feitianfjl/archive/2010/04/22/5514278.aspx