<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://rss.ningoo.net/styles/feedsky1.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://rss.ningoo.net" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/NinGoo" type="application/rss+xml"></fs:self_link><lastBuildDate>Sat, 28 Aug 2010 15:07:14 GMT</lastBuildDate><title>NinGoo.net</title><description>Just a simple oracle and MySQL DBA</description><image><url>http://www.feedsky.com/feed/NinGoo/sc/gif</url><title>NinGoo.net</title><link>http://www.ningoo.net</link></image><link>http://www.ningoo.net</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Sat, 28 Aug 2010 15:53:37 GMT</pubDate><item><title>厦门outing</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/407276112/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/xiamen_outing.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;8.14～8.16，技术保障部厦门outing。算起来这是到到淘宝以后的第三次大部门outing，一次临安，一次安吉，这次总算是跨出了浙江省的范围，来到美丽的海边城市厦门。来回都是动车，六个小时的车程，100多人的队伍，打牌聊天，到也不觉旅途的漫长。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.taobaodba.com&quot;&gt;淘宝DBA团队&lt;/a&gt;有了更多的新成员，难得的在鼓浪屿留下一张合影，可惜的是还有几位没能聚齐。&lt;br /&gt;
&lt;a href=&quot;http://www.yupoo.com/photos/ningoo/77138893/&quot; title=&quot;淘宝DBA厦门outing&quot;&gt;&lt;img src=&quot;http://pic.yupoo.com/ningoo/AqNS57FL/medium.jpg&quot; alt=&quot;淘宝DBA厦门outing&quot; width=&quot;500&quot; height=&quot;315&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;虽然鼓浪屿上的建筑各具特色，夏门大学的校园风景怡人，南普陀的放生池乌龟成群，不过厦门的大海有点让人失望。&lt;br /&gt;
&lt;a href=&quot;http://www.yupoo.com/photos/ningoo/77138908/&quot; title=&quot;厦门海边小男孩&quot;&gt;&lt;img src=&quot;http://pic.yupoo.com/ningoo/AqNSr8PN/medium.jpg&quot; alt=&quot;厦门海边小男孩&quot; width=&quot;500&quot; height=&quot;337&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;当然，海水一般，海鲜还是不一般的，15号晚上去了传说中的小眼镜，生意好得出奇，在外面露天排号差不多一个小时才轮到，好在味道还是对得起传说中的大名的。路上还有个小插曲，因为人多，需要打两辆车，另外几个同事打的一辆出租车，一说去小眼镜，师傅说小眼镜没空位，就被赶下车了，囧。厦门这边的服务水平有待提高，一不小心就可能碰个钉子。&lt;/p&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/btrfs_file_system.html&quot; title=&quot;btrfs文件系统&quot;&gt;btrfs文件系统&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html&quot; title=&quot;淘宝图片存储与CDN系统[转]&quot;&gt;淘宝图片存储与CDN系统[转]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/taobao_code_open_source.html&quot; title=&quot;开源的淘宝&quot;&gt;开源的淘宝&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/taobao_university_recruitment_wuhan.html&quot; title=&quot;武汉校园招聘归来&quot;&gt;武汉校园招聘归来&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/taobao_job_for_students_2010.html&quot; title=&quot;淘宝网2010年校园招聘启航&quot;&gt;淘宝网2010年校园招聘启航&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/how_far_can_mysql_be.html&quot; title=&quot;MySQL还能走多远?&quot;&gt;MySQL还能走多远?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/xiamen_outing.html'&gt;http://www.ningoo.net/html/2010/xiamen_outing.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/xiamen_outing.html#comment'&gt;Add Comments(0)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/407276112/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/407276112/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/407276112/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/407276112/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/xiamen_outing.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>Author:NinGoo posted on NinGoo.net 8.14～8.16，技术保障部厦门outing。算起来这是到到淘宝以后的第三次大部门outing，一次临安，一次安吉，这次总算是跨出了浙江省的范围，来到美丽的海边城市厦门。...&lt;img src=&quot;http://www1.feedsky.com/t1/407276112/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/407276112/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/407276112/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/407276112/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>淘宝</category><category>outing</category><category>dba</category><category>杂记</category><pubDate>Sat, 28 Aug 2010 23:07:14 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/xiamen_outing.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1506</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/xiamen_outing.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/407276112/1237504</fs:itemid></item><item><title>Cassandra 0.7 值得期待</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/406590190/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;在Cassandra的&lt;a href=&quot;http://wiki.apache.org/cassandra&quot;&gt;wiki&lt;/a&gt;上，很早就有0.7的一些特性描述，其中很有些吸引人，而8月13号Cassandra 0.7 beta1版本终于发布了，&lt;a href=&quot;http://cassandra.apache.org/download/&quot;&gt;这里&lt;/a&gt;可以下载。&lt;/p&gt;
&lt;p&gt;个人比较关心的几个主要的新特性：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. &lt;/strong&gt;&lt;strong&gt; Key Space和Column Family定义可以在线增改&lt;/strong&gt;，不再需要停集群修改配置文件了。&lt;br /&gt;
&lt;strong&gt;2. &lt;/strong&gt;&lt;strong&gt;支持secondary index&lt;/strong&gt;，可以对column建索引，通过接口get_indexed_slices实现针对column的查询。&lt;br /&gt;
&lt;strong&gt;3. &lt;/strong&gt;支持truncate一个column family。&lt;br /&gt;
&lt;strong&gt;4. &lt;/strong&gt;可以针对keyspace设置replica_placement_strategy和replication_factor。&lt;br /&gt;
&lt;strong&gt;5.&lt;/strong&gt; &lt;strong&gt;Row cache提升了8倍的读性能&lt;/strong&gt;。之前版本的测试中，Cassandra写性能令人印象深刻，读性能则不如人意。&lt;br /&gt;
&lt;strong&gt;6.&lt;/strong&gt; 支持hadoop格式的输出，可以使得数据仓库更容易从Cassandra中抽取数据。&lt;/p&gt;
&lt;p&gt;另外，配置文件从xml改成了yaml格式的，读起来更顺畅些。代码里还有很多细节的改进，有时间需要慢慢去看了。期待0.7版本尽快GA。&lt;/p&gt;
&lt;pre&gt;
0.7.0
=====

Features
--------
    - Row keys are now bytes: keys stored by versions prior to 0.7.0 will be
      returned as UTF-8 encoded bytes. OrderPreservingPartitioner and
      CollatingOrderPreservingPartitioner continue to expect that keys contain
      UTF-8 encoded strings, but RandomPartitioner no longer expects strings.
    - A new ByteOrderedPartitioner supports bytes keys with arbitrary content,
      and orders keys by their byte value.
    - Truncate thrift method allows clearing an entire ColumnFamily at once
    - DatacenterShardStrategy is ready for use, enabling
      ConsitencyLevel.DCQUORUM and DCQUORUMSYNC.  See comments in
      `cassandra.yaml.`
    - row size limit increased from 2GB to 2 billion columns
    - Hadoop OutputFormat support
    - Streaming data for repair or node movement no longer requires
      anticompaction step first
    - keyspace is per-connection in the thrift API instead of per-call
    - optional round-robin scheduling between keyspaces for multitenant
      clusters
    - dynamic endpoint snitch mitigates the impact of impaired nodes
    - significantly faster reads from row cache
    - introduced IntegerType that is both faster than LongType and
      allows integers of both less and more bits than Long's 64

Configuraton
------------
    - Configuration file renamed to cassandra.yaml and log4j.properties to
      log4j-server.properties
    - Added 'bin/config-converter' to convert existing storage-conf.xml or
      cassandra.xml files to a cassandra.yaml file. When executed, it will
      create a cassandra.yaml file in any directory containing a matching
      xml file.
    - The ThriftAddress and ThriftPort directives have been renamed to
      RPCAddress and RPCPort respectively.
    - The keyspaces defined in cassandra.yaml are ignored on startup as a
      result of CASSANDRA-44.  A JMX method has been exposed in the
      StorageServiceMBean to force a schema load from cassandra.yaml. It
      is a one-shot affair though and you should conduct it on a seed node
      before other nodes. Subsequent restarts will load the schema from the
      system table and attempts to load the schema from YAML will be ignored.
      You shoud only have to do this for one node since new nodes will receive
      schema updates on startup from the seed node you updated manually.
    - EndPointSnitch was renamed to RackInferringSnitch.  A new SimpleSnitch
      has been added.
    - RowWarningThresholdInMB replaced with in_memory_compaction_limit_in_mb
    - GCGraceSeconds is now per-ColumnFamily instead of global
    - Configuration of DatacenterShardStrategy is now a part of the keyspace
      definition using the strategy_options attribute.
      The datacenter.properties file is no longer used.

JMX
---
    - StreamingService moved from o.a.c.streaming to o.a.c.service
    - GMFD renamed to GOSSIP_STAGE
    - {Min,Mean,Max}RowCompactedSize renamed to {Min,Mean,Max}RowSize
      since it no longer has to wait til compaction to be computed

Thrift API
----------
    - Row keys are now 'bytes': see the Features list.
    - The return type for login() is now AccessLevel.
    - The get_string_property() method has been removed.
    - The get_string_list_property() method has been removed.

Other
-----
    - If extending AbstractType, make sure you follow the singleton pattern
      followed by Cassandra core AbstractType extensions.
      e.g. BytesType has a variable called 'instance' and an empty constructor
      with default access

0.7.0-beta1
 * sstable versioning (CASSANDRA-389)
 * switched to slf4j logging (CASSANDRA-625)
 * access levels for authentication/authorization (CASSANDRA-900)
 * add ReadRepairChance to CF definition (CASSANDRA-930)
 * fix heisenbug in system tests, especially common on OS X (CASSANDRA-944)
 * convert to byte[] keys internally and all public APIs (CASSANDRA-767)
 * ability to alter schema definitions on a live cluster (CASSANDRA-44)
 * renamed configuration file to cassandra.xml, and log4j.properties to
   log4j-server.properties, which must now be loaded from
   the classpath (which is how our scripts in bin/ have always done it)
   (CASSANDRA-971)
 * change get_count to require a SlicePredicate. create multi_get_count
   (CASSANDRA-744)
 * re-organized endpointsnitch implementations and added SimpleSnitch
   (CASSANDRA-994)
 * Added preload_row_cache option (CASSANDRA-946)
 * add CRC to commitlog header (CASSANDRA-999)
 * removed multiget thrift method (CASSANDRA-739)
 * removed deprecated batch_insert and get_range_slice methods (CASSANDRA-1065)
 * add truncate thrift method (CASSANDRA-531)
 * http mini-interface using mx4j (CASSANDRA-1068)
 * optimize away copy of sliced row on memtable read path (CASSANDRA-1046)
 * replace constant-size 2GB mmaped segments and special casing for index
   entries spanning segment boundaries, with SegmentedFile that computes
   segments that always contain entire entries/rows (CASSANDRA-1117)
 * avoid reading large rows into memory during compaction (CASSANDRA-16)
 * added hadoop OutputFormat (CASSANDRA-1101)
 * efficient Streaming (no more anticompaction) (CASSANDRA-579)
 * split commitlog header into separate file and add size checksum to
   mutations (CASSANDRA-1179)
 * avoid allocating a new byte[] for each mutation on replay (CASSANDRA-1219)
 * revise HH schema to be per-endpoint (CASSANDRA-1142)
 * add joining/leaving status to nodetool ring (CASSANDRA-1115)
 * allow multiple repair sessions per node (CASSANDRA-1190)
 * add dynamic endpoint snitch (CASSANDRA-981)
 * optimize away MessagingService for local range queries (CASSANDRA-1261)
 * make framed transport the default so malformed requests can't OOM the
   server (CASSANDRA-475)
 * significantly faster reads from row cache (CASSANDRA-1267)
 * take advantage of row cache during range queries (CASSANDRA-1302)
 * make GCGraceSeconds a per-ColumnFamily value (CASSANDRA-1276)
 * keep persistent row size and column count statistics (CASSANDRA-1155)
 * add IntegerType (CASSANDRA-1282)
 * page within a single row during hinted handoff (CASSANDRA-1327)
 * push DatacenterShardStrategy configuration into keyspace definition,
   eliminating datacenter.properties. (CASSANDRA-1066)
 * optimize forward slices starting with '' and single-index-block name
   queries by skipping the column index (CASSANDRA-1338)
 * streaming refactor (CASSANDRA-1189)
&lt;/pre&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html&quot; title=&quot;Cassandra运维之道 v0.2&quot;&gt;Cassandra运维之道 v0.2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_operations.html&quot; title=&quot;Cassandra运维之道&quot;&gt;Cassandra运维之道&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_token.html&quot; title=&quot;Cassandra之Token&quot;&gt;Cassandra之Token&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_commitlog.html&quot; title=&quot;Cassandra Commitlog&quot;&gt;Cassandra Commitlog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_storage.html&quot; title=&quot;Cassandra存储机制&quot;&gt;Cassandra存储机制&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2007/install_sun_one_directory_server.html&quot; title=&quot;折腾sunONE directory server&quot;&gt;折腾sunONE directory server&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html'&gt;http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html#comment'&gt;Add Comments(0)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/406590190/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/406590190/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/406590190/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/406590190/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>Author:NinGoo posted on NinGoo.net 在Cassandra的wiki上，很早就有0.7的一些特性描述，其中很有些吸引人，而8月13号Cassandra 0.7 beta1版本终于发布了，这里可以下载。 个人比较关心的几个主要的新特性： 1....&lt;img src=&quot;http://www1.feedsky.com/t1/406590190/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/406590190/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/406590190/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/406590190/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>NoSQL</category><category>Cassandra</category><pubDate>Thu, 26 Aug 2010 10:32:22 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1489</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/406590190/1237504</fs:itemid></item><item><title>btrfs文件系统</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087963/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/btrfs_file_system.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;最近一位同事在美国参加&lt;a href=&quot;http://lwn.net/Articles/399148/&quot;&gt;LSF&lt;/a&gt;(Linux Storage and Filesystem Summit)回来，分享了他的总结，非常的精彩。这是一个没有演讲、没有照片、没有录像的讨论为主的会议，因此参会者基本上都是比较资深的Linux内核和文件系统的开发者，参加这个讨论会的有不少中国人（华人），相比起我们这些只是理解使用某个数据库产品的DBA来说，这是值得我们敬仰的一群人。也许在不远的将来，淘宝的DBA团队也不仅仅是一个维护某种数据库产品的团队，也能在开源数据库领域内贡献自己的力量，这也正是我们接下来招聘的思路所在。淘宝DBA团队，也已经建立了开源数据库研究小组，当前主要是MySQL/InnoDB，如果你是一位优秀的c/c++开发者，如果你对MySQL/InnoDB等开源数据库在大规模大并发量的网站应用有兴趣，如果你想有一天，能够为开源数据库提供Patch，欢迎加入我们，不管之前你有没有DBA经验，也不管你还是个应届毕业生（我的邮箱jiangfeng # taobao.com，你懂的）。&lt;/p&gt;
&lt;p&gt;扯远了，这里我想说的是，从这个报告我注意到了&lt;strong&gt;btrfs&lt;/strong&gt;文件系统。前一段时间，也一直在考虑，在Linux上部署MySQL数据库，究竟什么样的文件系统会比较适合？或者说什么文件系统适合不同的数据库环境？之前的思路，更多的集中在&lt;strong&gt;xfs&lt;/strong&gt;, &lt;strong&gt;ext4&lt;/strong&gt;等已经比较熟悉的文件系统上，上周去北京出差的时候，本来还想找前面的这位同事探讨一下ext4是否适合在数据库产品环境中部署，而当时他正好在美国参加LSF，因此也错过了机会。不过从他的这个总结来看，ext4已经达到了产品级别的稳定性，应该可以尝试，接下来可能会安排一些测试，这是后话。&lt;/p&gt;
&lt;p&gt;对于btrfs，简单的从字面来理解，就是以B-Tree作为组织元数据的数据结构，相比于ext2/ext3使用线性表来保存目录等结构，好处在于查找，插入和删除操作都很高效。btrfs另外一个比较重要的特性是基于extent来分配管理文件空间，而不是传统的block。看到这里，作为DBA，其实可以很明显的看到，这和Oracle数据库组织管理数据的思路何其一致(如果寻根问祖，发现这个btrfs根本就是由Oracle最初在2007年开放出来的项目，本是同根生啊)。关于btrfs更详细的信息，可以参考&lt;a href=&quot;http://www.ibm.com/developerworks/cn/linux/l-cn-btrfs/&quot;&gt;这里&lt;/a&gt;，还有&lt;a href=&quot;https://btrfs.wiki.kernel.org/index.php/Main_Page&quot;&gt;这里&lt;/a&gt;。另外，btrfs对于目前热点的SSD磁盘也提供了特别的支持，因此被认为是Linux未来文件系统的趋势所在，虽然目前还是开发版本，但值得关注。&lt;/p&gt;
&lt;p&gt;实际上可以做一个简单的类比，就能对btrfs有一个更加感性的认识，可以将btrfs看作是Linux版本的ZFS，其设计思路和特性，很多都是借鉴自ZFS，其主要特性如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Copy on Write&lt;/li&gt;
&lt;li&gt;Extent based file storage (2^64 max file size)&lt;/li&gt;
&lt;li&gt;Space efficient packing of small files&lt;/li&gt;
&lt;li&gt;Space efficient indexed directories&lt;/li&gt;
&lt;li&gt;Dynamic inode allocation&lt;/li&gt;
&lt;li&gt;Writable snapshots&lt;/li&gt;
&lt;li&gt;Subvolumes (separate internal filesystem roots)&lt;/li&gt;
&lt;li&gt;Object level mirroring and striping&lt;/li&gt;
&lt;li&gt;Checksums on data and metadata (multiple algorithms available)&lt;/li&gt;
&lt;li&gt;Compression&lt;/li&gt;
&lt;li&gt;Integrated multiple device support, with several raid algorithms&lt;/li&gt;
&lt;li&gt;Online filesystem check&lt;/li&gt;
&lt;li&gt;Very fast offline filesystem check&lt;/li&gt;
&lt;li&gt;Efficient incremental backup and FS mirroring&lt;/li&gt;
&lt;li&gt;Online filesystem defragmentation&lt;/li&gt;
&lt;/ul&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/xiamen_outing.html&quot; title=&quot;厦门outing&quot;&gt;厦门outing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html&quot; title=&quot;淘宝图片存储与CDN系统[转]&quot;&gt;淘宝图片存储与CDN系统[转]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/taobao_code_open_source.html&quot; title=&quot;开源的淘宝&quot;&gt;开源的淘宝&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/linux_tcp_time_wait_issue.html&quot; title=&quot;linux上大量tcp端口处于TIME_WAIT的问题&quot;&gt;linux上大量tcp端口处于TIME_WAIT的问题&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/how_far_can_mysql_be.html&quot; title=&quot;MySQL还能走多远?&quot;&gt;MySQL还能走多远?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html&quot; title=&quot;MSN上的闲聊&quot;&gt;MSN上的闲聊&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/btrfs_file_system.html'&gt;http://www.ningoo.net/html/2010/btrfs_file_system.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/btrfs_file_system.html#comment'&gt;Add Comments(4)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405087963/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087963/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087963/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087963/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/btrfs_file_system.html/feed</wfw:commentRss><slash:comments>4</slash:comments><description>Author:NinGoo posted on NinGoo.net 最近一位同事在美国参加LSF(Linux Storage and Filesystem Summit)回来，分享了他的总结，非常的精彩。这是一个没有演讲、没有照片、没有录像的讨论为主的会议，因此参会...&lt;img src=&quot;http://www1.feedsky.com/t1/405087963/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087963/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087963/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087963/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>ext4</category><category>开源</category><category>zfs</category><category>linux</category><category>操作系统</category><category>dba</category><category>btrfs</category><pubDate>Sat, 21 Aug 2010 00:08:02 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/btrfs_file_system.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1476</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/btrfs_file_system.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/405087963/1237504</fs:itemid></item><item><title>Cassandra运维之道 v0.2</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087964/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;最近几个尝试性的Cassandra应用中碰到了一些问题，在查找问题的过程中发现之前有些理解不到位，或者有偏差遗漏的地方，在&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_operations.html&quot;&gt;v0.1&lt;/a&gt;的基础上，修改补充了小部分内容。从实际应用来看，Cassandra节点的稳定性还有很多工作要做，而实际系统的运维也还有很多的细节需要逐步规范下来。此PPT中有错漏或者待补充完善的地方，也欢迎大家指正。&lt;/p&gt;
&lt;div style=&quot;width:425px&quot; id=&quot;__ss_4961798&quot;&gt;&lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/NinGoo/cassandra-v02&quot; title=&quot;Cassandra运维之道 v0.2&quot;&gt;Cassandra运维之道 v0.2&lt;/a&gt;&lt;/strong&gt;&lt;object id=&quot;__sse4961798&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cassandrav0-2-100813095714-phpapp01&amp;#038;stripped_title=cassandra-v02&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse4961798&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cassandrav0-2-100813095714-phpapp01&amp;#038;stripped_title=cassandra-v02&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;div style=&quot;padding:5px 0 12px&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/NinGoo&quot;&gt;seaman ning&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_operations.html&quot; title=&quot;Cassandra运维之道&quot;&gt;Cassandra运维之道&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_token.html&quot; title=&quot;Cassandra之Token&quot;&gt;Cassandra之Token&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_commitlog.html&quot; title=&quot;Cassandra Commitlog&quot;&gt;Cassandra Commitlog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_storage.html&quot; title=&quot;Cassandra存储机制&quot;&gt;Cassandra存储机制&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html&quot; title=&quot;Cassandra 0.7 值得期待&quot;&gt;Cassandra 0.7 值得期待&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/nosql_teminator_of_rdbms.html&quot; title=&quot;NoSQL，关系数据库终结者？&quot;&gt;NoSQL，关系数据库终结者？&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html'&gt;http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html#comment'&gt;Add Comments(0)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405087964/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087964/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087964/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087964/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>Author:NinGoo posted on NinGoo.net 最近几个尝试性的Cassandra应用中碰到了一些问题，在查找问题的过程中发现之前有些理解不到位，或者有偏差遗漏的地方，在v0.1的基础上，修改补充了小部分内容。...&lt;img src=&quot;http://www1.feedsky.com/t1/405087964/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087964/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087964/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087964/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>NoSQL</category><category>Cassandra</category><pubDate>Fri, 13 Aug 2010 23:07:16 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1471</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/405087964/1237504</fs:itemid></item><item><title>驾照到手</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087965/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/get_my_dirver_license.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;昨天下午去车管所拿驾照，晚上战战兢兢的把车开回了家。今天一大早的被人抓壮丁，从城西到三墩到余杭到城西再杀回余杭最后回城西吃晚饭，一口气开了超过100公里，嗯，有点太猛了^_^&lt;/p&gt;
&lt;p&gt;其实去年四月份就过了理论考试，但一直拖着没去练车，直到今年三月才花了一个星期的晚上把移库练了一下，本来准备三月底考试，但今天杭州考驾照的人太多了，没报上名，然后四月份休假10天去了一趟泰国。这一拖，就把桩考和场考拖到了六月五号。场地之前没练过，考试前两天在考试中心直接练了两天，有点紧张的是从六月一号开始杭州要考百米加减挡，虽然练了半天，不过心里一点底也没有。&lt;/p&gt;
&lt;p&gt;幸运的是，考试时车上四人，两个起伏路，一个曲线行驶，而我则是直角转弯，把最容易过的项目都凑到一辆车上了。然后是安排路考，因为中间端午节早早的安排了去西塘休闲游，本来教练准备给我报17号的路考，拖到了30号，杯具的是，这一拖居然抽到了夜考，而且城西繁华路段之一的古墩路，下午六点多的下班高峰期，被我戏称”史上最难路考“，而之前的路训我只去了两次，开了不到一个小时。经此“磨难”，幸运过关后，今天在路上应付繁忙的路况，反倒能应付自如了。&lt;/p&gt;
&lt;p&gt;场考和路考中，和我同一辆车训练的，都是平时开得最好的两个人没过，技术不能代表一切，安全第一啊。&lt;/p&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/anchang_and_qiaobo_ice_snow_world.html&quot; title=&quot;安昌古镇与乔波冰雪世界&quot;&gt;安昌古镇与乔波冰雪世界&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/my_2010_plan.html&quot; title=&quot;2010，风生水起&quot;&gt;2010，风生水起&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/my_2009_never_gone_with_wind.html&quot; title=&quot;往事不会随风-记我的2009&quot;&gt;往事不会随风-记我的2009&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/get_usa_vis.html&quot; title=&quot;签证是个体力活&quot;&gt;签证是个体力活&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/welcome_to_change.html&quot; title=&quot;拥抱变化&quot;&gt;拥抱变化&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/2009_07_22_total_solar_eclipse.html&quot; title=&quot;日全食&quot;&gt;日全食&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/get_my_dirver_license.html'&gt;http://www.ningoo.net/html/2010/get_my_dirver_license.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/get_my_dirver_license.html#comment'&gt;Add Comments(4)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405087965/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087965/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087965/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087965/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/get_my_dirver_license.html/feed</wfw:commentRss><slash:comments>4</slash:comments><description>Author:NinGoo posted on NinGoo.net 昨天下午去车管所拿驾照，晚上战战兢兢的把车开回了家。今天一大早的被人抓壮丁，从城西到三墩到余杭到城西再杀回余杭最后回城西吃晚饭，一口气开了超过100公...&lt;img src=&quot;http://www1.feedsky.com/t1/405087965/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087965/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087965/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087965/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>驾照</category><category>夜考</category><category>路考</category><category>life</category><category>杂记</category><pubDate>Sat, 03 Jul 2010 23:12:41 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/get_my_dirver_license.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1457</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/get_my_dirver_license.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/405087965/1237504</fs:itemid></item><item><title>淘宝图片存储与CDN系统[转]</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087966/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;转载一个PPT，演讲者是淘宝核心系统研发部负责人，LVS开发者，淘宝开源平台的推动者， 章文嵩(@&lt;a href=&quot;http://twitter.com/wensong&quot;&gt;wensong&lt;/a&gt;)博士。另据不可靠消息，PPT中提到的海量图片存储系统TFS，将于9月份在&lt;a href=&quot;http://code.taobao.org&quot;&gt;淘蝌蚪&lt;/a&gt;上开源。&lt;/p&gt;
&lt;div style=&quot;width:425px&quot; id=&quot;__ss_4508477&quot;&gt;&lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/guiwuu/cdn-4508477&quot; title=&quot;淘宝图片存储与Cdn系统&quot;&gt;淘宝图片存储与Cdn系统&lt;/a&gt;&lt;/strong&gt;&lt;object id=&quot;__sse4508477&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cdn-100615125200-phpapp02&amp;#038;stripped_title=cdn-4508477&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse4508477&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cdn-100615125200-phpapp02&amp;#038;stripped_title=cdn-4508477&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;div style=&quot;padding:5px 0 12px&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/guiwuu&quot;&gt;guiwuu&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/taobao_code_open_source.html&quot; title=&quot;开源的淘宝&quot;&gt;开源的淘宝&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/xiamen_outing.html&quot; title=&quot;厦门outing&quot;&gt;厦门outing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/btrfs_file_system.html&quot; title=&quot;btrfs文件系统&quot;&gt;btrfs文件系统&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/taobao_university_recruitment_wuhan.html&quot; title=&quot;武汉校园招聘归来&quot;&gt;武汉校园招聘归来&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/taobao_job_for_students_2010.html&quot; title=&quot;淘宝网2010年校园招聘启航&quot;&gt;淘宝网2010年校园招聘启航&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2008/taobao_jobs_2009.html&quot; title=&quot;淘宝2009校园招聘&quot;&gt;淘宝2009校园招聘&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html'&gt;http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html#comment'&gt;Add Comments(1)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405087966/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087966/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087966/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087966/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html/feed</wfw:commentRss><slash:comments>1</slash:comments><description>Author:NinGoo posted on NinGoo.net 转载一个PPT，演讲者是淘宝核心系统研发部负责人，LVS开发者，淘宝开源平台的推动者， 章文嵩(@wensong)博士。另据不可靠消息，PPT中提到的海量图片存储系统TFS，将...&lt;img src=&quot;http://www1.feedsky.com/t1/405087966/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087966/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087966/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087966/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>淘宝</category><category>开源</category><category>TFS</category><category>互联网</category><category>CDN</category><pubDate>Fri, 02 Jul 2010 13:19:39 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1449</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/405087966/1237504</fs:itemid></item><item><title>开源的淘宝</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087967/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/taobao_code_open_source.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;非常低调的，&lt;a href=&quot;http://code.taobao.org&quot;&gt;淘宝开源平台&lt;/a&gt;今天上线了。并且一款重量级的产品在平台上正式开源：&lt;a href=&quot;http://code.taobao.org/project/view/2/&quot;&gt;Tair&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;Tair是淘宝内部广泛使用的核心分布式缓存系统，在数据库前面承担了大量的访问压力，基本上你能想到的电子商务网站访问压力较大的应用场景中，都有Tair的缓存发挥力量的地方。非常期待Tair开源以后能有更多优秀的开发者加入，让Tair能够更加健壮的发展，这样作为DBA，我们的日子就可以过得更轻松一点了，毕竟大压力的互联网应用中，&lt;a href=&quot;http://www.ningoo.net/html/2008/memcached_and_mysql_use_cache.html&quot;&gt;缓存为王&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;Tair总体架构图(&lt;a href=&quot;http://code.taobao.org/trac/tair/wiki/intro&quot;&gt;refer&lt;/a&gt;):&lt;br /&gt;
&lt;img src=&quot;http://code.taobao.org/trac/tair/raw-attachment/wiki/intro/structure.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Tair只是一个开始，接下来，淘宝更多的核心底层与具体业务逻辑无关的产品将陆续开源，从今天开始，淘宝将是一个开源的淘宝，希望有一天，DBA也能为这个开源平台贡献一份力量。&lt;/p&gt;
&lt;p&gt;谨以此帖，猛顶&lt;a href=&quot;http://code.taobao.org&quot;&gt;淘蝌蚪&lt;/a&gt;。&lt;/p&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/tfs_cdn_ppt_from_wensong.html&quot; title=&quot;淘宝图片存储与CDN系统[转]&quot;&gt;淘宝图片存储与CDN系统[转]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/xiamen_outing.html&quot; title=&quot;厦门outing&quot;&gt;厦门outing&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/btrfs_file_system.html&quot; title=&quot;btrfs文件系统&quot;&gt;btrfs文件系统&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/taobao_university_recruitment_wuhan.html&quot; title=&quot;武汉校园招聘归来&quot;&gt;武汉校园招聘归来&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/taobao_job_for_students_2010.html&quot; title=&quot;淘宝网2010年校园招聘启航&quot;&gt;淘宝网2010年校园招聘启航&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2008/taobao_jobs_2009.html&quot; title=&quot;淘宝2009校园招聘&quot;&gt;淘宝2009校园招聘&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/taobao_code_open_source.html'&gt;http://www.ningoo.net/html/2010/taobao_code_open_source.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/taobao_code_open_source.html#comment'&gt;Add Comments(2)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405087967/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087967/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087967/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087967/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/taobao_code_open_source.html/feed</wfw:commentRss><slash:comments>2</slash:comments><description>Author:NinGoo posted on NinGoo.net 非常低调的，淘宝开源平台今天上线了。并且一款重量级的产品在平台上正式开源：Tair。 Tair是淘宝内部广泛使用的核心分布式缓存系统，在数据库前面承担了大量的...&lt;img src=&quot;http://www1.feedsky.com/t1/405087967/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087967/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087967/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087967/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>淘宝</category><category>开源</category><category>互联网</category><category>tair</category><pubDate>Wed, 30 Jun 2010 21:01:35 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/taobao_code_open_source.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1441</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/taobao_code_open_source.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/405087967/1237504</fs:itemid></item><item><title>Perl的English模块</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087968/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/perl_english_module.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Perl中有很多以$开头的特殊变量，如果使用得当，可以写出简洁高效的代码，但对于阅读代码来说就带来了一些困扰。因此Perl内置了名为English的模块，对这些特殊变量定义了英文别名，记录于此备查。&lt;/p&gt;
&lt;table cellpadding=3 border=&quot;1&quot;&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;i&gt;&lt;br /&gt;
special variable&lt;/i&gt;&lt;/th&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;i&gt;alias&lt;/i&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;b&gt;miscellaneous&lt;/b&gt;&lt;/th&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$_&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$ARG&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;@_&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;@ARG&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$&amp;quot;&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$LIST_SEPARATOR&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$;&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;&lt;br /&gt;
$SUBSCRIPT_SEPARATOR&lt;/tt&gt; or &lt;tt&gt;$SUBSEP&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;b&gt;regular expression or matching&lt;/b&gt;&lt;/th&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$&amp;amp;&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$MATCH&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$`&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$PREMATCH&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$'&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$POSTMATCH&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$+&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$LAST_PAREN_MATCH&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;b&gt;input&lt;/b&gt;&lt;/th&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$.&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$INPUT_LINE_NUMBER&lt;/tt&gt; or &lt;tt&gt;$NR&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$/&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$INPUT_RECORD_SEPARATOR&lt;/tt&gt; or &lt;tt&gt;$RS&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;b&gt;&lt;br /&gt;
output&lt;/b&gt;&lt;/th&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$|&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$OUTPUT_AUTOFLUSH&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$,&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$OUTPUT_FIELD_SEPARATOR&lt;/tt&gt; or &lt;tt&gt;$OFS&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;code&gt;$\&lt;/code&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$OUTPUT_RECORD_SEPARATOR&lt;/tt&gt; or &lt;tt&gt;$ORS&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;b&gt;formats&lt;/b&gt;&lt;/th&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$%&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$FORMAT_PAGE_NUMBER&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$=&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$FORMAT_LINES_PER_PAGE&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$_&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$FORMAT_LINES_LEFT&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;code&gt;$~&lt;/code&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$FORMAT_NAME&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$FORMAT_TOP_NAME&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$:&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$FORMAT_LINE_BREAK_CHARACTERS&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^L&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$FORMAT_FORMFEED&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;b&gt;error status&lt;/b&gt;&lt;/th&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$?&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$CHILD_ERROR&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$!&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$OS_ERROR&lt;/tt&gt; or &lt;tt&gt;$ERRNO&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$@&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$EVAL_ERROR&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;b&gt;process information&lt;/b&gt;&lt;/th&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$$&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$PROCESS_ID&lt;/tt&gt; or &lt;tt&gt;$PID&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$&amp;lt;&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$real_user_id&lt;/tt&gt; or &lt;tt&gt;$UID&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$&amp;gt;&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$EFFECTIVE_USER_ID&lt;/tt&gt; or &lt;tt&gt;$EUID&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$(&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$REAL_GROUP_ID&lt;/tt&gt; or &lt;tt&gt;$GID&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$)&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$EFFECTIVE_GROUP_ID&lt;/tt&gt; or &lt;tt&gt;$EGID&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$0&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$PROGRAM_NAME&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot; nowrap&gt;&lt;b&gt;internal variables&lt;/b&gt;&lt;/th&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$] or $^V&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$PERL_VERSION&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^A&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$ACCUMULATOR&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^D&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$DEBUGGING&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^F&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$SYSTEM_FD_MAX&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^I&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$INPLACE_EDIT&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^O&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$OSNAME&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^P&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$PERLDB&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt; $^T&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$BASETIME&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^W&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$WARNING&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$^X&lt;/tt&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot; nowrap&gt;&lt;tt&gt;$EXECUTABLE_NAME&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/perl_module_use_lib_path.html&quot; title=&quot;Perl自定义模块的路径包含问题&quot;&gt;Perl自定义模块的路径包含问题&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2008/how_to_programming_perl_module.html&quot; title=&quot;编写Perl模块&quot;&gt;编写Perl模块&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/how_to_compile_perl_on_aix.html&quot; title=&quot;如何在AIX中编译Perl&quot;&gt;如何在AIX中编译Perl&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/how_to_run_perl_script_only_one_instance.html&quot; title=&quot;如何让Perl脚本同时只运行一个实例&quot;&gt;如何让Perl脚本同时只运行一个实例&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/sendmail_by_perl.html&quot; title=&quot;使用Perl发送邮件&quot;&gt;使用Perl发送邮件&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/set_env_for_perl_script_crontab_schedule.html&quot; title=&quot;在Crontab中调度Perl程序的环境变量问题&quot;&gt;在Crontab中调度Perl程序的环境变量问题&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/perl_english_module.html'&gt;http://www.ningoo.net/html/2010/perl_english_module.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/perl_english_module.html#comment'&gt;Add Comments(0)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405087968/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087968/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087968/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087968/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/perl_english_module.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>Author:NinGoo posted on NinGoo.net Perl中有很多以$开头的特殊变量，如果使用得当，可以写出简洁高效的代码，但对于阅读代码来说就带来了一些困扰。因此Perl内置了名为English的模块，对这些特殊变...&lt;img src=&quot;http://www1.feedsky.com/t1/405087968/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087968/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087968/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087968/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>Module</category><category>perl</category><category>杂记</category><pubDate>Tue, 29 Jun 2010 19:57:10 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/perl_english_module.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1429</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/perl_english_module.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/405087968/1237504</fs:itemid></item><item><title>Cassandra运维之道</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087969/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/cassandra_operations.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;对于传统的关系数据库Oracle/MySQL等，NoSQL一个相当大的不足是文档资料的缺失。相对而言，Cassandra还能找到不少资料，这个ppt是我根据网上一些资料，结合这几天浏览了一点源代码的一些理解，整理的一个普及资料。名字起的有点大，可能有点地方理解有偏差，权当这是version 0.1吧，接下来一些产品会开始使用Cassandra，结合实际的运维经验，希望能逐步形成类似最佳实践的操作手册。&lt;/p&gt;
&lt;div style=&quot;width:425px&quot; id=&quot;__ss_4586176&quot;&gt;&lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/NinGoo/cassandra-4586176&quot; title=&quot;Cassandra运维之道&quot;&gt;Cassandra运维之道&lt;/a&gt;&lt;/strong&gt;&lt;object id=&quot;__sse4586176&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cassandra-100623084742-phpapp01&amp;#038;stripped_title=cassandra-4586176&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse4586176&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cassandra-100623084742-phpapp01&amp;#038;stripped_title=cassandra-4586176&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;div style=&quot;padding:5px 0 12px&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/NinGoo&quot;&gt;seaman ning&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html&quot; title=&quot;Cassandra运维之道 v0.2&quot;&gt;Cassandra运维之道 v0.2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_token.html&quot; title=&quot;Cassandra之Token&quot;&gt;Cassandra之Token&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_commitlog.html&quot; title=&quot;Cassandra Commitlog&quot;&gt;Cassandra Commitlog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_storage.html&quot; title=&quot;Cassandra存储机制&quot;&gt;Cassandra存储机制&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html&quot; title=&quot;Cassandra 0.7 值得期待&quot;&gt;Cassandra 0.7 值得期待&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/nosql_teminator_of_rdbms.html&quot; title=&quot;NoSQL，关系数据库终结者？&quot;&gt;NoSQL，关系数据库终结者？&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/cassandra_operations.html'&gt;http://www.ningoo.net/html/2010/cassandra_operations.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/cassandra_operations.html#comment'&gt;Add Comments(3)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405087969/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087969/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087969/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087969/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/cassandra_operations.html/feed</wfw:commentRss><slash:comments>3</slash:comments><description>Author:NinGoo posted on NinGoo.net 对于传统的关系数据库Oracle/MySQL等，NoSQL一个相当大的不足是文档资料的缺失。相对而言，Cassandra还能找到不少资料，这个ppt是我根据网上一些资料，结合这几天浏览...&lt;img src=&quot;http://www1.feedsky.com/t1/405087969/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087969/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087969/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087969/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>NoSQL</category><category>Cassandra</category><pubDate>Wed, 23 Jun 2010 21:43:40 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/cassandra_operations.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1424</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/cassandra_operations.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/405087969/1237504</fs:itemid></item><item><title>Cassandra之Token</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087970/1237504/1/item.html</link><content:encoded>&lt;p&gt;Author:&lt;a href='http://www.ningoo.net'&gt;NinGoo&lt;/a&gt; posted on &lt;a href='http://www.ningoo.net/html/2010/cassandra_token.html'&gt;NinGoo.net&lt;/a&gt; &lt;a href='http://rss.ningoo.net'&gt;&lt;img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;有一个多月没有更新过blog了，有点惭愧。不管何种理由，不管工作生活有何种变动，有一些我们内心真正追求的东西，不能放弃。昨天晚上，世界杯大幕拉开，在等待揭幕战的过程中，看了一段Cassandra关于dht部分的源代码。要在生产系统中运维，则数据如何分布不得不做周详细致的考虑。&lt;/p&gt;
&lt;p&gt;将Cassandra用于实际的生成环境，一个必须要考虑的关键问题是Token的选择。Token决定了每个节点存储的数据的分布范围，每个节点保存的数据的key在(前一个节点Token，本节点Token]的半开半闭区间内，所有的节点形成一个首尾相接的环，所以第一个节点保存的是大于最大Token小于等于最小Token之间的数据。&lt;/p&gt;
&lt;p&gt;根据采用的分区策略的不同，Token的类型和设置原则也有所不同。 Cassandra (0.6版本)本身支持三种分区策略：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RandomPartitioner&lt;/strong&gt;：随机分区是一种hash分区策略，使用的Token是大整数型(BigInteger)，范围为0~2^127，因此极端情况下，一个采用随机分区策略的Cassandra集群的节点可以达到2^127+1个节点。嗯，为什么是2^127？因为Cassandra采用了MD5作为hash函数，其结果是128位的整数值(其中一位是符号位，Token取绝对值为结果)。采用随机分区策略的集群无法支持针对Key的范围查询。假如集群有N个节点，每个节点的hash空间采取平均分布的话，那么第i个节点的Token可以设置为：&lt;/p&gt;
&lt;pre&gt;
 i * ( 2 ^ 127 / N )
&lt;/pre&gt;
&lt;p&gt;下面的测试程序是从org.apache.cassandra.utils.FBUtilities类抽取出来的计算MD5值的函数，输入任何字符都可以得到其对应的MD5的整数值，利用该值和节点的Token对比即可知道该Key对应的数据归属于哪个节点：&lt;/p&gt;
&lt;pre&gt;
import java.io.*;
import java.util.*;
import java.math.BigInteger;
import java.security.MessageDigest;

class get_md5{
  static final Scanner cin=new Scanner(System.in);

  public static byte[] hash(String type, byte[]... data){
    byte[] result = null;
    try{
      MessageDigest messageDigest = MessageDigest.getInstance(type);
      for(byte[] block : data)
        messageDigest.update(block);
      result = messageDigest.digest();
    }
    catch (Exception e){
      throw new RuntimeException(e);
    }
    return result;
  }

  public static BigInteger hash(String data){
    byte[] result = hash(&quot;MD5&quot;, data.getBytes());
    BigInteger hash = new BigInteger(result);
    return hash.abs();
  }

  public static void main(String[] args){
    while(cin.hasNext()){
      String str1=cin.next();
      BigInteger a= hash(str1);
      System.out.println(a);
    }
  }
}
&lt;/pre&gt;
&lt;pre&gt;
D:&gt;java get_md5
ningoo
100335222541762605209205022078301814192
江枫
48295316926871024838894171432474082043
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;OrderPreservingPartitioner&lt;/strong&gt;：如果要支持针对Key的范围查询，那么可以选择这种有序分区策略。该策略采用的是字符串类型的Token。每个节点的具体选择需要根据Key的情况来确定。如果没有指定InitialToken，则系统会使用一个长度为16的随机字符串作为Token，字符串包含大小写字符和数字。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CollatingOrderPreservingPartitioner&lt;/strong&gt;：和OrderPreservingPartitioner一样是有序分区策略。只是排序的方式不一样，采用的是字节型Token，支持设置不同语言环境的排序方式，代码中默认是en_US。&lt;/p&gt;
&lt;p&gt;分区策略和每个节点的Token(Initial Token)都可以在storage-conf.xml配置文件中设置：&lt;/p&gt;
&lt;pre&gt;
&amp;lt;Partitioner&amp;gt;org.apache.cassandra.dht.RandomPartitioner&amp;lt;/Partitioner&amp;gt;
&lt;/pre&gt;
&lt;pre&gt;
&amp;lt;InitialToken&amp;gt;10633823966279300000000000000000000000&amp;lt;/InitialToken&amp;gt;
&lt;/pre&gt;
&lt;p&gt;节点初始化完成以后，Token值做为元数据会保留在system keyspace中，每次启动会以该值为准，即使再改动配置文件中的InitialToken也不会产生任何影响。&lt;/p&gt;
&lt;pre&gt;
Saved Token found: 10633823966279300000000000000000000000
&lt;/pre&gt;
&lt;p&gt;通过nodetool的ring命令，可以查看集群各个节点的Token，这些Token值最好备份下来，当出现节点彻底顺坏时，可以重新设置同样的Token，确保数据分布可以不受节点损坏的影响。&lt;/p&gt;
&lt;pre&gt;
 nodetool -h test ring
Address       Status     Load          Range                                      Ring
                                       85070591730234600000000000000000000000
192.168.0.1 Up         0 bytes       10633823966279300000000000000000000000     |&lt;--|
192.168.0.2 Up         0 bytes       85070591730234600000000000000000000000     |--&gt;|
&lt;/pre&gt;
&lt;p&gt;PS: 在我的0.6.2的一个测试集群中，使用nodetool时不小心连到了9160端口，结果每次都会把节点搞挂，百试百灵。而且直接telnet到9160端口，随便发送个字符，也会把节点搞崩溃。不知道是我的测试环境的原因，还是Thrift有bug，这样节点的健壮性就有问题了，这个端口只能接受协议格式内的信息。对Java和Thrift都不太了解，把这个问题抛出来，希望有大牛能帮忙找到原因。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update：&lt;/strong&gt;之前贴的nodetool错连9160端口的报错可能有点误导大家，因为jmx用的默认的8080端口，连9160端口jmx报错是正常的，问题是节点不应该崩溃的。看了/var/log/cassandra/system.log中记录的节点错误信息，报的是OOM，Cassandra的java进程都消失了。调整了一下jvm参数，将heap的最小内存从默认的256MB设置到1G(-Xms1G)，还是有同样的问题。另外，我的java环境是jre1.6.0_18。&lt;/p&gt;
&lt;pre&gt;
ERROR [pool-1-thread-1] 2010-06-12 16:49:40,459 CassandraDaemon.java (line 78)
Fatal exception in thread Thread[pool-1-thread-1,5,main]
java.lang.OutOfMemoryError: Java heap space
        at org.apache.thrift.protocol.TBinaryProtocol.readStringBody(TBinaryProtocol.java:296)
        at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:203)
        at org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:1113)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:253)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
&lt;/pre&gt;
&lt;p&gt;Google了一把这个错误，也&lt;a href=&quot;http://permalink.gmane.org/gmane.comp.db.cassandra.devel/1807&quot;&gt;有人碰到过&lt;/a&gt;，并且发现Thrift确实有类似的bug：&lt;br /&gt;
&lt;a href=&quot;https://issues.apache.org/jira/browse/THRIFT-601&quot;&gt;https://issues.apache.org/jira/browse/THRIFT-601&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;参考文档：&lt;br /&gt;
&lt;a href=&quot;http://wiki.apache.org/cassandra/Operations&quot;&gt;http://wiki.apache.org/cassandra/Operations&lt;/a&gt;&lt;/p&gt;
&lt;br/&gt;&lt;b&gt;Related Articles&lt;/b&gt;&lt;p&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_operationsv0-2.html&quot; title=&quot;Cassandra运维之道 v0.2&quot;&gt;Cassandra运维之道 v0.2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_operations.html&quot; title=&quot;Cassandra运维之道&quot;&gt;Cassandra运维之道&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_commitlog.html&quot; title=&quot;Cassandra Commitlog&quot;&gt;Cassandra Commitlog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra_storage.html&quot; title=&quot;Cassandra存储机制&quot;&gt;Cassandra存储机制&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2010/cassandra-0-7-beta1.html&quot; title=&quot;Cassandra 0.7 值得期待&quot;&gt;Cassandra 0.7 值得期待&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.ningoo.net/html/2009/nosql_teminator_of_rdbms.html&quot; title=&quot;NoSQL，关系数据库终结者？&quot;&gt;NoSQL，关系数据库终结者？&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;PermLink:&lt;/b&gt; &lt;a href='http://www.ningoo.net/html/2010/cassandra_token.html'&gt;http://www.ningoo.net/html/2010/cassandra_token.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;a href='http://www.ningoo.net/html/2010/cassandra_token.html#comment'&gt;Add Comments(4)&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://twitter.com/NinGoo'&gt;Follow NinGoo@Twitter&lt;/a&gt;&lt;/b&gt; | &lt;b&gt;&lt;a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'&gt;Google Reader&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/405087970/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087970/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087970/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087970/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</content:encoded><wfw:commentRss>http://www.ningoo.net/html/2010/cassandra_token.html/feed</wfw:commentRss><slash:comments>4</slash:comments><description>Author:NinGoo posted on NinGoo.net 有一个多月没有更新过blog了，有点惭愧。不管何种理由，不管工作生活有何种变动，有一些我们内心真正追求的东西，不能放弃。昨天晚上，世界杯大幕拉开，在等...&lt;img src=&quot;http://www1.feedsky.com/t1/405087970/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/405087970/1237504/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;&lt;p class=&quot;fswww1&quot;&gt;&lt;a href=&quot;http://www1.feedsky.com/r/l/feedsky/NinGoo/405087970/art01.html&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; ismap=&quot;ismap&quot; src=&quot;http://www1.feedsky.com/r/i/feedsky/NinGoo/405087970/art01.gif&quot; onerror=&quot;this.style.display='none'&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>OrderPreservingPartitioner</category><category>NoSQL</category><category>Cassandra</category><category>RandomPartitioner</category><category>token</category><pubDate>Sat, 12 Jun 2010 13:36:22 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2010/cassandra_token.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=1369</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2010/cassandra_token.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/405087970/1237504</fs:itemid></item></channel></rss>