如何在基本键值存储上实现大型关系数据库模式?

发布于 2024-08-21 01:11:36 字数 237 浏览 5 评论 0原文

如何在键值存储上实现大型关系数据库模式?

以下是要求:

1) 不使用存储过程或特殊的数据库供应商特定功能

2) 使用索引

3) 使用联接

4) 表中存在许多复杂类型(VARCHAR、INT、BLOB 等)

5) 数十亿条记录

6) 完整文本搜索

7) 可以进行时间戳备份

8) 不需要事务(仅原子单行/字段更新)

How can I implement a large relational database schema on a key value store?

The following are the requirements:

1) uses no stored procedures or special database vendor specific features

2) Uses indexes

3) Uses joins

4) Many complex types in tables (VARCHAR, INT, BLOB, etc)

5) Billions of records

6) Full text search

7) Timestamped backup possible

8) Transactions not needed (atomic single row/field updates only)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

治碍 2024-08-28 01:11:37

从本质上讲,您必须构建自己的关系数据库系统。没有它,连接将非常慢(没有查询优化器)。通过嫁接Lucene就可以实现全文搜索。

您是否考虑过开源 RDBMS(例如 Derby)?

You will have to, in essence, build your own relational database system. Without it, joins will be horribly slow (no query optimizer). You can get full text search by grafting on Lucene.

Have you considered an open source RDBMS (e.g. Derby)?

不弃不离 2024-08-28 01:11:37

通常,键值存储的全部目的是摆脱关系数据库的约束,但听起来您希望它们回到这里。每个人都想鱼与熊掌兼得,但我对你在这里想要实现的目标感到困惑。如果您想要关系数据库的强大功能,则应该使用关系数据库。

也就是说,您可能想看看 MongoDB,它代表关系数据库的刚性、结构化性质与键值存储的更自由形式的方法之间的很好的折衷。

Often, the whole point of a key-value store is to get away from the constraints of relational databases, but it sounds like you want them back here. Everybody wants to have their cake and eat it too, but I'm confused about what you're trying to accomplish here. if you want the power of a relational database, you should use a relational database.

That said, you may want to take a look at MongoDB, which represents a very good compromise between the rigid, structured nature of relational databases and the more free-form approach of a key-value store.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文