Cassandra替代PostgreSQL

Cassandra替代PostgreSQL,postgresql,apache-spark,cassandra,Postgresql,Apache Spark,Cassandra,具有多个节点的Cassandra是取代单节点PostgreSql的好选择吗?存储的数据是一个时间序列。它的容量已经达到了数十千兆字节,并有望增长。数据库应该集成到以ApacheSpark作为源和可能的结果目标的管道中。 需要什么: 1) 冗余:一个节点故障不应停止系统(所有数据都应可用) 2) 速度:更多节点-为一个客户端每次插入/选择的时间更短 3) 并发性:更多节点-从不同客户端同时插入/选择的速度更快 1) 在选择插入和选择的键空间复制因子RF和一致性级别CL时,这是一个由您决定的问题。要

具有多个节点的Cassandra是取代单节点PostgreSql的好选择吗?存储的数据是一个时间序列。它的容量已经达到了数十千兆字节,并有望增长。数据库应该集成到以ApacheSpark作为源和可能的结果目标的管道中。 需要什么:
1) 冗余:一个节点故障不应停止系统(所有数据都应可用)
2) 速度:更多节点-为一个客户端每次插入/选择的时间更短
3) 并发性:更多节点-从不同客户端同时插入/选择的速度更快

1) 在选择插入和选择的键空间复制因子RF和一致性级别CL时,这是一个由您决定的问题。要保持可用性和一致性,您需要为一个节点的手动丢失插入和选择设置RF=3和CL.QUORUM(对于QUORUM,您需要在线设置RF/2+1节点,3/2+1=2-整数除法,如果RF=5,则需要在线设置5/2+1=3个节点,以便您可以处理2的丢失)

2) 单个请求将由集群中作为协调器的单个节点处理。在这里,单次和同步需求不会获得太多性能。如果发出任何请求并使用async,您将在更多节点上拆分请求并获得性能


3) 有了更多的客户端,您就有了相同的效果——协调器将被随机挑选(好的,TokenAwarePolicy将挑选一个合适的协调器)

您提到了使用时间序列数据。 1.当然,您可以改变复制因子和一致性级别。因此,是的,卡桑德拉可以作为替代品。
2.当卡桑德拉首先写入内存时,插入速度会非常快。所以,是的,卡桑德拉将是一个很好的替代者
3.Cassandra具有线性水平可伸缩性。因此,是的,卡桑德拉可以作为替代品。
缺点是Cassandra是一个键值存储。因此,您应该围绕查询对表结构进行建模。而PostgreSQL作为RDBMS更为灵活,支持整套SQL操作。
您可以阅读更多有关将Cassandra与时间序列数据和数据结合使用的利弊的信息