Preface
毕业设计研究 Lambda 框架的实现,其中的Serving layer现在想用Druid来实现,看官网中Serving layer 的 component 中,Druid还是挺适合的,加上已经有案例利用其来实现Lamda框架了,所以不妨一试。
Main
官网/文档
最好的学习一个新东西的方法就是参照它的官网文档 ( 如果有的话 ),从安装到使用甚至到白皮书,内容应该是应有尽有。
我的所有操作都是从Druid官网来的,里面有一份Druid的白皮书,其实是一篇论文,我建议也可以看看,像这样的开源软件,既然已经有了一份论文详解其设计原理和方法,何不去拜读一下呢 :)
Zookeeper
下载安装解压这些常规的步骤完成后,第一步就是启动一个example
但是在此之前,我们还要启动Zookeeper,那就下载安装Zookeeper,并启动之,zookeeper的client会连接2181端口,如果没有启动zookeeper server,Druid就会抛出socket连接错误。
Have a Try!
# ./run_example_server.sh
在出来的对话中选择wikipedia,然后就看到Druid已经跑起来了,终端输出了一系列日志信息。
然后开启一个查询客户端
# ./run_example_client.sh
同样是选择wikipedia,Bang!一大堆查询结果出来了
End
非常简单,以至于很弱智的Demo,不过没关系,接下来会更好玩的,因为我不仅要使用这个Druid,还要搞清楚其内部是怎么实现的。
尤其是涉及到我毕设的两个问题
- Druid对batch views和realtime views的merge是怎么做的
- Druid宣称的面向列的数据存储具体是什么,Query是怎么实现的。