木匠的微型博客 Charlie Twitter

    follow me on Twitter

    Sunday, October 19, 2008

    Amazon DBA team info exchange 书店DBA技术交流

    周五吃完午饭,和Amazon DBA team 进行了技术交流,
    (Amazon上个月收购了我们公司AbeBooks, 下文详解)

    我其实想问问 西雅图(Seatle)那边的DBA市场, 当时人多, 没有好意思问.
    听说维多利亚这边一些华人去了微软,那边生活成本低,房子便宜,收入又好,去的人基本不打算回来了.
    希望以后人员交流, 派我过去工作几个星期.
    维多利亚(Victoria)距离西雅图比较近, 隔着欢德福卡海峡(Strait of Juan de Fuca),坐船一个小时.

    内容如下,

    *) suggest move away from RAC for OLTP database, remove one big central database, function split to many small databases, Amazon got 100+ databases.

    - Cluster ware down, database down
    - one instance hang, database hang
    - painful global lock control
    - Lot’s of issues with RAC
    # Add database file make RAC database hang (happened in Amazon)
    # enq-US (undo segment management) cause slow Global cache/message transfer

    *) Suggest Open source Linux over other Unix

    *) Suggest cross platform and cross Oracle version standby database to help upgrade, will check the configuration certification to confirm it.

    *) Suggest batch commit (SQL> COMMIT BATCH NOWAIT) for Inventory data loading row-by-row auto commit jobs

    *) Oracle Active Data Guard Option enables real-time read-only access to a physical standby database to offload queries, sorting, reporting, web-based access,

    *) Enable fast-start failover to fail over automatically when the primary database becomes unavailable, proven stable,

    we’ll implement above 2 options after upgrade to 11.1.0.7 in 2009 spring.

    亚马逊的OLTP数据主要跑在10.2.0.4, 他们对11g第一个补丁集还不够放心.

    今日提示: 来自 Pythian Group Blog » Log Buffer #119

    Oracle 刚刚发布是早期Data Modeling工具, 这里下载, modeling download

    main data modeling page: Modeling

    2 comments:

    Charlie said...

    您好
    拜讀大作, 收益良多.

    有一問題望您不吝解惑:若Amazon將database分散為若干子系統,如何在database的角度上實現整個商業流程(business process)?

    舉例來說,一筆完整的訂單牽涉[訂單流程][異動庫存][物品配送]等等,若以上流程不存在於單一database,是否以database link來串聯所有的data呢? 還是有其他更好的方式? 畢竟過多的database link難以管理...

    詞不達意,先謝過!

    1 木匠 said...

    To 同名 Charlie 兄,

    答案就是Remove 2 Phase Commit, 请参考:

    1) BASE: An ACID Alternative
    http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=540

    2) Scalability Best Practices: Lessons from eBay (Partition and Asynchronously)
    http://www.infoq.com/articles/ebay-scalability-best-practices

    *) 老朋友 Fenng 的 系统架构方面的文章汇总.
    http://www.dbanotes.net/arch