Study Of Math Study Of Math Study Of Math

Online Math Problems Mathematicians Studyofmath L J Geometry Study Of Math Lv Information About Jobs Economy 2011 01 Icelandic Yoke Cardi Study Of Math 宁静致远 » HandlerSocket调研

Online Math Problems Mathematicians Studyofmath L J Geometry Study Of Math Lv Information About Jobs Economy 2011 01 Icelandic Yoke Cardi Study Of Math

评论 (12) Trackbacks (0) 发表评论 Trackback
  1. fcicq
    2010年12月19日00:15 | #1

    过来看看.
    转义的问题, 如果说把 ([\x00-\x0f]) 替换成 \x01\1 的话, 那替换后的 \x01\x01\x01 之前应该是什么呢? 没有非法串的判定是不行的. special_char_escape_shift 可以调整成大于 special_char_noescape_min (但小于 255 – special_char_noescape_min ) 的数值, 设置成 \x40 也是为了调试方便, \x40 到 \x4f 都属于可见字符, \x30 也挺好的… 多一个位是吧. 把 + 换成 and 或者 xor 都能用. 多好. 这都是编译器的事情… 跑题…
    读 port 和写 port 的问题, 注意这里的隔离级别相当于 read committed (应该是这样).

    不过 innodb 可挖掘的空间还很大, 但 b-tree 再怎么优化也还是逃不脱 IO 复杂度的宿命… 说多了, 睡去了

  2. wangyuanzheng
    2010年12月19日09:48 | #2

    了解这个转义规则的运作,主要的疑惑在:
    1. 为什么是\x0-\xF?\t或者\n在这个范围内?
    2. 用telnet这样的工具,一样不能输入\x01,这样的case下,用”\”转义是否更适合?

    ps1. 有什么结构能够比B+树更适合于hdd/ssd这样按块存储的设备?如果硬件不变,基于disk的数据存储依然是B树的天下,不知道我的理解对否?
    ps2. 事务隔离级别,看代码没有特殊的设定,我理解应该是根据各引擎按照mysql的配置自行处理的
    ps3. fcicq大牛过来真是让这小blog蓬荜生辉!

  3. fcicq
    2010年12月19日10:30 | #3

    \n 0x0a
    \r 0x0d
    \t 0×09 —这个应该自己…
    echo | awk ‘{}’ | hexdump
    0000000 0a 09 0d

    本来就不是让你这么用的. 懒到不会用工具了. 随便一个 hex editor + netcat 不就完了, 还 telnet.
    事务隔离级别虽然没有特殊设定, 正是因为这个才得到这个结论. 没有 commit 的这一组数据读不出来, 当然是 read committed. 这里就不像 memcached 的延迟那么小了. 反过来说, 如果用 myisam 的话, 写的时候会把读也阻塞掉, 当然也是 read committed, 虽然 myisam 根本没事务这说.
    (bigtable 系) sstable 就没有随机写. 但对整体的要求是挺高的. 谁能把随机写干掉就要谁. 随机读的 io 开销降不下去. nosql 啊, 拼的就是索引技术啊, 事务啥的都靠边了. 先把索引弄好, 再把事务加回来.

  4. wangyuanzheng
    2010年12月19日11:00 | #4

    @fcicq
    呃,我没说清楚。我的本意是:仅仅是因为\r\n在[0x00-0x0F]的范围内,就选了这个作为special_char_noescape_min?为什么不是[0x00-0x1F]或者[0x09-0x0d]? 感觉有点钻牛角尖了….囧

    如果在my.cnf中将隔离级别设置成read uncommited呢?在write port中未commit的事务更改一样也可以被读到。所以我理解它就是:mysql的事务隔离级别 + 引擎处理(myisam不支持事务的引擎不关心这个) + 组提交。说是read commited可能不太准确。

    SSTable系列在特定场景下是很好的solution,但也有它的局限性,比如range-scan,多个mempatch的merge-dump问题、数据删除问题等。不过总体来看,SSTable系的服务是一个很好的方向,bigtable/cassandra等都基于这个思路实现,我们公司也有类似的产品。memory is disk这个还是大趋势。

  5. fcicq
    2010年12月19日12:30 | #5

    行啊. \x00-\x1f 真的也行. 效率下降概不负责.

    隔离级别: 这叫自己没事找事降级… 这个降级不是 HS 引起的, 是你干的… 但把 repeatable read 降到 read committed 是 HS 干的. 这里的级别是相对于 read port 来说的. 注意 read port 里面没有事务. 事务读本身也是事务. 直接操作存储引擎这种事情啊… 太乱了. 算了, 这种事情不能说, 一说就要绕进去…

    说的是索引技术. 这些局限性… 你全往分布式方向上考虑就没法比了, 你拿 mysql 集群做 range-scan 试试? 偶说单机版 bigtable 就爱怎么事务怎么事务. 这个没错吧? 偶没感觉删除问题有多难, 只是有些人老是想着把删除标记也扔掉.

    memory is disk 不假, 但并不是说 tape 就不能用了 memory & SSD 帮你冲 IOPS. 主存用 HDD 完全没问题.

  6. wangyuanzheng
    2010年12月19日13:07 | #6

    @fcicq
    嗯,fcicq大牛的这些话真是举重若轻,吸收ing:) 已经fo了你的twitter,多探讨:)

  7. #7

    Hi, 最近我们有测试HandlerSocket的计划,能否加MSN或者QQ探讨一下?
    MSN:realzyy@gmail.com
    QQ :79251352

  8. #8

    想问下用的代码高亮插件是哪个啊?hoho

  9. wangyuanzheng
    2011年2月27日10:29 | #9

    Easy Syntax Highlighter

  10. sss0213
    2011年4月12日16:22 | #10

    请问一下,文中,x轴,y轴性能显示,使用的什么软件?

  11. wangyuanzheng
    2011年5月19日15:10 | #11