个性化阅读
专注于IT技术分析

Cassandra数据模型

点击下载

本文概述

Cassandra中的数据模型与通常在RDBMS中看到的完全不同。让我们看看Cassandra如何存储其数据。


Cassandra数据库分布在一起操作的多台计算机上。最外面的容器称为群集, 其中包含不同的节点。每个节点都包含一个副本, 如果发生故障, 则由副本负责。 Cassandra以环形格式将节点排列在群集中, 并为其分配数据。


键空间

键空间是Cassandra中数据的最外层容器。以下是Cassandra中Keyspace的基本属性:

  • 复制因子:它指定群集中将接收相同数据副本的计算机的数量。
  • 复制品放置策略:这是一种选择如何在环中放置复制品的策略。共有三种策略, 例如:

1)简单策略(机架感知策略)

2)旧的网络拓扑策略(机架感知策略)

3)网络拓扑策略(数据中心共享策略)

  • 列族:列族位于键空间下。键空间是一个或多个列族列表的容器, 而列族是行集合的容器。每行包含有序的列。列族代表数据的结构。每个键空间至少有一个列族, 经常有许多列族。

在Cassandra中, 良好的数据模型非常重要, 因为不良的数据模型会降低性能, 尤其是当你尝试在Cassandra上实现RDBMS概念时。


Cassandra数据模型规则


数据建模目标

在Cassandra中进行数据建模时, 你应该有以下目标:

  • 在群集中均匀分布数据:要在Cassandra群集的每个节点上均匀分布数据量, 你必须选择整数作为主键。基于作为主键第一部分的分区键, 数据被传播到不同的节点。
  • 最小化查询数据时读取的分区数量:分区用于绑定具有相同分区键的一组记录。发出读取查询时, 它将从不同分区的不同节点收集数据。

对于许多分区, 需要访问所有这些分区以收集查询数据。这并不意味着不应创建分区。如果你的数据非常大, 则无法将大量数据保留在单个分区上。单个分区将变慢。因此, 你必须具有均衡数量的分区。


赞(1)
未经允许不得转载:srcmini » Cassandra数据模型

评论 抢沙发

评论前必须登录!