有没有好用的分布式关系数据库?

发布于 2024-11-24 19:52:30 字数 370 浏览 1 评论 0原文

我一直在和我的一位朋友讨论分布式关系数据库,使用的定义是:

  1. 支持关系数据库所做的一切(SQL、ACID)
  2. 分布式(多台服务器)
  3. 自动(或自动式)——在多台服务器上安装程序,向他们提供通信所需的任何信息(IP 地址),然后他们弄清楚如何自动分发内容

(3),这部分似乎在任何地方都没有完成。您可以进行分片,但是您需要在应用程序中添加额外的代码来确定要与哪个服务器通信。我正在寻找类似 Memcached 的东西,但作为关系数据库(Memcached 是键值),并且符合 ACID(Memcached 仅在内存中,我没有类似事务之类的东西)。

显然,要做好这样的事情会非常复杂,但令我惊讶的是,我找不到任何完成它的例子。

I've been talking with one of my friends about distributed relational databases, using the defintion:

  1. Supports everything a relational database does (SQL, ACID)
  2. Distributed (multiple servers)
  3. Automatic (or automatic-ish) -- Install the program on multiple servers, give them whatever information they need to communicate (IP addresses), and then they figure out how to distribute things automatically

(3) is the part that doesn't seem to be done anywhere. You can do sharding, but then you need extra code in your application to figure out which server to talk to. What I'm looking for is something like Memcached, but as a relational database (Memcached is key-value), and ACID-compliant (Memcached is in-memory only, and I doesn't have anything like transactions).

Obviously something like this would be incredibly complicated to do well, but it surprises me that I can't see to find any examples of it being done.

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

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

发布评论

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

评论(3

绮烟 2024-12-01 19:52:30

Teradata 提供此功能,但它作为设备出售。他们有一个自动分片的 ACID 和 SQL 兼容的 RDBMS,但你必须从他们那里购买节点。

Teradata provides this but it is sold as an appliance. They have an automatically sharded ACID and SQL compliant RDBMS but you have to buy the nodes from them.

不美如何 2024-12-01 19:52:30

警告:我代表 NimbusDB。

NuoDB(以前称为 NimbusDB)正是这样做的。如果你从传统的数据库架构开始,这很难做到,但如果你从现代的分布式架构开始,你就可以免费获得它。

Caveat: I represent NimbusDB.

NuoDB (previously NimbusDB) does exactly this. It's hard to do if you start with traditional database architectures, but you get it for free if you start with a modern distributed architecture.

太阳男子 2024-12-01 19:52:30

我认为这里的问题是......您需要什么样的复制。有很多种解决方案:

http://wiki.postgresql.org/wiki/Replication, _Clustering,_and_Connection_Pooling

顺便说一句,部分复制内置于 postgres 9.0 及更高版本中。

I think the issue here is... What kind of replication do you need. There are many kinds of solutions:

http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling

Part of the replication is built into postgres 9.0 and up, btw.

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