我正在研究存储数据,这些数据到目前为止一直存储在数据库中的单个文件中。我正在寻找一些建议,我应该使用哪个数据库或数据库类型。以下是要求清单:
除了最基本的MySQL数据库之外,我完全不熟悉,所以任何指针都会受到高度赞赏。
答案 0 :(得分:1)
听起来像文档数据库符合您的需求。我要研究的两个是MongoDB和CouchDB(也许还有Couchbase)。
Couch和Mongo都允许将数据存储为JSON,满足您对具有任意深度密钥的数据的要求。
两个数据库还允许您插入异构文档。 Mongo专门有一个名为$ exists的运算符来检查给定文档中是否存在字段。
我会通过Couch向Mongo点头进行临时查询。我发现它更容易。
两者都不支持加入。它可以同时使用map / reduce功能,但是否则假设你不会进行连接。
两者都支持添加文件。 Mongo使用gridfs(http://docs.mongodb.org/manual/applications/gridfs/)而Couch使用附件(http://wiki.apache.org/couchdb/HTTP_Document_API#Attachments)。
Mongo有一个Python驱动程序(http://docs.mongodb.org/ecosystem/drivers/python/),Couch通过HTTP工作,所以你只需要像Python中的curl一样。
CouchDB最近受到了很多关注,但Mongo现在有更多的动力。