标题：Druid
释义
“Druid”一词分两部分理解：前半部很大程度上和希腊文的“drus”相关，是橡树的意思；而后半部与印欧语系的词尾「-wid」相似。而德鲁依教又以橡果为圣果，更证明其名字的古意是熟悉橡树之人。同时Druid也是阿里巴巴开源平台上的一个项目，整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一些限制，可以让程序员实现一些特殊的需求，比如向密钥服务请求凭证、统计SQL信息、SQL性能收集、SQL注入检查、SQL翻译等，程序员可以通过定制来实现自己需要的功能。
德鲁依教
德鲁依教的仪式和教义都是非常神秘的，而且只依惯例口头传授。所以，虽然经过历代研究和探索，依然所知甚少。多数有关他们的资料是来源于古希腊和古罗马的文献。除此之外，考古学家只能从森林、神坛、庙宇的遗迹中偶然寻得一些如图画、记号等的微小线索而已。在史书上最早有关于德鲁依教团的记载主要是见于朱理亚·凯撒和古罗马最伟大的史学家塔西佗斯的著作中。在这些著作中，多是描述德鲁依教的野蛮和恐怖！凯撒远征高卢时曾向元老院报告说：「德鲁依教教士在当地有仲裁和主祭等重要地位和权力，而且该教教士精通物理、化学；在树林中居住，用金镰刀砍伐神圣的橡树果，甚至用活人献祭！」但在大多数情况之下，德鲁依教士是公认的古代智能的守护者，有着崇高的道德修养，并对自然科学和神学有很深的造诣。
德鲁依教士特色
在祭典中，德鲁依教士在满月的第六日收割橡果，而在过程中橡果不能堕地，并盛在纯白的布里。然后牺牲两头白色公牛，再举行宴会。他们也会献祭活人，通常这些牲人都是犯人，但如果实在没有的话，就会在平民中挑选。受难者或被关在木笼中活活烧死，或用木柱刺穿，或用利器插死，或用乱箭射死…或是执行最神圣的「三重死亡」( 只有被挑选成为德鲁依王子的人才可接受这个仪式，而死者也通常是自愿接受的)首先，用斧头将牲人打晕，再迅速用由动物肌肉扎成的有三个结的绳子将其勒杀，并同时割开其喉咙，最后面朝下地将牲人放在四尺深的水里，表示最后是淹死的，而牲人死前吃的最后的食物是撒有橡果的烤大麦饼……就是这些残忍的活人祭祀激怒了罗马政权而加速了他们的灭亡。而后世也有学者为德鲁依教士开脱，但作为主祭的高级祭伺，似乎是难以脱罪的…… 
在预言的过程中，德鲁依教士往往借鸟兽如乌鸦、老鹰等来占卜吉凶。有时也观察牲人的喉咙和内脏来作出预言。来节日时，德鲁依教士会举行仪式，将人催眠，然往互换灵魂，再以梦境预知未来。史书上也记载了一些德鲁依教士使用的魔法，如用草药和橡果等施放幻术和护身符；用发怒的毒蛇的吐沬浸过的魔蛋可以控制他人等…… 
德鲁依教徒也相信灵魂的永恒，这点有点像轮回。他们会在亲人死后将所有死者生前的物品一并烧掉，甚至跳到火中抱住亲人的尸体，以便与亲人同登极乐……他们也会写信给已死的人，甚至提高货款额以便对方可以在死后偿还……
德鲁依教发展
在公元1世纪左右，罗马帝国恐怕凯尔特人势大，对其进行大举讨伐。塔西佗斯曾记载，在战斗中，德鲁依教团员身穿黑衣，跳跃在凯尔特的军队中，咆哮着天神的名字，刺耳地诅咒着罗马帝国。在罗马战胜后，不但屠杀了全部凯尔特士兵，而且也血洗了德鲁依教，并将其教士尸体遗弃在德鲁依教神圣的森林里…这一役令德鲁依教在以后的几个世纪里都一蹶不振，在以后的几代里他们的力量和地位与普通巫师无异……直至公元16、17世纪，德鲁依教仍然只存在于民谣山歌之中…… 
17世纪，英国古董家约翰·欧伯利指出，在罗马时期的德鲁依教可能包涵了一些更古老的信仰，相传他们兴建了著名的Stonehenge (在英国Salisbury平原上的史前时期巨大石柱群, 好像Act 1里Stonefield中的石柱群)用来献祭太阳神！ 虽然他的说法有误，但终在18世纪掀起了德鲁依教复兴运动。 
公元1717年，人称德鲁依大祭师的威廉·史度克里和约翰·托兰重建了德鲁依教，而后的亨利·荷力恢复了其古代教条，使其成为一类似共济会的慈善团体。 
有趣的是，在美国的德鲁依教团却是为了完全不同的目的而成立的。话说1963年，北美革新德鲁依教团成立，而教团的成立却只是因为当时明尼苏达州Carleton College in Northfield的一群大学生反对学校强逼学生参加宗教服务，进而成立的组织。后来，该组织发展成为一提倡新异教信仰的德鲁依教团发展至今。
德鲁依合唱团
  德鲁依合唱团德鲁依合唱团（Druid）是爱尔兰男高音演唱团体，融合了经典与流行、复古与现代音乐。德鲁伊合唱团演唱的歌曲都如他们的名字一样具有历史内涵，他们所带来的歌曲均为鼓舞人心的音乐和故事，通过叙述人类从前基督时代，历经压迫、饥荒、移民的伟大历史征程，描绘令人振奋的未来。展示从人类诞生以来，自始至终都不曾磨灭的对于生活的热情，以及尽管多灾多难但仍旧蓬勃发展的人类文明。
德鲁依合唱团介绍
成立德鲁依合唱团由五名男歌手组成，布莱恩·邓菲（Brian Dunphy）、夏兰·内格尔（Ciaran Nagle）、大卫·雷（David Wray）、肯尼斯·奥雷甘（Kenneth O’Regan)、 西蒙·摩根（Simon Morgan)， 其中布莱恩·邓菲、夏兰·内格尔、大卫·雷是爱尔兰三大男高音。乐队成员在成立组合之前在很多著名歌剧中担任主角，如《风流寡妇》、《唐璜》、《费加罗的婚礼等》，也曾为爱尔兰经典舞剧《大河之舞》配乐。  德鲁依合唱团[1]音乐特色德鲁依的音乐风格融合了经典与流行、复古与现代。他们的音乐仿佛一场“音乐之旅”，有强大的叙事能力，从前基督时代历经压迫、饥荒、移民的伟大历史征程，到现在流行的歌曲。他们可以演唱Danny Boy等爱尔兰经典民谣，也可以演唱U2乐队的流行歌曲。
成就及荣誉
● 布莱恩·邓菲曾受美国邀请，在美国麦迪逊广场演唱美国国歌。
● 西蒙·摩根曾和世界著名男高音歌唱家普拉西多.多明戈、爱尔兰著名钢琴家及作曲家菲尔柯尔特、及世界著名艺术家詹姆斯·高威、神秘花园、夏洛蒂·澈奇、凯尔特女人、凯尔特男高音等同台演绎。他也曾在伦敦皇家艾伯特大厅的BBC舞会上担任独唱。
●夏兰·内格尔被称为“国歌演唱者",多次在爱尔兰的重要场合和赛事中演唱国歌。
数据连接池Druid
Druid介绍Druid首先是一个数据库连接池[2]，但它不仅仅是一个数据库连接池，它还包含一个ProxyDriver，一系列内置的JDBC组件库，一个SQL Parser。Druid支持的数据库Druid支持所有JDBC兼容的数据库，包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等等。 
Druid针对Oracle和MySql做了特别优化，比如Oracle的PS Cache内存占用优化，MySql的ping检测优化。Druid扩展JDBCDruid在DruidDataSourc和ProxyDriver上提供了Filter-Chain模式的扩展API，类似Serlvet的Filter，配置Filter拦截JDBC的方法调用。Druid的实现的阿里巴巴是一个重度使用关系数据库的公司，我们在生产环境中大量的使用Druid，通过长期在极高负载的生产环境中实际使用、修改和完善，让Druid逐步发展成最好的数据库连接池。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势。 
首先，强大的监控特性，通过Druid提供的监控功能，可以清楚知道连接池和SQL的工作情况。 
监控SQL的执行时间、ResultSet持有时间、返回行数、更新行数、错误次数、错误堆栈信息。 
SQL执行的耗时区间分布。什么是耗时区间分布呢？比如说，某个SQL执行了1000次，其中0~1毫秒区间50次，1~10毫秒800次，10~100毫秒100次，100~1000毫秒30次，1~10秒15次，10秒以上5次。通过耗时区间分布，能够非常清楚知道SQL的执行耗时情况。 
监控连接池的物理连接创建和销毁次数、逻辑连接的申请和关闭次数、非空等待次数、PSCache命中率等。
其次，方便扩展。Druid提供了Filter-Chain模式的扩展API，可以自己编写Filter拦截JDBC中的任何方法，可以在上面做任何事情，比如说性能监控、SQL审计、用户名密码加密、日志等等。 
Druid内置提供了用于监控的StatFilter、日志输出的Log系列Filter、防御SQL注入攻击的WallFilter。 
阿里巴巴内部实现了用于数据库密码加密的CirceFilter，以及和Web、Spring关联监控的DragoonStatFilter。 
第三，Druid集合了开源和商业数据库连接池的优秀特性，并结合阿里巴巴大规模苛刻生产环境的使用经验进行优化。 
ExceptionSorter。当一个连接产生不可恢复的异常时，例如Oracle error_code_28 session has been killed，必须立刻从连接池中逐出，否则会产生大量错误。目前只有Druid和JBoss DataSource实现了ExceptionSorter。 
PSCache内存占用优化对于支持游标的数据库（Oracle、SQL Server、DB2等，不包括MySql），PSCache可以大幅度提升SQL执行性能。一个PreparedStatement对应服务器一个游标，如果PreparedStatement被缓存起来重复执行，PreparedStatement没有被关闭，服务器端的游标就不会被关闭，性能提高非常显著。在类似“SELECT * FROM T WHERE ID = ?”这样的场景，性能可能是一个数量级的提升。但在Oracle JDBC Driver中，其他的数据库连接池（DBCP、JBossDataSource）会占用内存过多，极端情况可能大于1G。Druid调用OracleDriver提供管理PSCache内部API。 
LRU是一个性能关键指标，特别Oracle，每个Connection对应数据库端的一个进程，如果数据库连接池遵从LRU，有助于数据库服务器优化，这是重要的指标。Druid、DBCP、Proxool、JBoss是遵守LRU的。BoneCP、C3P0则不是。BoneCP在mock环境下性能可能还好，但在真实环境中则就不好了。 Druid的SQL解析功能 效率Druid提供了MySql、Oracle、Postgresql、SQL-92的SQL的完整支持，这是一个手写的高性能SQL Parser，支持Visitor模式，使得分析SQL的抽象语法树很方便。 
简单SQL语句用时10微秒以内，复杂SQL用时30微秒。 
通过Druid提供的SQL Parser可以在JDBC层拦截SQL做相应处理，比如说分库分表、审计等。Druid防御SQL注入攻击的WallFilter就是通过Druid的SQL Parser分析语义实现的。Druid的扩展性Druid提供Filter-Chain模式的插件框架，通过编写Filter配置到DruidDataSource中就可以拦截JDBC的各种API，从而实现扩展。Druid提供了一系列内置Filter。