摘要: 数据参考:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/manage_dml_intro_c.html#concept_ds_g2s_y1w_zj 为了管理Cassandra上的数据,了解Casssandra是如何写入和读取数据、hint机制、一致性和非一致性是等数据库特性非常有必要的。在Cassandra中,一致性指的是如何使一行数据在所有的副本更新到最新数据保持同步。 对于数据的存储和检索,Cassandra提供了客户端工具和应用程序编程接口(API)。一、复制的.. 阅读全文
posted @ 2014-01-28 17:13 内心低调的人 阅读(1090) 评论(0) 推荐(0)
摘要: 数据参考:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_manage_ondisk_c.html#concept_ds_rwq_d4x_zj Cassandra使用的数据存储结构类似于日志结构的合并树,不同于典型的关系型数据库使用B-树。存储引擎使用追加模式按顺序写入磁盘中,数据存储是连续的。在各个节点和一台机器的操作都是平行的。因为Cassandra不适用B-tree,并发控制是不需要的。因为写的时候不需要更新以前的数据。 Cassandra对于先进的固态硬.. 阅读全文
posted @ 2014-01-27 20:19 内心低调的人 阅读(425) 评论(0) 推荐(0)
摘要: 数据参考:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/architecturePlanningAbout_c.html 当规划一个Cassandra集群部署时,关于你初始存储的数据的数据量你应当有一个好的想法,并且对于程序的工作量有一个很好的预计。下面是规划集群时需要考虑的: 1、选择企业实现级别的硬件: 根据下列资源选择适当的硬件:CPU、内存、平衡盘、节点的数目和网络 2、规划亚马逊EC2集群: DataStax 提供了Amazo... 阅读全文
posted @ 2014-01-26 16:13 内心低调的人 阅读(380) 评论(0) 推荐(0)
摘要: 参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/architectureClientRequestsAbout_c.html#concept_ds_xf3_5nl_fk 可以在集群的任意节点上进行读写请求因为在Cassandra中所有的节点都是同等的。 当一个客户端连接到一个节点并发出一个读或写的请求,在那次特定的客户端操作中那个节点作为协调者。协调者的工作就是在客户端和数据实际存储的节点之间充当代理。协调者根据集群的设置(分区器和复制策略).. 阅读全文
posted @ 2014-01-25 22:59 内心低调的人 阅读(374) 评论(0) 推荐(0)
摘要: 参考资料:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/architectureSnitchesAbout_c.html#concept_ds_c34_fqf_fk 一个snitch(告密者)决定应当从哪个数据数据中心和机架写入和读取数据。snitch通知Cassandra关于网络的拓扑情况以保证数据请求能够高效地路由并且允许通过把机器按数据中心和机架分组以便Cassandra放置数据副本。所有的节点关于snitch的配置应当是一致的。Cassan... 阅读全文
posted @ 2014-01-24 21:49 内心低调的人 阅读(841) 评论(0) 推荐(0)
摘要: 参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/architecturePartitionerAbout_c.html#concept_ds_dwv_npf_fk 一个分区器决定了数据是怎样分布在集群中的节点上的。通常,一个分区器就是一个hash函数去计算每一行键值的hash值——token。每一行数据通过一个键值唯一标识并且在集群中按token分部。 Murmur3Partitioner 和 RandomPartitioner都使用toke.. 阅读全文
posted @ 2014-01-24 00:17 内心低调的人 阅读(1172) 评论(0) 推荐(0)
摘要: 以前挺喜欢去有路网买二手书的,但是有路网有个缺陷,就是放在图书列表中的书很多都没货了,尤其是一些热门的方向,比如android,在列表中的书大多都没有货了,你必须一个一个点进入查看详细信息才能得知图书是否有货。因此,很久之前用python写了一个抓取的脚本,用来按书名搜索图书以及库存信息。现在拿出来与大家分享一下,因为是最开始学python的时候写的,有些地方写的不是特别好。比如那个时候对于正则表达式不是特别懂,所以用的不是特别好。其次,采用urllib库发送http请求的,效率太低。建议使用tornado库或者采用node.js(见 http://www.cnblogs.com/dyf6.. 阅读全文
posted @ 2014-01-22 14:12 内心低调的人 阅读(790) 评论(1) 推荐(0)
摘要: 参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/architectureDataDistributeAbout_c.html#concept_ds_g43_g3f_fk在Cassandra中,数据分配和复制是同时进行的。这是因为Cassandra被设计为一个点对点的系统,数据有多个复制,被分发到一组节点上。数据按照表的形式构建以主键进行标识。主键决定了数据存储在那一个节点上面。Cassandra是一个面向行的数据库,行的副本就称其为复制。当数据第 阅读全文
posted @ 2014-01-22 11:46 内心低调的人 阅读(2197) 评论(0) 推荐(0)
摘要: 参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/architectureGossipAbout_c.html#concept_ds_elb_tgd_fk一、什么是gossip Cassandra使用一个名为gossip的协议去获得集群中其他节点的位置和状态信息。Gossip是一个点对点的通信协议,在这个协议中,节点之间定期交换状态信息。Gossip协议每隔一秒运行一次,节点和不超过的三个节点交换信息,因此所有的节点能够很快知道集群中其他节点的信. 阅读全文
posted @ 2014-01-21 13:30 内心低调的人 阅读(2032) 评论(0) 推荐(0)
摘要: 参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/architectureIntro_c.html Cassandra是一个Nosql数据库,是用来通过多节点来处理大数据的,并且没有单点故障。也就说,即使一个节点坏了整个系统仍然能够正常运行。Cassandra架构的前提或者说在设计架构的时候就考虑到系统故障和者硬件故障是可能发生的。为了处理这个问题,Cassandra使用了一个点对点的分布式系统,每个节点都是一样的,数据分布在集群各个节点中,具体. 阅读全文
posted @ 2014-01-20 21:18 内心低调的人 阅读(528) 评论(0) 推荐(0)