3.2集群软件
  集群以上述的硬件为物理系统,而其中则配置了不同的软件。所有的软件实用信息以及对应的软件版本信息如下:
  3.2.1 Dell PowerEdge R520 and R720 (used as server)
  操作系统(OS): Red Hat Enterprise Linux Server 6.4
  架构(Architecture): x86_64
  内核(Kernel): 2.6.32
  Apache Cassandra: 2.1.2
  MongoDB: 2.6.5
  SequoiaDB: 1.8
  YCSB: 0.1.4 master (brianfrankcooper version at Github) with bankmark changes (see 4.1)
  3.2.2 HP ProLiant BL465c (used as client)
  操作系统(OS): SUSE Linux Enterprise Server 11
  架构(Architecture): x86_64
  内核(Kernel): 3.0.13
  YCSB: 0.1.4 master (brianfrankcooper version at Github) with bankmark changes (see 4.1)
  4.安装过程
  三款数据库系统使用YCSB进行基准测试,分别是Apache Cassandra、MongoDB 以及 SequoiaDB。下来这一部分,分别介绍了这三者如何安装。集群上运行的数据库系统使用3组副本以及3组不同的磁盘。压缩性能的比较只在带有此功能的系统上进行。
  4.1集群内核参数
  下面的配置参数为三款数据库系统共同使用:
  vm.swappiness = 0
  vm.dirty_ratio = 100
  vm.dirty_background_ratio = 40
  vm.dirty_expire_centisecs = 3000
  vm.vfs_cache_pressure = 200
  vm.min_free_kbytes = 3949963
  4.2 APACHE CASSANDRA
  Apache Cassandra在所有服务器上都按照官方文档[4]进行安装,其配置也按照推荐的产品配置[5] 进行。提交的日志和数据在不同的磁盘进行存储(disk1 存储提交的日志,disk5和disk6 存储数据)。
  4.3 MONGODB
  MongoDB由专业的工作人员安装。为了使用三个数据磁盘以及在集群上运行复制组,我们根据官方文档有关集群安装的介绍[6],使用了一套复杂的方案。3个集群点上都启动了配置服务器。在十台服务器上,每台一个mongos实例(用于分区操作)也同时启动。每一个分区都被加入集群当中。为了使用所有三个集群以及三个复制备份,10个复制组的分布按照下表进行配置(列 为集群节点):

  MongoDB没有提供自动启动已分区节点的机制,我们专门为了10个集群节点将手动启动的步骤写入了YCSB工具当中。
  4.4 SEQUOIADB
  SequoiaDB由专业的工作人员按照官方文档进行安装[7]。安装设置按照了广泛文档中有关集群安装和配置[8]的部分进行。SequoiaDB可以用一个统一的集群管理器启动所有的实例,内置的脚本 “sdbcm”能用来启动所有服务。三个数据库系统的节点由catalog节点进行选择。三个SequoiaDB的实例在每个节点启动,访问自己的磁盘。
  4.5 YCSB
  YCSB在使用中存在一些不足。它并不能很好的支持不同主机的多个YCSB实例运行的情况,也不能很好支持多核物理机上的连续运行和高OPS负载。 此外,YCSB也不是很方便温服。bankmark根据这些情况,对资源库中的YCSB 0,1,14版本 其做了扩展和一些修改优化。较大的改动如下:
  增加了自动测试的脚本
  Cassandra的jbellis驱动
  MongoDB的achille驱动
  增加批插入功能(SequoiaDB提供)
  更新了MongoDB 2_12的驱动借口,同时增加了flag属性来使用批处理模式中的”无序插入“操作。
  SequoiaDB驱动
  针对多节点安装配置以及批量加载选项的一些改动