2010-01-24 Sun
昨晚,老虎赞助ITpub网友聚会好粥道:光华路SOHO(光华路南)的地下一层东边
鲍鱼海鲜粥一流!鲍鱼片和大虾都很鲜美,粥的火候到家,我是广东人,煲粥,我很讲究,到外面吃粥,我要求很高。
此前,除了金湖茶餐厅的粥我觉得不错,北京的其他粥店我都觉得一般,吃过好粥道,我觉得她的粥是最好的。
一周之内吃了三次好粥道的鲍鱼海鲜粥,还介绍了同事吃,同事都觉得很正!
吃海鲜粥加点香菜和一小勺海鲜酱,味道真是锦上添花。而好粥道的奶皇包叉烧包,鸡翅,很多菜都不错。
粥铺装修很Chinese, 还有温馨私密的小天地。
因为难得北方有个好的广东粥铺, Julia有责任广而告之。
昨天网友聚会玩得很开心,笑得回家喉咙都沙哑了。。。

先说说好粥道,这个名字已经选的极佳,再加上此前Julia在公司已经点过这里的特色粥,赞不绝口,所以我也充满期待。当品尝到精心熬制的粥品时,颇绝不虚此行,口齿留香。一般北京的粥铺多数北方粥品,广式熬粥的极少,我在广东吃过的海鲜粥让我第一次见识了粥可以那样做,可以丢进去螃蟹、大虾、鲍鱼等等为佐料,好粥道这里的鲍鱼鲜虾粥让我再次找到了这种感觉。
另外的意外是炒菜,牛蛙、香芹,极其辣,但是很过瘾,就着一点啤酒,回到家仍然忘不了那感觉,其实,当然,吃饭更重要的是感觉。
感觉,大家,就那么渐渐老去。
菜刀、顾三、老牛,还有我,老了,岁月的痕迹无法抵挡,所以感慨,这么多朋友可以多聚聚,莫等闲,牛总就白了少年头。希望以后能多聚聚,有了牛总这个离我很近的据点,以后可以考虑搞一些聚会的活动,甚至技术的交流会,给大家创造一些相聚的机会。
老谷的专业相机里还有大量的照片,记录这次聚会的记忆,2010年,愿大家的前途都更美好。

相关文章|Related Articles
- 2009系统架构师大会 补记
- 小记《深入解析Oracle》技术交流会
- 再会朋友们 - ITPUB 2009 年会随记
- 完成 ITPUB 高校巡讲 华北电力、北京理工站
- IT168&ITPUB高校行活动:我也能做 DBA
评论数量(0)|Add Comments
本文网址:http://www.eygle.com/archives/2010/01/itpub_haozhoudao.html
之前已经写过:
"详细解析truncate引发的object checkpoint"
这里是详细解析系列的第六篇文章,在这篇文章里,我们逐个byte的解析了9i下ASSM的Segment Header的结构,为什么选9i而不是10g,是因为我用的笔记本上只有9i的BBED,9i的BBED和10g不兼容(因为10g里datafile header的结构发生了变化)。
详细内容在如下的这篇word文档里:
ASSM_Segment_Header_Structure.doc
bing,我答应过你要写一些关于ASSM的东西,这个就算是开头吧,以后我还会继续。
2010-01-23 Sat
Author:NinGoo posted on NinGoo.net
PostgreSQL8.x版本的安装已经非常的简单了。EnterpriseDB制作了一键安装的版本,包括FreeBSD/Linux/Mac OS X/Solaris/Windows平台都有。不过即使使用源码编译,也非常的简单。各个版本的源码可以点这里下载。
创建os用户
#useradd -g dba postgres #su - postgres
编译
$tar -zxvf postgresql-8.4.2.tar.gz $cd postgresql-8.4.2 $./configure --prefix=/OPT/postgresql --enable-profiling --with-blocksize=8 --with-wal-blocksize=8 $make && make install
其中with-blocksize指定数据块大小,默认8k,with-wal-blocksize指定日志块大小,默认也是8k。更多编译配置选项,可以通过./configure –help查看。
初始化database,注意PostgreSQL在服务端不支持GBK编码。
$cd /opt/postgresql/bin
$ ./initdb --encoding=utf8 -D /opt/postgresql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale en_US.UTF-8.
The default text search configuration will be set to "english".
creating directory /opt/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in /opt/postgresql/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
./postgres -D /opt/postgresql/data
or
./pg_ctl -D /opt/postgresql/data -l logfile start
初始化完成后,会在 /opt/postgresql/data目录生成数据库的文件,至此,软件安装完毕,数据库创建完毕。
启动数据库
./pg_ctl -D /opt/postgresql/data/ -l /opt/postgresql/log/alert.log start
启动后,可以发现PostgreSQL实例一共运行了5个进程
$ ps -ef | grep postgres postgres 17572 1 0 16:41 pts/2 00:00:00 /opt/postgresql/bin/postgres -D /opt/postgresql/data postgres 17574 17572 0 16:41 ? 00:00:00 postgres: writer process postgres 17575 17572 0 16:41 ? 00:00:00 postgres: wal writer process postgres 17576 17572 0 16:41 ? 00:00:00 postgres: autovacuum launcher process postgres 17577 17572 0 16:41 ? 00:00:00 postgres: stats collector process postgres 18679 20791 0 16:47 pts/2 00:00:00 grep postgres
其中wal writer process是日志写进程。
Related Articles
PermLink: http://www.ningoo.net/html/2010/installpostgresql.html
Add Comments(0) | Follow NinGoo@Twitter | Google Reader
Author:NinGoo posted on NinGoo.net
上个周末,无聊的时候关注了一下PostgreSQL。第一次尝试去安装PostgreSQL,还是好几年前的事了,那是8.0版本刚出来,终于开始原生的支持windows了,所以在自己电脑上折腾了一个。不过那时候也仅限于安装了一次而已,甚至psql的命令行都不知道怎么用。
同样作为开源关系型数据库,MySQL在这几年获得了更多的关注。大量的互联网公司都基于MySQL来构架系统,也导致MySQL DBA开始火热,一大堆年轻有为的同学投入到其中,渐成燎原之势。MySQL数据库火热了,MySQL AB公司却被sun收购,现在又随着sun要投入Oracle的怀抱,而且欧盟已经无条件批准这个收购,只剩下中国和俄罗斯,大局已定。作为商业数据库的绝对老大,Oracle的这次收购,让MySQL的支持者感到了威胁,其创始人甚至发起了一场保护MySQL(有墙),阻击Oracle收购的运动。
这也是PostgreSQL的机会,最近PostgreSQL的开发节奏很快,8.5已经连续出到了alpha3版,在这个版本中,最吸引我的是hot standby,类似于Oracle11g的active data guard,hot standby也可以在恢复的同时提供读服务,而以往版本,PostgreSQL的物理备库warm standby,则只能处于恢复状态,一旦open,则需要重做,比较痛苦。PostgreSQL的很多特性,都和Oracle相当的类似,甚至有一家商业化的公司EnterpriseDB,在致力于将PostgreSQL打包,使得应用程序从Oracle迁移到PostgreSQL更方便,据说80%的Oracle应用代码甚至不需要做修改就能在PostgreSQL运行。因此,我在twitter上说,如果PostgreSQL在人机交互的工具和配置部分,能够更加友好一点,完全是一个影子版本的Oracle。
PostgreSQL也支持mvcc多版本一致性控制。不过其实现的机制,和innodb的方式比较像,而和Oracle的不一样。Oracle是将变化的前映像记录到单独的undo段中,而PostgreSQL则只是将前映像(Tuples)上做个标记,如果是delete,则相当于是逻辑删除,实际的数据还是在原来的段中,如果是insert,相当于先delete,再insert,而且会在原来的记录上加一条指向新记录的指针,形成一个链表,查询的时候需要沿着这个链表找到一致的数据。这样会造成一个问题,一段时间以后,dml操作使得数据段和索引段中都有大量的前映像信息存在,会严重影响数据查询的效率。PostgreSQL的mvcc的这种实现方式,带来的一个好处是回滚非常快,只需要修改前映像上的几个标志位即可,而不像oracle需要从undo段将前映像再复制回来。但是,这种方便回滚,却会损失查询性能的设计思路,真的比较诡异。PostgreSQL中有一个专门用来清理这些旧版本数据的程序,叫做vacuum。在以前的版本中,需要定期执行vacuum来优化数据存储结构。这对于DBA来说,无疑是一件痛苦的事情。直到8.1版本,引入了autovacuum,系统可以自动来进行这些清理工作,终于人性化了一点点。
在8.3版本,引入了一个新的特性HOT(Heap Only Tuples),主要的目的是努力避免update造成的性能低下的问题。其实这个HOT,说白了很简单,对于update,要实现mvcc,其机制还是一样的,区别在于select,在沿着链表找一致性数据的过程中,如果发现这个检查过的版本已经没有任何事物在引用了,就会顺便把清理工作做掉,而不是像以前要等vacuum来做。因此这会加大一点select的压力,但前人栽树,后人乘凉,接下来需要访问这些数据的其他select就会快很多了,这和Oracle的延迟块清除其实有些类似的,当然两者的设计目的并不一样。
Related Articles
PermLink: http://www.ningoo.net/html/2010/introduce_to_postgresql.html
Add Comments(1) | Follow NinGoo@Twitter | Google Reader
2010-01-22 Fri
2010-01-21 Thu
作者:Fenng 发布在 dbanotes.net.
前几天 Firefox 升级到 3.5.7 之后频繁崩溃,导致我也很崩溃。说也奇怪,Firefox 这个版本据说主要是解决以前版本的稳定性问题,还说要修复 Top crash 呢,可没想到在我的机器上反而更加的不稳定。开始猜测是一些扩展(Extension)升级带来的问题,把所有的扩展禁止掉,仍然 Crash。另外怪的是,即使使用的时候没问题,一旦退出 Firefox 的时候还是会提示软件有问题而崩溃。那个提交 Crash 报告的界面都快让我条件反射了。
因为 Firefox 是日常工作首选的浏览器,加上翻墙越脊的也很顺手,还不能弃之不用。昨天痛定思痛,决定仔细分析一下到底怎么回事。说也惭愧,尽管是 Firefox 的老用户,倒是没注意到 Firefox 对于 Crash 的反馈处理还是有一套比较不错的机制的。通过 Firefox Crash Reporter ,用户能够比较快速的定位到自己的问题。
提交了崩溃报告之后,在浏览器地址栏输入:
about:crashes
然后点击所提交的 Report ID,经过联机分析之后,会给出很有价值的提示。可以对比多组结果,便于最后确认。查看Crash Report,我的浏览器的两个主要问题是:
- 501429 NEW Gmail tab crash while closing it's tab (caused by Google Talk Plugin)
- 531551 NEW Firefox 3.6 topcrash due to old Acrobat Plugin (nppdf32.dll)
问题和插件(Plugin)有关系,和扩展倒是关系不大。罪魁祸首一个是 Google Talk Plugin ,一个是 Acrobat Plugin,通过 Tools-->Add-ons-->Plugins 将这两个插件关闭。重启动 Firefox ,观察,问题不再复现,泪奔。
尽管不是扩展问题,但还是仔细看了一遍可能会带来问题的 Problematic extensions 列表,看完之后,把 IE Tab 换成了 IE Tab lite。
几点感慨:
- 对于客户端工具,如果追求扩展能力与第三方开发友好性,那么必然损失稳定性。而这个稳定性的损失如果不被用户理解,对产品的推广是比较危险的。
- 国内火狐团队在做什么? 至少作为用户,不知道,也打算用"针对国内用户定制"的产品。
- 其实很多时候解决办法就在那里,只是我们视而不见。
--EOF--
今天已经将 Firefox 升级到 3.6 了,目前稳定性尚可。
有来自火狐中国的朋友留言到"在将来版本的火狐中,整个插件体系被重新设计,所有的插件会在单独的进程中执行,不会影响到Firefox的执行"。这是一个好消息。
最近文章|Recent Articles
本站赞助商:豆瓣网
评论数(10)|添加评论 | 最近作者还说了什么? Follow Fenng@Twitter
本文网址:http://www.dbanotes.net/geek/firefox_crash.html
DBA Notes 理念: 用简约的技术取得最大的收益...









