cassandra&hector版本问题
cassandra,hector版本兼容问题cassandra自身的兼容问题:cassandra0.6->cassandra0.7 节点间数据通信的方式发生了变化,从0.6升级到0.7必须经过整个集群重启。cassandra0.7->cassandra0.8 可以进行无损升级,只需要进行滚动升级即可,每次停一个节点升级,不影响整个集群对外提供服务。cassandra与hector的兼容问题:hector无法预知未来cassandra的变更,所以不保证前向兼容,通常对上一个版本保持后向兼容。hector的版本模式如:0.6.0-90.6.0表示cassandra的版本-9表示hector的版本一般cassandra发布版本后,hector随后发布新版本,
response from oracle
[@more@]
MerkleTree在数据校验上的应用
Anti-Entropy如何通过对比MerkleTree来发现节点数据的一致?比较恢复的最细粒度是?MerkleTree又称HashTree,因为它的节点保存的都是hash值,叶子节点保存的是文件块,分片,或者cassandra中row key的hash值等,非叶子节点保存的是子节点值的hash,即hash的hash。通过比较树根的hash可以快速的确认当前tree映射的数据有没有发生变化,并可以在log(N)时间内快速的定位是那部分发生了变化。这样看来MerkleTree是很强大的,在cassandra中就是通过MerkleTree对比来进行多个节点上同一个range的多个副本数据的一致性检查,从而进行readrepair一致
广东移动经营分析系统指标数据(摘自严飞雪报告)
广东移动经营分析系统的数据仓库情况介绍:03 底开始建设到现在,50 T -100T 的数据仓库,节点数 32 个ETL 入库每天 20亿条记录数据库系统容量 100 T ETL 系统为 20 T硬件状况 200 T 的阵列,IBM P595 系列主机 OLTP 交易,数据的增长(7000万用户,每天清单30亿)[@more@]
分布式数据库重要技术概念小记
《源码解析:http://blog.csdn.net/FireCoder/article/details/5700982》http://io.typepad.com/glossary.html#gls-consistencylevel垂直扩展 vs. 水平扩展(Sharding)Feature-based shard or functional segmentationKey-based shardingLookup table CAP理论ConsistencyAvailabilityPartition Tolerance两阶段提交GossipGossip算法又称为疫情传播算法随机选择节点同步状态,在有限步内便可达到所有节点视图一致。消息的类型:PushPullPush-PullBloom FilterBloom Filter 通过连续的哈希函数映射Key到位数组因为不同Key之间存在Hash碰撞,所
分表运作流程
分表运作流程 就我所接触到的BI系统来说,系统中有几千的作业,每个作业对应着一个系统命令调用,各种shell,perl处理脚本,存储过程等,这些作业通过一个作业调度系统来维护,作业有两种触发方式一种时间触发,一种事件触发。对于库表维护的流程是:一.运作人员手工执行建表语句或脚本创建,删除。(比如日表,非周期性创建的表)二.通过定义一个建表的作业,让调度系统定时的或事件条件满足时触发。一般删表是批量手工维护。[@more@]
Voldemort启动失败案例一则
voldemort单节点安装非常简单:-#下载tar包,解包-#修改/etc/profile添加VOLDEMORT_HOME变量-#bin/voldemort-server.sh config/single_node_cluster > /tmp/voldemort.log & -#bin/voldemort-shell.sh test tcp://localhost:6666-# put "hello" "world" [put get delete exit location]ps:安装时默认的http_port为8081,而恰巧本机8081端口被占用,报错提示"Address in use",使用netstat查看当前端口使用,选择一个较大不常用端口修改之,再次执行bin/voldemort-server.sh config/single_node_clust
cassandra 性能测试场景一
:可以单独做一个场景测试Cassandra 建议将commitlog与数据目录分别存储在不同的磁盘,以减少磁盘IO竞争,提高写性能。[@more@]
cassandra vs. voldemort
Apache Cassandra • Project Voldemort • Apache Cassandra • Project Voldemort • StandardDescriptionSecond Generation Distributed Database ? Websitecassandra.apache.org project-voldemort.com LicenseApache License Apache License FeaturesQuery languageAPI calls API calls Database modelColumn-oriented Key-value Map and reduceyesno Unicodeyes yes Full text searchno no IntigrityIntegrity modelBASE MVCC Atomicityyesno Consistencyyes yes Isolationno no Durabilityyes yes Transaction
copy a voldemort tools
a tools class to find objects in voldemort and massive operations. Bye package com.components.repository; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.Socket; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import voldemort.VoldemortException; import voldemort.client.protocol.RequestFormatType; import voldemort.client.protocol.admin.AdminClient; import voldemort.client.protocol.adm
hector tips
hector-v2-client-doc.pdf 读书笔记LoadBalancingPolicy Hector uses the slf4j logging API with the Log4J bridge to provide runtime logging.Hector测试相关的类:EmbeddedServerHelperBaseEmbeddedServerTest创建Keyspace:Cluster cluster = HFactory.getCreateCluster("TestCluster", new CassandraHostConfigurator("localhost:9160"));Keyspace keyspace = HFactory.createKeyspace("Keyspace1",cluster);StringSerializerOrderPreservingPartitionerIndexedSlicesQuery<String, String, Long&g
tips
本周想做好的几件事:/OSC source code//cassandra tuning&source/hector//python foundamental//java project/one book totally/ [@more@]
关于cassandra垃圾清理
cassandra垃圾数据清理:read repair:当执行nodetool repair的时候,cassandra会对当前节点上保存的每一个范围的数据计算Merkle Tree,同其他节点的副本进行比较,获取最近未被读取的不同步数据,进行同步。这个过程是比较耗CPU和IO的,所以通常不应该高频率执行,一般每周一次(GCgraceCollection默认为10天)。 在多节点的同时执行repair是安全的,没有并发问题,不过为了最小化对应用的影响,通常等待在一个节点执行完repair后再在另一个节点上执行。执行cleanup可以清除过时的HintedHandoff数据.The reason why you run nodetool cleanup
cassandra glossary
SuperColumns also differ from regular Columns in that they do not have an associated timestamp.ChitonIn ancient Greece, a chiton was a cloth garment, typically sleeveless, worn by both men and women. Chiton is the namesake for the open source project Chiton by Brandon Williams, which is a Python GTK-based browser for Apache Cassandra. It is currently hosted at http://github.com/driftx/chiton.A related project is Telephus, a low-level client API for Cassandra written in Twisted Python. It is curr
cassandra backup
Backing up dataCassandra can snapshot data while online using nodetool snapshot. You can then back up those snapshots using any desired system, although leaving them where they are is probably the option that makes the most sense on large clusters. nodetool snapshot triggers a node-wide flush, so all data written before the execution of the snapshot command is contained within the snapshot. With some combinations of operating system/jvm you may receive an error related to the inability to create
关于cassandra备份方案中几个需要考虑的问题
需要明确的几个问题:1.cassandra中compact对数据进行压缩的效率?2.针对当前的对象存储元数据数据库数据量的估算?3.cassandra备份中,本地备份磁盘拷贝的速率估算异地备份,选择千兆光纤传输介质拷贝速率影响 估算?4.casssandra从0.7.3版本升级到0.8.0可能存在的兼容性问题?5.增量备份恢复,如何能达到最高的一致性,减少repair,compact的额外操作对资源的占用?6.搞定使用python压力测试工具大批量灌数据的场景?总结了cassandra中的策略:http://dongxicheng.org/nosql/cassandra-strategy/[@more@]
Incremental Cassandra Backup
Incremental Cassandra BackupEnable incremental Cassandra backupconf/cassandra.yamlincremental_backups: trueWhen incremental backup is enabled (default is off), Cassandra persists flushed SSTable to a backup directory under/var/lib/cassandra/data/mykeyspace/backups/ Old incremental backup files needs to be manually removed. Consider removing them after snapshotsWith these incremental backup files in conjunction with a snapshot, an administrator can restore data in a node when data corruption occu
jdk版本不匹配引起的cassandra启动命令无反应故障
cassandra 0.8.0 ,jdk1.7.0-ea 兼容问题表现:使用如下命令启动cassandra直接返回,无启动加载信息,ps查看进程cassandra未启动#>./cassandra原因:cassandra0.8.0不兼容jdk1.7.0版本解决:rpm -qa |grep jdkrpm -e jdk1.7.0-earpm -ivh **.rpm[@more@]
Postmark测试后端存储性能
Postmark用于对进行频繁,大量存取小文件的存储系统的存储性能测试。原理:构建一个测试文件池,通过文件最大,最小大小,数量等参数进行配置,然后进行事务的初始化,对每一个事务中读取/附加,创建/删除等所占的比例进行设置来模拟真是应用场景,事务操作完成后,Postmark对文件池进行删除,结束测试,输出结果。===========================配置的两种方式:一、直接在命令行中输入配置命令如:# ./postmark-1.51 >set size 10000 20000二、使用配置文件启动 ./postmark XXX.cfg--XXX.cfgset transactions 5000set number 5000runqui
cassandra业务数据一致性问题处理?
cassandra如何保持多个columnfamily业务相关的数据一致性,比如,有bucket,bucket_object,object这样三个CF,分别存框信息,与框关联的对象信息,对象信息,如果删除了object中的一个key,那么希望在bucket_object中也删除相应的key,如何做到? --这个放到程序中去保证吧,比如1.现在要删除一个object,在bucke_object中有一个key需要同步的删除,就在程序中调一次delete_object()操作。2.同时可以写一个一致性检查的类,封装相应的方法,比如批量的检查,清除。[@more@]