问题标签 [cassandra]
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.
couchdb - 键值存储中的原子事务
请原谅术语中的任何错误。特别是,我正在使用关系数据库术语。
有许多持久键值存储,包括CouchDB和Cassandra,以及许多其他项目。
反对它们的一个典型论点是它们通常不允许跨多行或多表的原子事务。我想知道是否有一种通用方法可以解决这个问题。
以一组银行账户的情况为例。我们如何将钱从一个银行账户转移到另一个银行账户?如果每个银行账户都是一行,我们希望更新两行作为同一交易的一部分,减少一个的值并增加另一个的值。
一种明显的方法是有一个单独的表来描述事务。然后,将资金从一个银行账户转移到另一个银行账户只需在该表中插入一个新行。我们不存储两个银行账户中的任何一个的当前余额,而是依赖于汇总交易表中所有适当的行。然而,很容易想象这将是太多的工作。一家银行每天可能有数百万笔交易,而一个单独的银行账户可能很快就会有数千笔与之相关的“交易”。
如果基础数据自您上次抓取后发生更改,则许多(全部?)键值存储将“回滚”操作。可能这可用于模拟原子事务,然后,您可以指示特定字段已锁定。这种方法存在一些明显的问题。
还有其他想法吗?完全有可能我的方法完全不正确,而且我还没有把我的大脑包裹在新的思维方式上。
couchdb - Cassandra 和 CouchDB 有什么区别?
我正在查看这两个项目,但我看不出有什么区别
来自卡桑德拉网站:
Cassandra 是一个高度可扩展、最终一致、分布式、结构化的键值存储……Cassandra 是最终一致的。与 BigTable 一样,Cassandra 提供了比典型的键/值系统更丰富的基于 ColumnFamily 的数据模型。
来自 CouchDB 网站:
Apache CouchDB 是一个分布式、容错和无模式的面向文档的数据库,可通过 RESTful HTTP/JSON API 访问。
也就是说,我认为每个项目之间的具体差异为:访问方法、书面语言等。但举个例子,当您谈论SOLR或Sphinx时,您知道两者都是具有很大差异的索引器,但最终都是索引器。
我可以在这里说 Cassandra 和 CouchDB 是非关系数据库,在某些情况下可以互相替换吗?
oracle - Cassandra 与 Oracle Coherence 有什么区别?
假设 Oracle Coherence 是免费的 :)
你更倾向哪个?
Oracle Coherence(Tangosol) 和 Cassandra 的架构和特性能力有何不同?
此致
couchdb - 哪个是最适合 RDBMS 背景人员的 Key-Value Store?
在所有键值存储中是否有明显的赢家?Cassandra、MongoDB、CouchDB?他们都遵循一些中央指导方针吗?或者他们在定义 API 时都有自己的发言权。
我在问这个问题,尤其是从刚接触键值存储的 RDBMS 技术人员的角度来看。我们应该遵循哪一个来最好地掌握对该领域的理解/使用?
我们从他们的理论中了解到 RDMS,即所有可用的 DB(Oracle、SQL Server 等)都将具有所有工件,例如表、索引、外键等。唯一的区别是效率、安全性和特性。
我如何知道这些以文档为中心的数据库的普遍理论,并知道所有这些数据库(Mongo、Couch 等)将拥有的最小工件是什么?
database-design - 设计 Cassandra 数据模型的最佳实践是什么?
有哪些需要避免的陷阱?您是否有任何交易中断?例如,我听说导出/导入 Cassandra 数据非常困难,这让我想知道这是否会妨碍将生产数据同步到开发环境。
顺便说一句,很难找到关于 Cassandra 的好的教程,我只有一个http://arin.me/code/wtf-is-a-supercolumn-cassandra-data-model仍然很基础。
谢谢。
cassandra - 将海量有序时间序列数据存储在 bigtable 衍生品中
我试图弄清楚这些新奇的数据存储,如 bigtable、hbase 和 cassandra 到底是什么。
我处理大量的股票市场数据,数十亿行的价格/报价数据,每天可以添加多达 100 GB 的数据(尽管这些文本文件通常至少压缩一个数量级)。这些数据基本上是一些数字、两三个短字符串和一个时间戳(通常是毫秒级)。如果我必须为每一行选择一个唯一标识符,我将不得不选择整行(因为交换可能会在同一毫秒内为同一符号生成多个值)。
我想将这些数据映射到 bigtable(我包括它的派生词)的最简单方法是通过符号名称和日期(这可能会返回一个非常大的时间序列,超过一百万个数据点并非闻所未闻)。从阅读他们的描述来看,这些系统似乎可以使用多个键。我还假设十进制数字不是键的好候选者。
其中一些系统(例如 Cassandra)声称能够进行范围查询。例如,我是否能够在上午 11:00 到下午 1:30 之间有效地查询给定日期的 MSFT 的所有值?
如果我想搜索给定日期的所有符号,并请求价格在 10 美元到 10.25 美元之间的所有符号(所以我正在搜索值,并希望返回键作为结果)怎么办?
如果我想得到两个时间序列,从另一个中减去一个,然后返回两个时间序列及其结果,我是否必须在我自己的程序中执行他的逻辑?
阅读相关论文似乎表明这些系统不太适合大规模时间序列系统。但是,如果像谷歌地图这样的系统是基于它们的,我认为时间序列应该也可以工作。例如,将时间视为 x 轴,将价格视为 y 轴,将符号视为命名位置——突然之间,bigtable 似乎应该是时间序列的理想存储(如果可以存储、检索整个地球) ,缩放和注释,股市数据应该是微不足道的)。
一些专家可以指出我正确的方向或消除任何误解。
谢谢
cassandra - Cassandra 使用有序分区器进行负载平衡?
所以我在这里看到 Cassandra 没有自动负载平衡,这在使用有序分区器时会出现(一组行的某个常见值范围将存储在相对较少的机器上,然后这些机器将服务于大多数查询)。
设计 Cassandra 数据模型的最佳实践是什么?
我对 Cassandra 及其工作原理仍然很陌生。如何避免这个问题,以便范围查询仍然是可能的?我并没有真正得到关于将哈希附加到键的上述答案(链接的 url)的想法。
nosql - Cassandra 与 Amazon SimpleDB
我正在开发一个数据大小和 SQL 查询会很繁重的应用程序。我在考虑 Cassandra 或 Amazon SimpleDB。您能建议哪种更适合这种情况吗?
Cassandra 数据索引似乎比 Amazon simpleDB 更好,但与 Amazon SimpleDB 相比,查询的选项更少。似乎 Amazon SimpleDB 的 I/O 率很高。
很少有复杂的用例是具有不同过滤器的用户活动,用户可以将其缩小到一些有趣的活动。
如果您认为除了这两个之外还有其他更清洁和更好的解决方案,请提出建议。
cassandra - 更新现有列值
为现有列添加新值时会发生什么?旧值会被新值覆盖吗?还是旧值也将保留并可以检索(类似于 simpleDB)?
nosql - Cassandra 是否适合用作主数据存储?
我正在为即将到来的项目评估存储平台,并不断回到 Cassandra。对于这个项目,丢失任何数量的数据都是不可接受的。到目前为止,我们使用的是关系型数据库(Microsoft SQL Server),但数据种类繁多且庞大,以至于存储和查询成为问题。
Cassandra 是否足够强大,可以用作主数据存储?还是应该只用于镜像现有数据以加快访问速度?