问题标签 [distributed-database]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
5711 浏览

java - 需要一个分布式键值查找系统

我需要一种方法来对(可能)数百 GB 的数据进行键值查找。理想情况下,基于分布式哈希表的东西可以很好地与 Java 配合使用。它应该是容错的,并且是开源的。

存储应该是持久的,但理想情况下会将数据缓存在内存中以加快速度。

它应该能够支持来自多台机器的并发读取和写入(尽管读取将是常见的 100 倍)。基本上,目的是对 Web 服务的用户元数据进行快速初始查找。

任何人都可以推荐任何东西吗?

0 投票
15 回答
18395 浏览

database - 您在使用 NoSQL 数据存储时遇到了哪些可扩展性问题?

NoSQL 指的是非关系数据存储,它打破了关系数据库的历史和 ACID 保证。流行的开源 NoSQL 数据存储包括:

  • Cassandra(表格,用 Java 编写,被 Cisco、WebEx、Digg、Facebook、IBM、Mahalo、Rackspace、Reddit 和 Twitter 使用)
  • CouchDB(文档,用 Erlang 编写,由 BBC 和 Engine Yard 使用)
  • Dynomite(键值对,用 Erlang 编写,Powerset 使用)
  • HBase(键值对,用 Java 编写,由 Bing 使用)
  • Hypertable(表格,C++编写,百度使用)
  • Kai(键值对,用 Erlang 编写)
  • MemcacheDB(键值对,用 C 编写,Reddit 使用)
  • MongoDB(文档,用 C++ 编写,由 Electronic Arts、Github、NY Times 和 Sourceforge 使用)
  • Neo4j(图表,用 Java 编写,一些瑞典大学使用)
  • Project Voldemort(键值对,用 Java 编写,LinkedIn 使用)
  • Redis(键值对,用 C 编写,被 Craigslist、Engine Yard 和 Github 使用)
  • Riak(键值对,用 Erlang 编写,由 Comcast 和 Mochi Media 使用)
  • Ringo(键值对,用 Erlang 编写,诺基亚使用)
  • Scalaris(键值对,用 Erlang 编写,由 OnScale 使用)
  • Terrastore(文档,用 Java 编写)
  • ThruDB(文档,用 C++ 编写,由 JunkDepot.com 使用)
  • Tokyo Cabinet/Tokyo Tyrant(key-value,用 C 编写,由 Mixi.jp(日本社交网站)使用)

我想了解您(SO 读者)使用数据存储解决的具体问题以及您使用的 NoSQL 数据存储。

问题:

  • 您使用 NoSQL 数据存储解决了哪些可扩展性问题?
  • 你使用了什么 NoSQL 数据存储?
  • 在切换到 NoSQL 数据存储之前,您使用了什么数据库?

我正在寻找第一手经验,所以除非你有,否则请不要回答。

0 投票
3 回答
1949 浏览

database - 如果我想要一个分布式多主数据库,我有什么选择?

我将构建一个要减少单点故障的系统,并且我需要一个数据库。是否有任何(免费)关系数据库系统可以很好地处理多主设置(即易于添加和删除节点的地方),还是使用 NoSQL 数据库更好?

据我了解,键值存储会更好地处理这个问题。对于多主(集群)设置,您推荐什么数据库系统?

0 投票
2 回答
389 浏览

mysql - 网络爬虫使用哪个数据库,如何在分布式环境中使用 MySQL?

我应该为网络爬虫使用哪个数据库引擎,InnoDB 或 MYiSAM?我有两台电脑,每台都有 1TB 硬盘。如果一个填满,我希望它自动保存到另一台 PC,但读取应该转到正确的 PC;我怎么做?

0 投票
2 回答
1508 浏览

.net - 寻找分布式、内存中的 Graph DB

是否有一个数据库可以满足所有(或至少大部分)这些要求?

  1. 面向图 - 针对存储图和遍历进行了优化(例如 HyperGraphDB、Neo4j)
  2. 在内存中运行,但具有持久存储(例如 Redis)
  3. 分布式(例如 membase)
  4. 有 .NET 适配器(TCP/IP,不是 HTTP REST)

还是我要求太多了?

提前致谢。

0 投票
3 回答
234 浏览

.net - 您会向打算编写自己的数据库的人推荐什么读物?

由于我之前的问题没有答案。我真的在考虑实现一个自定义数据库来满足我的要求。

是的,我知道,听起来很疯狂。

但是您会推荐阅读哪些书籍、文章等?

如果它确实重要,我的数据库的要求如下

  1. 面向图 - 针对存储图和遍历进行了优化(例如 HyperGraphDB、Neo4j)
  2. 在内存中运行,但具有持久存储(例如 Redis)
  3. 分布式(例如 membase)
  4. 有 .NET 适配器(TCP/IP,不是 HTTP REST)

我不寻找技术细节,只是想找到一些关于通常如何做以及我有什么选择的理论信息来源。

0 投票
3 回答
918 浏览

sql - 分布式数据库计算——在 RDBMS 范式中真的有可能吗?

我是在 NoSQL 的背景下提出这个问题的——它在不昂贵的情况下实现了可扩展性和性能。

那么,如果我需要实现跨数据库的大规模并行分布式计算……今天(在 RDBMS 范式中)有哪些可用的各种方法来实现具有高可扩展性的分布式计算?

数据库集群和镜像是否对分布式计算有任何贡献?

0 投票
3 回答
716 浏览

database - 分布式数据库中的数据分配

如何优化分布式数据库中的数据分配?

有没有解决这个问题的软件产品?

例如:

分布式数据库有一些连接的服务器。每个服务器同时是这个数据库的一个客户端。

数据库有很多表。

我们统计了从每个客户端到特定表的查询。

每台服务器的数据存储都有一定的价格。对于每对服务器和客户端,都有一些传输价格。

目标:以最佳方式分配服务器上的所有表(或部分表)。

为了解决这个问题,我们可以应用多种启发式算法:遗传算法、进化策略、蚂蚁算法等。

但是我找不到任何可以实现这些算法的现成软件工具。

是否有任何工具可以解决分布式数据库(Oracle 或其他)的这个问题?

有人关心它吗?

也许有人有分布式数据库的查询统计系统示例,这些系统已经以这种方式优化?

谢谢!

0 投票
1 回答
793 浏览

distributed-database - 使用数据库的分布式 C++ 游戏服务器

我的 C++ 回合制游戏服务器(使用数据库)不支持当前平均数量的客户端(玩家),所以我想将它扩展到多个(多于一个)数量的计算机和数据库,所有客户端仍将保留在其中单一游戏世界(服务器必须相互通信并使用多个数据库)。

是否有一些教程/书籍/通用标准可以解释如何以最佳方式做到这一点?

0 投票
1 回答
1452 浏览

nosql - 具有实时多主机复制的键值存储

是否有满足以下条件的开源​​分布式键值存储。

  • 几乎实时的多主机复制。(决胜局将基于时间戳,而不是更复杂的东西)
  • 如果与其余节点断开连接,每个节点都应该能够使用其本地数据(基于一致散列的方法将不可行)。
  • 预计最大节点数约为 10。

评价如下。

  • 内存缓存数据库
  • 沙发数据库
  • 卡桑德拉

发现上面的并不能满足所有的要求。