在java商城开发中我们都清楚的知道Cassandra与HBase都是NoSQL数据库。总体上看,这意味着用户无法使用SQL数据库。不过,Cassandra使用的是CQL(Cassandra 查询语言),其语法有明显模仿SQL的痕迹。
在jsp商城开发中两者都被设计用于管理非常大的数据集。HBase文件声称一个HBase数据库可以拥有数亿个,甚至是数十亿个行。此外,用户还被建议继续使用关系型数据库。两者都是分布式数据库,不仅仅是在数据的存储方式上,在数据访问方式上亦是如此。客户端可以与集群中的任意节点相连,并访问任意的数据。 两者都宣称拥有近似于线型的扩展能力。想要管理两倍规模的数据吗?用户只需将集群中的节点扩展两倍即可。
两者都是通过复制来防止集群节点故障而导致出现数据损失。被写入数据库的行主要由单个集群节点负责(行至节点映射取决于用户所使用的分区模式)。数据会被镜像到称之为冗余节点的其他集群成员当中(用户可配置的复制因子会显示数量)。如果主要节点出现了故障,那么数据仍然可以从另外的冗余节点中被读取。
两者都被称之为列式数据库。由于它们的名字听起来像是关系型数据库,因此用户在接触中需要在思想上进行调整,这导致用户对它们的认知会出现混淆。最容易出现混淆的地方是,数据在表面上最初是由行进行排列的,表的主要键是行键。但是与关系型数据库不同,在列式数据库中,没两个行需要相同的列。正如上面所说的那样,在表被创建后,用户能够快速在行中加入列。实际上,你能够向一行中增加许多列。虽然最高上限值难以被准确地计算出来,但是用户几乎不可能达到这样的上限,即便他们加入大量列的情况下也是如此。