DataStax评论:Cassandra变得更快,更容易

正如我在2016年对Google Cloud Bigtable的评论中所讨论的那样,Google在2006年的Bigtable论文中启发了几个大规模的分布式开源NoSQL数据库,包括Apache HBase和Apache Cassandra。 我继续解释说,Cassandra是使用Bigtable和键值存储区Amazon Dynamo的想法出生在Facebook上的,并且虽然Cassandra比HBase流行一些,但它具有类似SQL的查询语言(CQL),并且更容易要比HBase正常运行,它仍然很复杂并且学习曲线很重要。

Google Cloud Bigtable是运行您自己的Cassandra集群的一种很好的托管替代方案。 其他包括DataStax Enterprise(DSE)和DataStax托管云。

[入门: Azure云迁移指南 •教程: Google Cloud入门 | 通过InfoWorld的云计算新闻通讯了解云计算的最新发展。 ]

为什么选择DataStax? 本质上,DataStax是受支持的Cassandra企业版,具有改进的性能和安全性,大大改善的管理,高级复制,内存中的OLTP,大容量加载器,分层存储,搜索,分析和开发人员工作室。 并非巧合的是,DataStax员工贡献了Apache Cassandra项目中大约85%的代码。

像Bigtable和Cassandra一样,DataStax最适合大型数据库(TB到PB),并且最适合与每行有很多列的非规范化架构一起使用。 DataStax和Cassandra用户倾向于将其用于超大型应用程序。 例如, eBay使用DataStax Enterprise存储250 TB的拍卖数据,每天有60亿次写入和50亿次读取。 苹果拥有( 或拥有 )75,000个Cassandra节点,可存储10 PB以上的数据。

什么是卡桑德拉?

从本质上讲,Apache Cassandra是一个高度可用的分布式数据存储,它重视可用性和分区容忍度,而不是一致性。 Cassandra的设计将Amazon Dynamo键值存储的分区和复制与Google Bigtable的日志结构,列族数据模型结合在一起。 当您添加节点时,Cassandra会线性缩放。

在Cassandra中一致性并没有完全丧失; 这是对延迟的权衡。 用户可以指定每次读取和写入的一致性级别,范围从只需要一个节点到集群仲裁,再到需要所有节点。 另一个中间选项是需要本地仲裁,这是一种无需等待远程节点更新即可在数据中心内保持一致性的方法。

在物理级别,Cassandra体系结构将节点组织到称为数据中心的对等体的环中,并允许将多个数据中心连接到一个群集中。 为了持久性,所有数据都首先写入提交日志,然后索引并添加到memtable中 。 当内存表已满时,它将作为SSTable (排序字符串表)数据文件刷新到磁盘。 根据配置的复制策略,所有写入将自动在整个群集中进行分区和复制,直到配置的副本数。

从逻辑上讲,Cassandra是一个分区的行存储数据库,其中行被组织成具有所需主键的表; 辅助键是可选的。 任何授权用户都可以连接到任何数据中心中的任何节点,并使用CQL语言访问数据,该语言使用类似SQL的语法并可以处理表数据。 开发人员可以通过CQL shell( cqlsh ),DevCenter以及用于应用程序语言的驱动程序来访问CQL。

通常,一个群集每个应用程序有一个键空间,该键空间由许多不同的表组成。 复制在键空间级别声明。 您可以为客户端会话或单个读取或写入操作配置一致性。

从一开始,Cassandra就支持键值和列数据。 后来,添加了对JSON的支持,允许将Cassandra用作文档数据库,尽管CQL模式仍在JSON插入中强制执行,这与允许无模式文档的MongoDB不同。 在不违反架构的情况下,可以在各个Cassandra表行中省略列,这是一个稀疏的数据库,例如Bigtable。

什么是DataStax Enterprise?

DataStax为Cassandra增加了功能和性能。 具体支持哪些功能取决于您使用的是Basic版本还是Enterprise版本。 每个群集必须是一个或另一个。

基本订阅添加了生产认证的Cassandra版本; NodeSync和TrafficControl(自动修复和反压机制以简化操作); 更高的吞吐量和更低的延迟; 快速的散货装载机; DataStax Studio开发人员工具; 以及支持和服务。 企业订阅还包括自动生命周期管理服务; 高级复制; 分层存储; 基于Apache Solr的集成搜索; 基于Apache Spark的集成分析(但速度更快); 和OpsCenter(请参见下面的屏幕截图)。 DSE可以部署在本地,云或混合云中。 可以将图形数据库层DSE Graph添加到DataStax Enterprise。

dse opscenter IDG

DataStax的OpsCenter可以在云中或本地时跨多个数据中心监视和控制您的DataStax Enterprise安装。

什么是DataStax托管云?

DataStax托管云是您的AWS或Azure云资产中DSE的“白手套”安装。 根据DataStax的说法,对于需要管理方面的帮助或希望释放DBA来从事更有趣工作的公司而言,托管云是一个不错的选择。 希望获得实时和地理分布数据的公司; 当DBA培训成为负担时。

尽管Google Cloud Bigtable是一种低接触的服务,但它却可以使用,但DataStax托管云是一种高接触的服务。 这表明DataStax可能不如Bigtable强大和成熟。 考虑到Bigtable作为许多Google大型服务(包括网络搜索)的数据库的历史,这并不奇怪。

DSE 6有什么新功能?

Apache Cassandra臭名昭著,因为需要手动修复才能使其群集正常运行并同步节点。 DSE NodeSync消除了运行修复脚本的需要,并消除了手动修复失败时可能发生的群集中断。

DSE 6具有先进的性能。 根据DataStax的说法,它可以分解为每核线程的体系结构,与开源Cassandra相比,读和写操作的吞吐量最多可提高2倍。 与开放源代码Cassandra相比,存储引擎优化可将延迟减少一半; 批量加载器,其速度比以前的数据加载和卸载实用程序快4倍; 以及连续分页功能,使DSE Analytics读取性能比开源Cassandra和Apache Spark高出三倍。

DSE TrafficControl会自动防止DSE节点过载客户端或副本请求。 DSE升级服务是OpsCenter LifeCycle Manager的一部分,可大大减少手动参与补丁升级的过程。

DSE AnalyticsDSE GraphDSE Search for DSE 6中有几个新功能,以及更细粒度的安全设置 。 对DataStax Studio的改进跟踪了DSE Analytics中的改进,例如对Spark SQL的支持以及对具有交互式图的 DSE Graph的扩展IDE支持。

DSE 6安装

根据是为生产安装还是为开发和测试安装,可以使用多种方法安装DSE 6。 一种方法是安装OpsCenter,然后使用其Lifecycle Manager GUI(请参见下面的并行屏幕截图)通过RHEL或Debian软件包以及DataStax代理来安装DSE,前提是目标已经安装了SSH和Python。

dse创建集群 IDG

您可以从OpsCenter中的Lifecycle Manager创建DataStax Enterprise集群及其节点。

另一种方法是使用Yum(RHEL)或APT(Debian),前提是您具有root权限,这通常是在生产中完成的。 第三个选项(由文档提供)是从tarball安装。 在云VM上进行安装基本上是从受支持的OS映像创建实例,然后从该实例运行该OS的安装程序。

此时,严格将DSE与Docker映像一起安装是为了进行开发和测试。 最终可能会获得生产认证。

如果您愿意为DataStax托管云付费,DataStax将为您完成所有安装和配置。

DSE基准

在2018年5月, zData针对Apache Cassandra 3.0在五个AWS i3.8xlarge实例作为数据库节点,以及10个较小的节点作为运行cassandra-stress应用程序的客户端上针对Apache Cassandra 3.0进行了基准测试,以DataStax Enterprise 6.0和DataStax Enterprise 5.1为基准 。 zData测试了各种各样的读/写比率,并将数据库的容量提高到了约75%,拥有约2.5 TB的总数据,按Cassandra标准,此数据很小,但足以进行基准测试。 尽管我没有尝试过, 基准纸中有足够的信息可以重现测试。

对于90%的写入和10%的读取工作负载(这是典型的IoT用例),DSE 6的吞吐量比Cassandra大约提高了3倍,而DSE 5则提高了2倍:

dse卡桑德拉吞吐量 数据

对于90%的写入和10%的读取,zData的吞吐量基准测试结果显示DSE 6的倍数比DSE 5和Cassandra 3快。

请注意,对于这种工作负载,DSE 6每秒实现124K写操作,对于这种实例大小的选择,每个节点每秒大约25K写操作。 AWS i3.8xlarge实例经过存储优化,具有32个vCPU,244 GiB RAM和四个1900 GB NVMe SSD,每小时每个节点的价格为2.496美元。 每天大约60美元,这还不包括DSE的费用。

相比之下,对于SSD群集,Google指定典型的Cloud Bigtable稳态性能为每秒每节点10K查询,同时读写时间为6毫秒。 Cloud Bigtable节点的费用为每个节点每小时$ 0.65,另加每月每GB $ 0.17。 如果有相当数量的SSD存储(4 x 1900 GB),则Cloud Bigtable的每个节点每天的成本略低于60美元。

DSE 6还显示了此测试的较低延迟:

DSE Cassandra延迟 数据

对于90%的写入和10%的读取工作负载,DSE 6还显示出减少的延迟。

对于50%的读取/ 50%的写入和10%的写入/ 90%的读取工作负载,DSE 6所显示的性能改进更为明显。

使用DSE 6

DSE 6具有用于C / C ++,C#,Java,Node.js,PHP,Python和Ruby的语言驱动程序; 这些都支持CQL和DSE特定的功能。 Cassandra还有另外九个社区支持的语言驱动程序。 支持Apache TinkerPop的图形扩展适用于C#,Java,Node.js和Python。 有用于从BI工具和其他使用SQL的系统连接到Cassandra和DSE的ODBC和JDBC驱动程序,还有一个Spark连接器,既将表公开为Spark RDD,又将RDD写入表。

DSE 6包括CQL Shell命令行和集成开发环境。 DataStax Studio(如下所示)是面向笔记本的交互式工具,用于CQL(卡桑德拉查询语言),Spark SQL和DSE Graph。

DSE Studio推出 IDG

DataStax Studio具有Jupyter笔记本界面,并随附七个教程笔记本。 它支持CQL,Spark SQL和TinkerPop。

对于基本的本地烟雾测试,我下载了DSE 6.0.2 tarball并将其解压缩到已经安装了Java 8和Python的iMac上。 压缩包占用了约920 MB的空间,除打开包装外,无需安装。

没有为DataStax Academy视频之一显示打包的Mac安装程序,我感到很惊讶,但是显然,这种选择在某个时候消失了。 我第一次尝试从Terminal运行dse Cassandra时,它在其日志目录中引发了Java错误。 当我尝试通过使用sudo运行命令来覆盖权限问题时,Cassandra抱怨。 最后,我手动创建了日志目录,这次Cassandra在没有root许可的情况下启动。 nodetool status命令告诉我,数据中心名称为Cassandra,并且可以使用cqlsh连接到集群。

dse运行cqlsh IDG

DSE 6.02 Cassandra正在运行; nodetool报告数据中心名称为Cassandra; cqlsh可以连接到本地群集。

我能够有选择地按照一些DataStax Academy课程材料创建一个键空间和一些表:

dse cql创建密钥空间 IDG

从CQL Shell创建一个键空间和一些表。 请注意,复制策略和复制因子是在键空间级别设置的。

当我完成DSE Cassandra的工作后,我运行了nodetool stopdaemon使其关闭。

从卡桑德拉升起

如果您需要Cassandra的规模,这意味着您需要管理数十或数百TB的数据,并且可以使用主要是宽列的NoSQL数据库,并且需要商业支持和更好的性能。开源Cassandra,DataStax Enterprise 6是一个不错的选择。 不幸的是,DataStax没有公开提供订阅价格,只是解释了三个选项:基本,企业和托管云。

没有价格,我无法说说DataStax Enterprise在Google Cloud Bigtable方面是否具有竞争力,或者您在DataStax上的支出是否可以与拥有比开源Cassandra更少的服务器以及更少的数据库管理员所节省的费用相提并论。 但是,DataStax Enterprise的速度和维护方面的改进非常吸引人,您可能想对DSE 6进行概念验证,并向DataStax询问生产价格。

-

成本:开源Apache Cassandra是免费的。 DataStax Enterprise可免费用于非生产用途,但需要订阅才能在生产中使用。 订阅按节点或核心定价。

平台: Linux(发行范围广泛),MacOS 10.9+(仅开发),Docker(开发和测试); CenturyLink Cloud,Google Compute Engine,Microsoft Azure和适用于DSE的Amazon EC2; 适用于DataStax托管云的AWS和Azure云;

DSE OpsCenter和DataStax Studio支持Chrome,Firefox和Safari浏览器。

From: https://www.infoworld.com/article/3298539/datastax-review-cassandra-made-faster-and-easier.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值