Database

問個資料庫的問題。現在是否有符合下面這些條件的資料庫:

  • 只要有 (key,value) 即可,不需要到 SQL 那種複雜的架構
  • 可以用多台機器 Cluster,並且有 Replication,不受到單一機器的 Bottleneck
  • 不存在 Single Point of Failure
  • 可線上擴充機器

的 Replication (即 Single Master, Read-only Slave) 最後會卡在 Writing,而且空間的消耗讓人不是很滿意。 的架構仍然有 Single Point of Failure (我想他們應該是用 Layer 4 Switch 或是其他配合硬體的方式解決),所以我想問的是,有沒有數學方法就可以滿足上面要求的資料庫?

Update:我希望每個 node 都是 1TB,初期大約三十台到六十台機器,以後可以擴充到上千台,每個 key 都會有四份資料放在 DB 裡面。

10 thoughts on “Database”

  1. number5 says:

    用 Memcached 试试吧,算不上数据库,但是很稳定,应该可以满足你的需要,唯一的问题是只能放在内存, 要保存到硬盘要自己想办法

    [1] http://www.danga.com/memcached/

  2. Kevin says:

    請問 "BerekeleyDB 最後會卡在 Writing" 指的是 slave read-only 嗎? 還是有其他的缺陷? 是不是可以請你進一步說明呢? 謝謝.

  3. Gea-Suan Lin says:

    跟 MySQL Replication 類似的問題,參考 LiveJournal 的 LiveJournal Backend 投影片,有人翻成簡體中文:http://www.example.net.cn/archives/2006/03/olivejournaloio.html

  4. Gea-Suan Lin says:

    memcached 我很早前就用過了:http://gslin.org/2004/12/08/270/

  5. slzzp says:

    我一看到這一篇, 想到的是.......

    你要不要拿 Bind 改一改來用啊? (爆)

  6. number5 says:

    是,我reply完就看到你之前那篇讲memcached的了, =_=!!!

  7. Mr. M says:

    也許你可以試試看
    Distributed Hash Table
    ex: OpenDHT, Bamboo DHT, etc.
    當然 在key,value還沒有機會copy到第二台機器之前 存在Single Point of Failure
    但是只要有機會傳出去 就沒問題了

  8. Gea-Suan Lin says:

    DHT 的 query 太慢。

  9. scrazy says:

    http://meta.wikimedia.org/wiki/Tugelacache
    這個改一下說不定能用@@

  10. Gea-Suan Lin says:

    thanks, I'll check it.

Leave a Reply

Your email address will not be published. Required fields are marked *