代码之家  ›  专栏  ›  技术社区  ›  Kurt

哪个键:与python一起使用的值存储?

  •  12
  • Kurt  · 技术社区  · 15 年前

    因此,我研究了各种键:value(其中value严格来说是一个值,或者可能是一个对象)存储以用于python,并找到了一些有前途的键。我还没有具体的要求,因为我在评估阶段。我在寻找什么是好的,什么是坏的,这些东西处理得好或不好的地方是什么,等等。我相信你们中的一些人已经试过了,所以我很想听听你们关于各种关键的发现/问题等:使用python的价值商店。我主要关注的是:

    MeMcCase- http://www.danga.com/memcached/ python客户端: http://pypi.python.org/pypi/python-memcached/1.40 http://www.tummy.com/Community/software/python-memcached/

    CouCHDB http://couchdb.apache.org/ python客户端: http://code.google.com/p/couchdb-python/

    东京暴君 http://1978th.net/tokyotyrant/ python客户端: http://code.google.com/p/pytyrant/

    轻云 http://opensource.plurk.com/LightCloud/ 基于Python编写的《东京暴君》

    雷迪斯- http://redis.io/ python客户端: http://pypi.python.org/pypi/txredis/0.1.1

    MecCaseDb- http://memcachedb.org/

    所以我开始了基准测试(简单地插入键并读取它们),使用一个简单的计数来生成数字键和一个“短文本字符串”的值:

    memcached:centos 5.3/python-2.4.3-24.el5_3.6,libevent 1.4.12-stable,memcached 1.4.2,默认设置,1千兆内存,每秒14000次插入,16000秒读取。没有真正的优化,很好。

    memcachedb声称每秒插入17000到23000次,每秒读取44000到64000次。

    我还想知道其他人是如何加速的。

    4 回复  |  直到 8 年前
        1
  •  6
  •   Anand Chitipothu    15 年前

    这主要取决于你的需要。

    Caveats of Evaluating Databases 了解如何评估它们。

        2
  •  3
  •   Luka Rahne    15 年前

    shelve(将dictonaris存储在文件/标准python模块中)

    zodb-persistence对象数据库(python对象数据库,无sql)

    更多持久性工具: http://wiki.python.org/moin/PersistenceTools

        3
  •  3
  •   Lennart Regebro    15 年前

    我的5分钱:

    您需要具有万亿字节大小的数据或海量写性能的分布式系统吗?

    好吧,你需要一个关键:value/bigtable/dynamo类型的东西。这将由卡桑德拉,东京暴君,redis等。你需要确保客户端库支持分片,这样你可以有多个数据库写。在这里使用哪一个只能由您在使用您认为需要的数据进行测试后决定。

    是否需要从python以外的其他系统/语言访问数据?

    因为这些数据库对它们的数据根本没有结构,如果可以从其他语言/客户机访问,那么您的数据库取决于您在其中存储的内容。但是如果您需要这个couchdb是一个不错的选择,因为它将数据存储为json文档,所以您可以获得互操作性。不过,couchdb在海量数据和分片方面有多好还不清楚。

    除了python或分布式多服务器存储,您不需要与其他语言的互操作性吗?

    使用ZODB。

        4
  •  -1
  •   DanJ    15 年前

    亚马逊的simpledb怎么样?

    有一个名为boto的开源python库,用于python与amazon web服务的接口。