gpt4 book ai didi

database - 极简博客引擎的理想数据库

转载 作者:搜寻专家 更新时间:2023-10-30 23:11:07 25 4
gpt4 key购买 nike

所以我正在设计这个博客引擎,我试图只保留我的博客数据,而不考虑评论或成员(member)系统或任何其他类型的多用户数据。

博客本身围绕着两种类型的数据,第一种是实际的博客文章条目,包括:标题文章正文元数据(主要是日期和统计数据),所以它非常简单,可以用简单的 json 对象表示。第二种数据是博客管理员配置和个人信息。评论系统和其他系统将使用 disqus 实现。

我主要担心的是这种引擎随着访问量激增而扩展的能力(我知道您可能会争论这一点,但让我们认为这是理所当然的)。因此,自从我开始这个项目以来,除了数据层之外,我的其余部分进展顺利。现在我一直在选择数据库时遇到这种困境,我考虑过 MongoDB,但一些评论和文章/基准测试表明在集合读取一定大小后读取速度较慢。接下来我在看Redis 并使用它的持久化特性RDB 和AOF,而Redis 擅长快速读写我不敢使用它因为我不熟悉它。整个搜索一直在进行,如 "PostgreSQL 9.4 is now faster than MongoDB for storing JSON documents"

那么有什么办法可以彻底解决这个问题吗?考虑到我只需要用键值结构来表示我的数据,只需要快速读取而不需要写入和容错能力。

谢谢

最佳答案

如果我是你,我会从小事做起,而不是尝试针对大数据进行优化。您读到的许多关于 NoSQL 解决方案缺点的博客都是围绕大型数据集的,或者是那些试图使用专为非规范化数据设计的数据库来处理关系的人。

我要考虑的数据库列表:

  1. 蒙戈。它有巨大的社区支持,并且基于最近的资金支持——它会存在一段时间。它在单个实例和基本副本集上运行良好。它易于设置且免费,因此花一两天时间运行您自己的测试来一劳永逸地解决问题是值得的。不要相信博客。

  2. 沙发底座。支持key/value存储,也有持久化到磁盘。 http://www.couchbase.com/couchbase-server/features最近也有一些资金,所以希望这意味着稳定。 =)

  3. CouchDB/PouchDB。您可以纯粹在客户端使用 PouchDB,它可以连接到服务器端 CouchDB。 CouchDB 可能没有 Mongo 或 Couchbase 那样的势头,但它是一个受到积极支持的产品,并且通过持久化到磁盘来处理键/值。

  4. 里亚克。 http://basho.com/riak/ .另一种可扩展的 NoSQL 是键/值存储。

您可以在几个小时内安装并运行上述所有产品的概念验证。我会推荐这个,原因如下:

  1. 给定的数据库可能会扩展并达到您的要求,但使用起来并不愉快。考虑选择一个有趣的数据库!有点类似于选择 Ruby/Python 而不是 Java,因为语法更好。

  2. 您的用例和领域将非常独特。值得测试各种产品,看看哪种最适合。

  3. 每个数据库都有怪癖,只有真正尝试过才能发现。一个人可能有尚可的怪癖,一个人会有一些阻碍表演的怪癖。

  4. 尝试所有这些的好处是它们支持无模式数据,因此如果您编写 JSON,则可以使用所有这些!无需在代码中为每个数据库创建对象。

  5. 如果您在代码中正确抽象了数据库,换出数据存储就不会那么痛苦。换句话说,如果您可以轻松换出数据存储,您的代码会更快乐。

关于database - 极简博客引擎的理想数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20154351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com