使用 JSON 作为存储/传输格式的数据库 [关闭]
Posted
技术标签:
【中文标题】使用 JSON 作为存储/传输格式的数据库 [关闭]【英文标题】:Databases using JSON as storage/transport format [closed] 【发布时间】:2010-10-25 14:14:19 【问题描述】:有多少数据库系统使用 JSON 进行存储或传输?我知道:
CouchDB MongoDB DBSlayer我记得我在 SO 用户的个人资料中看到了另一个供应商。那个系统使用的是他们所谓的二进制 JSON,但我不记得产品的名称了。
最近,似乎越来越多的数据库项目将 JSON 用于持久存储。其中一些甚至将 HTTP 作为传输层。
【问题讨论】:
【参考方案1】:MongoDB 不使用 JSON,而是使用 BSON。
RethinkDB是一个面向文档的数据库,采用JSON数据模型,支持分片和复制
【讨论】:
【参考方案2】:这是一个非权威列表。
CouchDB FleetDB MongoDB OrientDB Apache Cassandra Redis RavenDB来源:Wikipedia - Document Oriented Databases
【讨论】:
【参考方案3】:postgresql 最近添加了一个 json 数据类型
postgre json datatype
【讨论】:
【参考方案4】:如果您想将 JSON 文档存储在 AppEngine 的 Datastore 中,可以查看 Ubud-db,https://bitbucket.org/f94os/ubud-db/wiki Ubud-db 是 AppEngine 上的一个文档存储,带有 REST-JSON API。
【讨论】:
【参考方案5】:看看芭蕉的 Riak。它与 CouchDB 有许多共同点:基于 Erlang、javascript MapReduce API、HTTP 传输、JSON 文档格式和多主复制。它的目标并不像 CouchDB 那样简单(CouchDB 更“有主见”),但它们为您提供了很多选项来调整 CAP 参数以满足您的应用程序的需求,每次写入。
【讨论】:
还具有自动横向扩展和横向扩展功能。对于某些用例,CouchDB 的另一大优势是 Riak 对“链接”(本质上是指针)的支持。真可惜它没有像其他一些人那样流行......【参考方案6】:MongoDb 是使用二进制 JSON 存储格式的数据库。我不知道是否还有另一个面向文档的。其他大部分都是键值存储,只能基于一个键检索对象。
【讨论】:
需要注意的一点是“二进制 JSON”有点用词不当:它应该更像“二进制 JSON 格式”。这是因为它具有比 JSON(扩展)更多的数据类型;并且由于大小限制(大小前缀有限),它不能表达所有合法的 JSON 值和构造(子集)。【参考方案7】:Persevere 是另一个加载了 JSON 的数据库:
http://www.persvr.org/
主要传输是 JSON HTTP/REST
数据以 JSON 格式存储
它有一个本机 JS/JSON 客户端,可以直接从浏览器运行。
如果你想要一个模式,那么它是使用 JSON 定义的
【讨论】:
听起来很有趣,有什么表演经验吗?以上是关于使用 JSON 作为存储/传输格式的数据库 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章