在使用 Cassandra 的 nosql 结构中,哪种解决方案会更快?
In a nosql structure using Cassandra what solution would be faster ?
在具有 2 个节点的设置中,使用 Cassandra 并给定一个新的键空间,该设置在性能、读取和写入方面会更快,(A) 具有 class 中所有属性的结构或(b) 几个classes与其各自的属性相关?
(A) 的示例可以是:
PRICE
=====
id: bigint
openask : float
openbid : float
closeask : float
closebid : float
date : date
currencypair : string
而 (B) 的示例可以是:
PRICE
=====
id: bigint
open: openid
close: closeid
currencypair: currencyid
date: date
OPEN
====
openid: bigint
openbid: float
openask: float
CLOSE
=====
closeid: bigint
closebid : float
closeask : float
CURRENCYPAIR
============
currencyid: bigint
currencyname : String
我认为您正在尝试将非 sql 数据库与 rdbms 数据库的思维方式进行比较。
在使用 cassandra 操作时,您需要专注于使用尽可能少的查询。
专门针对读取,因为每次读取查询都会涉及到网络行程时间。
现在看看你的需求,就很清楚了。
从第一种方法读取需要 1 个查询,而从第二种方法读取需要 4 个查询。
请记住,在像 cassandra 这样的数据库中,如果您的需求是读取密集型的,那么在大多数情况下规范化并不是一个好主意。
在具有 2 个节点的设置中,使用 Cassandra 并给定一个新的键空间,该设置在性能、读取和写入方面会更快,(A) 具有 class 中所有属性的结构或(b) 几个classes与其各自的属性相关?
(A) 的示例可以是:
PRICE
=====
id: bigint
openask : float
openbid : float
closeask : float
closebid : float
date : date
currencypair : string
而 (B) 的示例可以是:
PRICE
=====
id: bigint
open: openid
close: closeid
currencypair: currencyid
date: date
OPEN
====
openid: bigint
openbid: float
openask: float
CLOSE
=====
closeid: bigint
closebid : float
closeask : float
CURRENCYPAIR
============
currencyid: bigint
currencyname : String
我认为您正在尝试将非 sql 数据库与 rdbms 数据库的思维方式进行比较。
在使用 cassandra 操作时,您需要专注于使用尽可能少的查询。 专门针对读取,因为每次读取查询都会涉及到网络行程时间。
现在看看你的需求,就很清楚了。 从第一种方法读取需要 1 个查询,而从第二种方法读取需要 4 个查询。
请记住,在像 cassandra 这样的数据库中,如果您的需求是读取密集型的,那么在大多数情况下规范化并不是一个好主意。