摘要:
上一节《Zookeeper C API 指南三(回调函数)》重点讲了 Zookeeper C API 中各种回调函数的原型,本节将切入正题,正式讲解 Zookeeper C API。相信大家读完本文后应该对 Zookeeper C API 的使用有一个比较清晰的认识。 阅读全文
随笔分类 - 数据分析与处理
Zookeeper C API 指南三(回调函数)
2013-02-21 12:54 by Haippy, 19482 阅读, 收藏, 编辑
摘要:
接上一篇《Zookeeper C API 指南二(监视(Wathes), 基本常量和结构体介绍)》,本文重点介绍 Zookeeper C API 中的各种回调函数。 阅读全文
Zookeeper C API 指南二(监视(Wathes), 基本常量和结构体介绍)
2013-02-21 11:17 by Haippy, 25816 阅读, 收藏, 编辑
摘要:
接上一篇《Zookeeper C API 指南一(准备工作)》,本问将重点介绍 Zookeeper 监视(Watches),以及 Zookeeper C API 中基本的常量与结构体。 阅读全文
Reveldb 与 Kyoto Tycoon 性能对比(一)
2013-01-03 20:36 by Haippy, 3944 阅读, 收藏, 编辑
摘要:
Reveldb 是个人在空余时间和周末完成(应该说还远远未完善)的一个基于 google leveldb 的 NoSQL 数据服务器,网络连接采用了 libevent 的 HTTP 接口,因此 reveldb 天生就适合处理 HTTP 请求。但更确切地说,reveldb 并没有直接采用 libevent 的 HTTP 接口,而是使用了另外一个基于 libevent 的网络连接库 libevhtp(https://github.com/ellzey/libevhtp),并对它做了适当的修改,使之成为 reveldb 的底层组件 evhttpx(https://github.com/forhappy/reveldb/tree/master/src/evhttpx), evhttpx 为 reveldb 提供了 HTTP 和 HTTPS 支持,因此,reveldb 除了能够处理 HTTP 请求外,也能够处理 HTTPS 请求,这一特性是 Kyoto Tycoon 没有的,如果它有,请您告诉我 :-) 阅读全文
Zookeeper 进阶之——Zookeeper编程示例(如何使用Zookeeper实现屏障Barriers和队列Queues)
2012-07-26 11:55 by Haippy, 8253 阅读, 收藏, 编辑
摘要:
本文将告诉你如何使用 Zookeeper 实现两种常用的分布式数据结构,屏障(barriers) 和队列(queues),我们为此还分别实现了两个类:Barrier and Queue. 本文中的例子假设你已经成功运行了Zookeeper服务器。 阅读全文
Zookeeper 进阶之——典型应用场景(二)
2012-07-23 20:57 by Haippy, 25014 阅读, 收藏, 编辑
摘要:
本文将带你如何利用 Zookeeper 实现某些分布式应用所必需的高级功能。所有功能均可以在客户端按固定的模式实现,不需要 Zookeeper 的特殊支持,也希望 Zookeeper 社区能将这些具有固定实现模式的功能集成到 Zookeeper 客户端的程序库中,可以简化 Zookeeper 的使用并且还能使某些功能的实现标准化。 阅读全文
Zookeeper 进阶之——典型应用场景(一)
2012-07-23 10:11 by Haippy, 12407 阅读, 收藏, 编辑
摘要:
Zookeeper 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生 变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似 Master/Slave 管理模式,关于 Zookeeper 的详细架构等内部细节可以阅读 Zookeeper 的源码 阅读全文
Zookeeper 初体验之——JAVA实例
2012-07-20 18:09 by Haippy, 67930 阅读, 收藏, 编辑
摘要:
Apache Zookeeper 是由 Apache Hadoop 的 Zookeeper 子项目发展而来,现在已经成为了 Apache 的顶级项目。Zookeeper 为分布式系统提供了高效可靠且易于使用的协同服务,它可以为分布式应用提供相当多的服务,诸如统一命名服务,配置管理,状态同步和组服务等。 Zookeeper 接口简单,开发人员不必过多地纠结在分布式系统编程难于处理的同步和一致性问题上,你可以使用 Zookeeper 提供的现成(off-the-shelf)服务来实现分布式系统的配置管理,组管理,Leader 选举等功能。 阅读全文
Zookeeper 初体验之——JAVA API 初探
2012-07-19 21:59 by Haippy, 17646 阅读, 收藏, 编辑
摘要:
Apache Zookeeper 是由 Apache Hadoop 的 Zookeeper 子项目发展而来,现在已经成为了 Apache 的顶级项目。Zookeeper 为分布式系统提供了高效可靠且易于使用的协同服务,它可以为分布式应用提供相当多的服务,诸如统一命名服务,配置管理,状态同步和组服务等。 Zookeeper 接口简单,开发人员不必过多地纠结在分布式系统编程难于处理的同步和一致性问题上,你可以使用 Zookeeper 提供的现成(off-the-shelf)服务来实现分布式系统的配置管理,组管理,Leader 选举等功能。 阅读全文
Zookeeper 初体验之——伪分布式安装
2012-07-19 21:09 by Haippy, 26076 阅读, 收藏, 编辑
摘要:
Apache Zookeeper 是由 Apache Hadoop 的 Zookeeper 子项目发展而来,现在已经成为了 Apache 的顶级项目。Zookeeper 为分布式系统提供了高效可靠且易于使用的协同服务,它可以为分布式应用提供相当多的服务,诸如统一命名服务,配置管理,状态同步和组服务等。Zookeeper 接口简单,开发人员不必过多地纠结在分布式系统编程难于处理的同步和一致性问题上,你可以使用 Zookeeper 提供的现成(off-the-shelf)服务来实现分布式系统的配置管理,组管理,Leader 选举等功能。 阅读全文
转载系列之二:NoSQL 数据建模技术
2012-05-19 23:28 by Haippy, 1789 阅读, 收藏, 编辑
摘要:
NoSQL 数据库经常被用作很多非功能性的地方,如,扩展性,性能和一致性的地方。这些NoSQL的特性在理论和实践中都正在被大众广泛地研究着,研究的热点正是那些和性能分布式相关的非功能性的东西,我们都知道 CAP 理论被 很好地应用于了 NoSQL 系统中(陈皓注:CAP即,一致性(Consistency), 可用性(Availability), 分区容忍性(Partition tolerance),在分布式系统中,这三个要素最多只能同时实现两个,而NoSQL一般放弃的是一致性)。但在另一方面,NoSQL的数据建模技术却 因为缺乏像关系型数据库那样的基础理论没有被世人很好地研究。这篇文章从数据建模方面对NoSQL家族进行了比较,并讨论几个常见的数据建模技术。 阅读全文
HBase vs. BigTable Comparison
2011-12-10 16:11 by Haippy, 494 阅读, 收藏, 编辑
摘要:
HBase vs. BigTable Comparison 阅读全文
Hbase 介绍(转载)
2011-12-05 16:02 by Haippy, 657 阅读, 收藏, 编辑
摘要:
hbase是bigtable的开源山寨版本。是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。 阅读全文
Oracle NoSQL Database (转载)
2011-12-05 15:55 by Haippy, 1571 阅读, 收藏, 编辑
摘要:
近日Oracle提供了不久前公布的NoSQL数据库的下载,目前只有企业版,开源的社区版还没提供,也就是说还看不到源码。不过根据文档也能大致了解这个NoSQL数据库怎么样。快速看了看,总结如下。 阅读全文
数据分析与处理之二(Leveldb 实现原理)
2011-12-04 21:24 by Haippy, 111514 阅读, 收藏, 编辑
摘要:
首先,LevelDb是一个持久化存储的KV系统,和Redis这种内存型的KV系统不同,LevelDb不会像Redis一样狂吃内存,而是将大部分数据存储到磁盘上。
其次,LevleDb在存储数据时,是根据记录的key值有序存储的,就是说相邻的key值在存储文件中是依次顺序存储的,而应用可以自定义key大小比较函数,LevleDb会按照用户定义的比较函数依序存储这些记录。
再次,像大多数KV系统一样,LevelDb的操作接口很简单,基本操作包括写记录,读记录以及删除记录。也支持针对多条操作的原子批量操作。
另外,LevelDb支持数据快照(snapshot)功能,使得读取操作不受写操作影响,可以在读操作过程中始终看到一致的数据。 阅读全文
Storm : Twitter的实时数据处理工具(转载)
2011-12-04 21:09 by Haippy, 1517 阅读, 收藏, 编辑
摘要:
Twitter在9月19日的Strange Loop大会上公布Storm的代码。这个类似于Hadoop的即时数据处理工具是BackType开发的,后来被Twitter收购用于Twitter。 阅读全文
数据分析与处理之一(大规模数据分析架构)
2011-12-04 19:41 by Haippy, 5063 阅读, 收藏, 编辑
摘要:
随着互联网、移动互联网和物联网的发展,谁也无法否认,我们已经切实地迎来了一个海量数据的时代,数据调查公司IDC预计2011年的数据总量将达到1.8万亿GB,对这些海量数据的分析已经成为一个非常重要且紧迫的需求。 阅读全文