标签: distributed-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使用)
  • 东京内阁/东京暴君(键值,用C语言写的,由Mixi.jp(日本社交网站)使用)

我想知道您的具体问题 - SO读者 - 使用数据存储解决了您使用的NoSQL数据存储.

问题:

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

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

database nosql graph-databases key-value-store distributed-database

189
推荐指数
6
解决办法
2万
查看次数

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

我需要一种方法来跨越(可能)数百GB的数据进行键值查找.理想情况下基于分布式散列表的东西,与Java很好地协作.它应该是容错的,并且是开源的.

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

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

谁能推荐任何东西?

java database bigtable key-value-store distributed-database

16
推荐指数
2
解决办法
5533
查看次数

Amazon DynamoDB条件写入和原子计数器

我正在处理的应用程序当前要求我在20到30分钟的时间内多次递增属于DynamoDB中项目的属性.我一直在做一些关于DynamoDBs 条件写入和原子计数器的额外阅读

发电机中的原子计数器似乎是我需要的合理选择,但我确实担心数据的一致性,特别是在发电机等分布式数据库中,并且会发出数据的准确性.我期望API在高峰时刻受到重创,但我想避免与条件更新相关的性能问题.我想我想知道原子计数器对DynamoDB的可靠性以及如何使用dynamo正确实现它们.其他建议也欢迎.

distributed-database database-concurrency amazon-dynamodb

10
推荐指数
1
解决办法
7291
查看次数

MySQL Cluster 7.3如何实现99,999%的可用性?与CAP定理的对立

根据"使用MySQL群集扩展Web数据库指南",MySQL Cluster 7.3可以在使用同步更新复制时获得99,999%的可用性.这将是CAP定理的一个对立面,因为它表明完美的可用性(99,999%可以看作是这样,没有?)并且在分布式系统中一致性是不可行的.

如果无法访问负责副本的datanode,群集将如何响应更新?对于同步更新复制,它必须阻止,这将影响可用性.

指南指出:

  • 数据节点内的数据同步复制到节点组内的所有节点.如果数据节点发生故障,则始终存在至少一个存储相同信息的其他数据节点.
  • 如果数据节点发生故障,MySQL服务器或应用程序节点可以使用节点组中的任何其他数据节点来执行事务.应用程序只是重试事务,其余数据节点将成功满足请求.

但是,如果节点组包含两个节点和一个崩溃(例如此处),那么它如何工作呢?根据我的理解,没有Node可以将更新复制到使用同步更新复制时更新失败的内容?!复制是否只是在没有节点写入副本的时候暂停?

mysql high-availability consistency distributed-database

6
推荐指数
1
解决办法
715
查看次数

寻找具有.NET或C++绑定的成熟,可扩展的GraphDB

我对GraphDB的基本要求:

  • 成熟(准备就绪)
  • 本机.NET或C++语言绑定
  • 横向可扩展性:两者
    • 自动数据冗余和分片
    • 分布式图算法/查询执行

目前我取消了以下资格:

  • InfiniteGraph:没有C++/.NET语言绑定
  • HyperGraphDB:没有C++/.NET语言绑定
  • Microsoft Trinity:尚未成熟
  • Neo4j:没有分发

我不确定以下的可扩展性:

  • 稀疏性DEX
  • Franz Inc. AllegroGraph
  • Sones GraphDB

我发现有关水平可扩展性功能的可用信息非常普遍.我想这有充分的理由.

任何信息,将不胜感激.

nosql graph-databases distributed-database

4
推荐指数
1
解决办法
1068
查看次数

Cassandra在哪个节点上存储数据?

是否有命令或任何方式知道什么数据存储在Cassandra的哪些节点上?

我对Cassandra很新,并且没有太多运气在谷歌搜索这个问题.

谢谢!

cassandra distributed-database

4
推荐指数
1
解决办法
1561
查看次数

如何防止可能想要更改/删除DHT数据的恶意DHT客户端?

好吧,让我们说我有一个DHT运行10个客户端,其中包含大量数据.

恶意客户端运行我的程序的备用版本是否相对容易,这可能会对我的数据执行潜在的破坏性操作(例如替换密钥,删除密钥,更改数据,删除整个DHT等等). ..)

我该如何防止这种情况发生?

我只能想到:

  • 校验和验证程序,只允许那些连接.但这会被黑客攻击吗?

  • 使用某种密钥验证每个DHT客户端.

有谁知道如何防止这种情况?提前致谢.

distributed dht distributed-database

3
推荐指数
1
解决办法
153
查看次数

Aerospike:一级和二级索引在内部如何工作

我们正在使用Aerospike DB,并正在阅读文档。
我找不到很好的算法解释来解释主索引和次索引的工作原理。
该文档说,它使用某种分布式哈希+ B树。

有人可以解释一下。

clustered-index distributed-database aerospike

3
推荐指数
1
解决办法
350
查看次数

Presto 与 Impala:架构、性能、功能

您能否在 2019 年强调两者在架构和功能方面的主要差异?以及这些差异如何影响性能?

出于某种原因,这个很好的问题被标记为基于意见。

额外问题:为什么亚马逊决定使用 Presto 作为 Athena 的引擎?无论如何它比Impala更好吗?

UPD

f PrestoDB 和 Impala 相同,为什么它们在硬件要求上如此不同?Presto 要求 16 GB+ 的 RAM,Impala 要求 128 GB+ 的 RAM

olap database-design distributed-database presto impala

3
推荐指数
1
解决办法
3207
查看次数

YugaByte DB 的复制模型如何?

YugaByte DB 的复制模型与 PostgreSQL 主从复制相比,有何相似或不同?

database distributed-database yugabytedb

2
推荐指数
1
解决办法
123
查看次数

将本地 CockroachDB 节点添加到 Kubernetes 中托管的集群

我计划部署一个小型 Kubernetes 集群(3 个 32GB 节点)。我对 K8S 没有经验,我需要想出某种有弹性的 SQL 数据库设置,CockroachDB 似乎是一个不错的选择。

我想知道是否可以相对容易地部署一个配置,其中一些 CockroachDB 实例(节点?)位于 K8S 集群内部,但同时其他一些实例位于 K8S 集群外部(2 个本地虚拟机)。所有这些 CockroachDB 都需要被视为单个 CockroachDB 集群。还值得注意的是,Kubernetes 将托管在云中(例如 Linode)。

我所说的相对容易是指:

  • 简单化部署
  • 需要很少的维护

distributed-database kubernetes cockroachdb

2
推荐指数
1
解决办法
242
查看次数

YugaByte DB 中的临时表

许多数据库中都存在临时表的概念。YugaByte DB SQL 集群是否有支持临时表的计划?

database distributed-database yugabytedb

1
推荐指数
1
解决办法
234
查看次数