cassandra跨多个读取请求进行读取

cassandra跨多个读取请求进行读取,cassandra,Cassandra,Cassandra是使用并发线程来读取列族的sstables以满足对行键的读取请求,还是单个工作线程跨多个sstables进行查找 一个比另一个(使用并发线程和单线程)的开销是多少?Cassandra实现了一个阶段性事件驱动体系结构(SEDA),请参阅 在典型应用中,单个工作单元通常在单个线程的范围内执行。例如,写入操作将在同一线程内开始和结束。但是,Cassandra不同:它的并发模型基于SEDA,因此单个操作可能从一个线程开始,然后将工作交给另一个线程,而另一个线程可能将工作交给其他线程。但

Cassandra是使用并发线程来读取列族的sstables以满足对行键的读取请求,还是单个工作线程跨多个sstables进行查找


一个比另一个(使用并发线程和单线程)的开销是多少?

Cassandra实现了一个阶段性事件驱动体系结构(SEDA),请参阅


在典型应用中,单个工作单元通常在单个线程的范围内执行。例如,写入操作将在同一线程内开始和结束。但是,Cassandra不同:它的并发模型基于SEDA,因此单个操作可能从一个线程开始,然后将工作交给另一个线程,而另一个线程可能将工作交给其他线程。但是将工作交给另一个线程并不取决于当前线程。相反,工作被细分为所谓的阶段,与该阶段关联的线程池(实际上是一个java.util.concurrent.ExecutorService)决定执行。一个阶段是一个基本的工作单元,单个操作可能会在内部表示从一个阶段到下一个阶段的转换。因为每个阶段都可以由不同的线程池处理,所以Cassandra的性能得到了极大的提高。读取在cassandra中表示为一个阶段,因此读取阶段中肯定涉及多个线程,您必须深入查看源代码,以了解读取阶段中的多个线程是否用于读取。cassandra实现了阶段事件驱动体系结构(SEDA),请参阅

在典型应用中,单个工作单元通常在单个线程的范围内执行。例如,写入操作将在同一线程内开始和结束。但是,Cassandra不同:它的并发模型基于SEDA,因此单个操作可能从一个线程开始,然后将工作交给另一个线程,而另一个线程可能将工作交给其他线程。但是将工作交给另一个线程并不取决于当前线程。相反,工作被细分为所谓的阶段,与该阶段关联的线程池(实际上是一个java.util.concurrent.ExecutorService)决定执行。一个阶段是一个基本的工作单元,单个操作可能会在内部表示从一个阶段到下一个阶段的转换。因为每个阶段都可以由不同的线程池处理,所以Cassandra的性能得到了极大的提高。读在cassandra中表示为一个stage,因此读阶段中肯定涉及多个线程,您必须深入查看源代码,以了解读阶段中的多个线程是否用于读