一周学习笔记及问题.docx_第1页
一周学习笔记及问题.docx_第2页
一周学习笔记及问题.docx_第3页
一周学习笔记及问题.docx_第4页
一周学习笔记及问题.docx_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一周学习笔记一 公司组织架构及流程(售前相关)8a产品在日常演进和市场推广过程中,会涉及研发、售前、售后、销售等众多组织部门,需要诸多部门、众多岗位的参与和配合。1. 公司部门以及架构公司GMO(崔总、尹总、武总、赵总、刘总)研发(武新总)产品行销部(赵总)电信事业部(袁丁总)天津营销中心(张良总)研发一部研发二部市场组测培中心售后实施组专业服务组销售技术支持方案组各业务部门、单元的职能和接口人介绍如下: 产品行销部:产品行销部部门经理赵伟总(公司副总裁、GMO)。部门包括市场组、测试培训中心、售后实施组和专业服务组,此外还包括专职研发的工具开发组。产品行销部专注于8a产品的市场推广、技术支持和项目实施工作; 研发:研发最终负责人为公司CTO武新总。与8a产品有关的研发部门包括研发一部、研发二部和工具开发组,其中工具开发组负责人杨伟伟; 电信事业部(COM):电信事业部部门经理袁丁总。部门包括销售和售前人员,专注于电信行业的8a产品推广;天津营销中心(TJC):天津营销中心部门负责人张良总,包括销售、售前技术支持、方案组等业务单元。8a市场组与TJC工作往来频繁,所支持的销售很多来自TJC。产品行销部组织架构:产品行销部(赵总)测试培训中心(杨伟伟)市场组(庞松)专业服务组(白军奎)产品服务部(杜国旺总)POC组培训组JG行业OEM行业金融行业安全行业2. 各相关配合部门主要负责人 市场组:8a产品线市场组负责人庞松,组内按照行业划分,包括JG行业、OEM合作伙伴、金融行业以及安全行业; 测试培训中心(T&T):测试培训中心负责人杨伟伟,下设POC测试组和培训组; POC组:小组负责人孙卡,POC按照行业领域划分为三个小组,包括电信(孙卡)、安全(赵景喜)、李运涛(XX)。POC职责是在项目签约前为用户提供产品能力测试验证(注:很多项目在签约前,用户会提出对产品进行功能验证和性能测试等要求) 培训组:小组负责人沈丽平,组员包括陈婷、白帆。培训组负责完成对公司内部新入职员工和用户的产品培训工作;(注:很多项目商务合同明确要求提供产品培训,此外很多项目售前推进阶段需要为用户或者集成商提供产品培训) 专业服务组:专业服务组负责人白军奎,专业服务组的职责包括:(1)作为通向研发的唯一接口,负责完成行销部与研发的所有交流协调工作;(2)发版申请过程中,完成对售前的技术支持工作;(3)为一线技术人员提供专业技术支持。产品服务部:产品服务部是8a产品售后项目实施部门,部门负责人杜国旺。部门下设多个小组,如实施组、维护组等。3. 通常一般产品周期的流程售前人员为保障项目顺利推进,会参与到很多流程工作中,有些流程仅限于产品行销部内部,有些会与商务部、销售等部门有工作交集。本节按照项目推进的顺序,全面介绍8a市场组售前可能遇到的工作流程和处理原则。下图为8a一个项目完整生命周期示意图,图中标注了所有可能需要售前参与或主导推动的工作流程,一个项目从技术交流到最后完成实施验收,不一定要经历下述所有阶段或流程,但为确保能够为售前人员提供有价值的参考,本手册将详细叙述下述所有流程。3.1 技术交流任务申请响应发起方:销售经理响应方:售前经理流程介绍:销售经理通过电话、邮件等方式通知8a行销部对口的售前负责人,要求协助完成与用户(最终用户或集成商)的技术交流,交流的方式包括技术文档编写、电话解答或者与销售一起前往客户现场为对方进行产品宣讲和技术交流。输入条件:如果销售要求售前前往客户现场完成技术交流,则需要销售邮件提供任务申请单.doc(模板参见第四章附件1:任务申请单.doc);输出物:如果售前出差到客户现场,交流结束后需要编写出行报告.doc(模板参见第四章附件2:出行报告.doc)3.2 解决方案评估发起方:售前经理响应方:专业服务组流程介绍:在了解客户需求并为客户编制解决方案阶段,可能涉及部分场景过于复杂或某些技术性能指标售前经理不能确定,此时需要借助公司技术专家团队共同完成技术评估和方案编制。在专业服务组无法解决时,需要售前经理主导请求调动更多技术专家,共同完成方案审议。输入条件:出行报告、需求调研报告等;输出物:解决方案;3.3 外发版本发起方:销售经理响应方:售前经理流程介绍:在售前阶段为提供客户现场测试版本,或者项目签约售后实施阶段提供现场正式发货版本,销售经理会发起发版流程。首先销售经理在CRM上提交发版申请,商务发版负责人会邮件告知响应售前经理启动发版程序。售前经理在收到商务发版负责人邮件通知后,须填写T3_GBase8a项目发版申请V1_ProjectName_YYYY-MM-DD_YourName.xls,回复邮件主送商务发版负责人,抄送上级主管、专业服务组负责人。输入条件:商务发版负责人发版申请邮件输出物:发版申请单(注:发版申请单请参见附件3T3_GBase8a项目发版申请V1_ProjectName_YYYY-MM-DD_YourName.xls)3.4 POC测试申请发起方:售前经理响应方:POC负责人流程介绍:某些项目由于用户方要求,需要协调POC人员为用户完成产品功能、性能验证测试。售前经理在收到用户方请求后,须向POC负责人发起POC申请。POC负责人确认通过后会为项目指派POC测试工程师,售前经理牵头协调用户方、销售、POC工程师,完成POC测试。输入条件: POC技术评估表(注:文档模板请参见附件4GPS_南大通用8aPOC项目技术评估表_V1.3.xlsx); 测试用例;(必须) 表结构;(可协商) 测试预期;(可协商)输出物:POC响应确认邮件;3.5 投标流程发起方:招标单位响应方:售前经理(和销售经理)流程介绍:在确认招标单位发起公开招标后,售前经理启动投标流程。8a产品线市场组售前经理负责投标响应文件技术部分的编制,商务部分由商务部专人负责。项目的售前经理负责评估投标文件编写的工作量,视情况向市场组负责人申请人力支持。项目售前经理负责牵头投标工作,包括分工、框架搭建、整合、组织评审、校对、投标等。输入条件:招标单位发起公开招标,并获得招标文件;输出物:投标响应文件;3.6 项目售后交接发起方:售前经理响应方:售后负责人流程介绍:当项目签约或确认项目将要签约时,售前经理须向售后申请启动项目交接流程。项目交接意味着项目由售前主导阶段进入了售后主导阶段,同时意味着项目即将启动部署实施。项目售后交接属于项目关键节点,售前经理需要将售前阶段的材料、方案、文档当整理齐备,为售后实施尽可能的提供详尽的素材。输入条件:项目交接表(注:请参见附件5南大通用项目交接信息表_v1.1_项目名称_填写时间_填写人员.xls)输出物:项目交接会议纪要;二 产品相关知识(8a产品线为主)1. 8a产品线产品的技术特点GBase 8a 列存储数据库基础上开发的一款 Shared Nothing 架构的分布式并行数据库集群,具备高性能、高可用、高扩展特性,可以为超大规模数据管理提供高性价比的通用计算平台,并广泛地用于支撑各类数据仓库系统、BI系统和决策支持系统。1.1.产品技术特点GBase 8a MPP Cluster具备以下技术特征:l 低硬件成本:完全使用x86架构的PC Server,不需要昂贵的Unix服务器和磁盘阵列;l 集群架构与部署:完全并行的 MPP + Shared Nothing 的分布式架构,采用Non-Master部署,节点对等的扁平结构;l 海量数据分布压缩存储:可处理PB级别以上的结构化数据,采用hash分布、random存储策略进行数据存储;同时采用先进的压缩算法,减少存储数据所需的空间,可以将所用空间减少120倍,并相应地提高了有效的I/O性能;l 数据加载高效性:基于策略的数据加载模式,集群整体加载速度可达2TB/h;l 高扩展、高可靠:支持在线扩展,实际扩展能力达到64个SafeGroup(最多64 3 = 192个节点),同时提供断点续做和非对称方式的数据重分布模式。支持全量、增量备份/恢复;l 高可用、易维护: 数据通过2个副本提供冗余保护,自动故障探测和管理,自动同步元数据和业务数据。提供图形化监控工具和企业管理器等管理工具,简化管理员对数据库的管理工作;l 高并发: 读写没有互斥, 支持简化模式的MVCC, 支持数据的边加载边查询,单个节点并发能力大于300用户;l 行列转换存储:提供行列转换存储方案,从而提高了列存数据库特殊查询场景的查询响应耗时;l 标准化:支持SQL92标准;支持C API、ODBC、JDBC、ADO.NET等国际接口规范;1.2 8a产品架构图1.3 MPP + share noting 架构GBase 8a MPP Cluster采用完全并行的 MPP + Shared Nothing 的分布式扁平架构,这种架构中的每一个节点(node)都是独立的、自给的、节点之间对等,而且整个系统中不存在单点瓶颈,具有非常强的扩展性。1.4. 核心组件GBase 8a MPP Cluster产品总共包含三大核心组件,即GCluster、GCware和GNode。GCWare用于各节点GCluster和GNode实例间共享信息,GCluster负责集群调度,每个GNode就是最基本的存储和计算单元。GCluster:GCluster负责SQL的解析、SQL优化、分布式执行计划生成、执行调度。GCWare:GCWare用于各节点GCluster和GNode实例间共享信息(包括集群结构,节点状态,节点资源状态等信息),以及控制多副本数据操作时,提供可操作节点,并在多副本操作中,控制各节点数据一致性状态。GCWare对于集群的管理工作是以节点为基本单位的。GNode:GNode是GCluster中最基本的存储和计算单元。GNode是由GCWare管理的一个8a实例,每个GCluster节点上有一个GNode实例运行。GNode负责集群数据在节点上的实际存储,并从GCluster接收和执行经分解的SQL执行计划,执行结果返回给GCluster。数据加载时,GNode直接从集群加载服务接收数据,写入本地存储空间。1.5. 高可用GBase 8a MPP Cluster通过SafeGroup组内冗余机制来保证集群的高可用特性:l 每个SafeGroup可提供1个或2个副本数据冗余;l SafeGroup 内数据副本自动同步;l 复制引擎自动管理数据同步;图 01 SafeGroup高可用性管理示意图1.6. 高性能在线扩展GBase 8a MPP Cluster具备在线扩展技术:l 通过SafeGroup 动态扩展集群节点,实际可扩展到64 3(192)个节点;l 每个节点可以处理10TB有效数据,同时提供计算和存储能力;l GCware 负责新节点的数据同步;图 02 GBase 8a MPP Cluster在线扩展技术示意图因为GBase 8a MPP Cluster采用高性能单节点的MPP扁平架构,因此进行集群扩展时,可以保证平滑扩展和性能的线性增长特性。图 03 GBase 8a MPP Cluster高性能高扩展示意图1.7. 高性能数据加载数据加载功能作为GBase 8a MPP Cluster的一部分而存在,目的是将用户从其他数据源得到的原始数据文件,按照某种加载规则分发至集群节点,集群各节点接收数据入库保存到本地磁盘。集群加载采用C/S架构,包括数据分发服务器和数据分发客户端两个应用程序。数据分发服务器接收到客户端的数据加载请求后,服务器端负责原始数据文件切分和数据文件的下发;各节点调用本地的集群加载服务接收数据入库并保存到本地磁盘。图 04数据加载示意图 1.8. OLAP函数GBase 8a MPP Cluster 提供OLAP函数,用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。可根据分析人员的要求,快速灵活地进行大数据量的复杂查询处理,以便他们准确掌握企业的经营状况,了解被服务对象的需求,制定正确的方案。1.9. 行列混合存储GBase 8a MPP Cluster采用的行列混合存储的存储结构,改善了当列数较多,查询命中的数据记录又非常离散时,会频繁访问I/O的状况,大大缩短了延迟查询响应耗时,从而提高了查询效率。GBase 8a MPP Cluster提供的行列混合存储技术,它通过创建行存列的机制,减少I/O访问的次数,从而有效地提高I/O性能。2.竞争对手情况GBase 8a MPP Cluster核心优势GBase 8a MPP Cluster相比其他同类数据库产品,核心优势如下:l 高性能:复杂查询、即席查询性能是传统数据库的10倍以上l 高性价比PCServer+Linux+本机磁盘盘,超过小型机+Unix+阵列的性能l 高速同步加载超过 2TB/Hour 的装载速度l 高压缩率:420倍以上压缩比,节省存储,可存储长期历史数据l 扩展能力强:在线增加节点,无需停业务l 管理维护简单智能索引免维护,工具完善易操作IBM DB2 DPFIBM DB2 Database Partition Feature的整体架构如下:GBase 8a MPP Cluster 与IBM DB2DPF的对比优势,如下:对比项Oracle DB2 DPFGBase 8a MPP Cluster架构DPF是基于DB2中的传统分区功能开发的MPP模块。存储结构还是依存于传统的存储结构。真正的面向OLAP的MPP架构。各个节点服务器之间完全独立。功能没有列存储技术,使用高端设备来实现高性能列存储,高效I/O,大幅度提升性能压缩率低,最多只能到5:1左右高压缩比,420倍压缩资源管理机制缺乏,需要过多的人工干预。依存人工建立的大量数据索引。智能优化,无需人工干预性能由于一般采用SAN架构,随着数据量增大,可扩展性比较差无需磁阵,X86服务器水平线性扩展性价比许多功能都是按模块单独销售,如高可用性;随着业务的发展,业务对数据仓库需求侧重点也会不同,而按模块销售会使业务会受到严重制约可扩展性性能高,功能模块多,价格低,性价比优势显著服务支持费用高,响应慢本地服务,成本低,响应快TeraDataTeraData的整体架构如下:GBase 8a MPP Cluster 与TeraData的对比优势,如下:对比项TeraDataGBase 8a MPP Cluster架构私属硬件交换机,软硬件绑定通用X86服务器功能由于设计原理原因,装载数据时只有对空表加载时才能获得好的性能表中数据多少对加载速度无影响压缩率低,通常只能达到80%左右 列存储,高压缩比,420倍压缩管理维护升级时中断业务时间过长,一般需要一周左右升级只需几个小时性价比购买、升级费用非常昂贵性能高,价格低,性价比优势显著服务支持费用高,响应慢本地服务,成本低,响应快HP VerticaHP Vertica 为纯软件的MPP产品,GBase 8a MPP Cluster 与HP Vertica的对比优势,如下:对比项HP VerticaGBase 8a MPP Cluster功能严重依靠projection提供不同方案的性能。拥有多个分析视图,projection表的数量也将增加(相同数据的多个副本),而这抵销了压缩的带来的好处一份数据,采用智能索引技术进行自动性能优化性能对用户并发查询数据库数据支持不够好,此时如果查询到达可利用的内存上限,性能下降则非常明显;并发数水平线性扩展如果任何查询需要调优,往往会受限于projection中的复制数据,灵活性较差,性能受到影响智能索引,自动优化,无需复制数据国内案例无众多EMC GreenPlumEMC GreenPlum的整体架构如下:GBase 8a MPP Cluster 与EMC GreenPlum的对比优势,如下:对比项EMC GreenPlumGBase 8a MPP Cluster架构存在Master节点,容易形成单点故障。且当集群节点较多时,容易产生单点性能瓶颈。对于Master节点之间的切换和故障解除后的恢复,过程中易于引起系统运行环境的混乱,造成无法正常工作。为纯粹的扁平结构的ShareNothing架构,不存在性能上的单点瓶颈和单点故障问题。Greenplum基于PostgerSQL数据库软件实现,实际上整个系统相当于一个数据库联邦,因此当Greenplum遭遇断电等极端情况时,由于每个PostgerSQL系统的当时情况存在差异,造成节点全部断电后无法自动全部重启,需要人工干预。GBase产品支持全部节点断电重启后正常运行;这种需求对中移动带来的益处是在极端的电力失效场景下,整个MPP系统仍可以迅速恢复对外提供服务。受限于PosgerSQL,在单节点上没有并行架构,对多CPU多核的使用效率不高。可充分发挥单节点上多核SMP多核优势,实现节点上双向并行。功能无增量备份,每次备份都是全备,这样备份归档会占用很多空间支持全量备份和增量备份不能缩减节点可以扩展节点,也可以缩减节点压缩态数据不支持更新和删除操作高压缩数据依然可以增删改性能系统空间膨胀过快,空间回效率低下,时间长,并且严重影响系统性能,如系统表空间可能膨胀将近百倍系统空间很小,对性能无影响对并发查询数据库数据支持不够好,一般支持几个复杂长时间SQL查询,当任务更多时会自动失败单机300并发,水平线性扩展与常见ETL、报表工具连通时兼容性及性能都比较差 接口完全标准化,兼容性好,与主流中间件、ETL、报表工具都可对接管理维护无图形化管理工具GUI工具:企业管理器、监控管理工具Master与Standby切换、回切相关繁琐,管理维护不方便,并且经常失败完全对等的扁平架构,无Master节点,无切换问题三 常见技术问题(1)GBase 8a是MPP集群架构,是否有临时表概念?什么情况会用到临时表?是自动的还是须要人工设定?答:GBase 8a若采用集群方式部署,运行时有可能会根据需要自动生成临时表。一般情况下,数据在加载到集群中各节点时,表的分布有三种:复制表、分布表和非复制表。因为非复制表只保存一份,存在数据丢失隐患,所示实际中很少用到。平时用到最多的是分布表和复制表,对于参与关联运算较多的维度表或小表,采用复制表方式存储,减少节点间拉表成本;对于大的事实表,一般采用分布表方式,分布可以采用随机分布或Hash分布。如果两个分布表做等值Join,为了减少节点间拉表的运行成本,GBase 8a会自动评估决定是否将其中相对小的分布表临时合并成复制表,这样在每个节点与另一张分布表做Join。被临时合并并复制的表在这个过程中就生成了临时表。临时表是为提高运算性能系统自动采取的一种策略。运算结束后,临时表会被释放。(2)索引是什么机制?答:GBase 8a在数据入库时,能够自动在每一列上建立粗粒度的智能索引,索引包含统计信息,可以直接使用,降低不必要的磁盘IO。对于多表关联和等值查询的应用场景,针对经常访问的数据列,可以人工为其建立Hash索引,数据在加载到集群时通过Hash分布的方式分不到集群每一个节点上,发挥每一个节点的运算能力,实现任务分摊,达到集群效能的最大利用。(3)如何理解索引的“粗粒度”?答:GBase 8a的智能索引在字段上基于数据包自动建立索引,常驻内存,即为粗粒度。(4)如何理解全文检索?答:全文检索面向的为半结构化数据,如微博、短信等半结构化内容用全文索引效率就明显提高。其他如文本、网页等内容,文本存在DFS中,索引存在数据库中,全文抽取插件可以支持8种文件格式。总的原则是小数据存在字段中,大文件存在DFS中。全文的关键字和索引内容存在数据库中,采用单字切分技术,和语种无关,命中率可达100%。(5)8a的应用场景?答:主要有即席查询、R-OLAP应用、数据仓库和数据集市、低价值密度的数据查询分析等(如日志)。从应用角度在金融领域用于反洗钱、信用卡分析、绩效考核数据、用户上网分析、审计平台等。电信领域用于日志管理、经分系统等。(6)你们Select*操作是否比较麻烦?答:对,因为需要把每个字段都列出来。但是自8512版本我们支持行、列混合存储,对于经常被select*的场景,可以使用行存列的方式实现。(7)如何理解列存储与行存储在增删改查方面大数据优势的原理及具体体现答:行存:增删改查需要建立索引,根据索引一行一行排查找到具体行进行增删改查,同时要记录日志等文件。耗费大量I/O。列存:增原理:8a大批量数据入库时,可以边查询操作,边入库,两不耽误。使用的是AB版本,查的是原数据版本,入库则入副版本,副本入完后与原数据版本置换同步;改原理:修改时原数据加标记包头偏移量处加标记,修改后新数据插入到最后(等于增)。每列最后一个包不进行压缩,减少插入数据的工作量;删原理:删除时原数据加标记包头偏移量处加标记,以后查操作会跳过该标记内容;大数据查:只涉及需要查找的列,而且每列有智能索引,可以先按包排查,再在筛出的包内排查。不需像行存一样所有的列每条记录去排查;智能索引:不是物理存在的表,是加载数据库时提取包头内容在内存形成的表。(8)外部数据源加载到多个分发节点时,如果部分节点加载成功,部分节点加载失败,成功部分数据是否保留还是回滚?答:加载如果报success,则是所有可用节点数据都加载成功,如果有任何一个节点加载出问题,则所有节点都没有任何数据加载进去。(9)群组中安全组的节点个数是否必须一样?答:可以不一样,但是建议实际应用中保持一样。(10)能否与pl/sql连接,或可以与哪些常用的客户端工具配合使用,是否支持标准SQL所有语法?答:不能与oracle 的pl/sql连接,GBase 8a客户端有自己的企业管理器,支持标准SQL语法。(11)与开发语句如JAVA,C,.NET等语句的连驱动的完善?答:有。GBase 8a有完善的符合国际标准化的接口,如JDBC、ODBC、ADO.NET以及C API。(12)hash分布选取列的原则:答:选取group by和join的varchar列;选取的列重复值不应该太大,否则各节点分布不均匀。(13)Sql语法跟mysql很类似,交流时如何向客户说明跟mysql关系?答:目前主流的数据库,都支持SQL92标准。8a产品以mysql为原型开发,跟第三方BI工具支持mysql接口,方便客户部署和迁移。四 学习过程中遇见的问题和体会1. 在学习过程中,对8a以及8a MPP数据库的原理有一定的了解,但没有具体测试数据以及场景的应用数据做支撑,希望能够获取一些以往招标或者测试过程中具体场景的一些数据,根据不同的应用场景和相应的数据做对比,这样能够对8a产品的特性认识更加清晰。2. 在学习中,查找到一个用户需求的公式即最小磁盘空间需求(MDSR),MDSR=原始数据*数据库以及相关工作空间*副本选项因子*RAID因子*操作系统和文件系统因子*数据库压缩因子,MDSR=原始数据*1.2*3*16/15*1.2*25%=原始数据*1.152,我想问的是这个公式在8a产品中是经过总结具有普遍意义,还是各个因子要根据具体项目需求进行调整?3. 在学习以往项目实例中,发现用户的数据ETL需求不较多,但在我所拥有的资料中,对ETL相关的内容比较少,多数都是介绍8a产品特性的内容,根据以往的售前的经验,用户对ETL相关的技术是否注重,售前的工作需要对ETL相关技术进行学习了解吗?4. 8a产品的报价有两种,一种是根据数据量,另一种是根据节点数,我看到的相关内容是一般的数据成本是1w/TB,单节点40w,我想知道这个成本以及报价是否具有普遍性,如果后续跟用户交流过程中,用户问及8a产品的大体报价时,是否可以跟用户报如上的价格?五 下周工作计划和安排1. 继续学习8a产品特性,结合以往案例,结合各个项目用户不同的需求,对8a产品相关特性进行深入理解;学习Hadoop有关内容,并了解8a产品与Hadoop混合组网的案例学习;下面为朱自清的散文欣赏,不需要的朋友可以下载后编辑删除!谢谢!荷塘月色作者: 朱自清这几天心里颇不宁静。今晚在院子里坐着乘凉,忽然想起日日走过的荷塘,在这满月的光里,总该另有一番样子吧。月亮渐渐地升高了,墙外马路上孩子们的欢笑,已经听不见了;妻在屋里拍着闰儿,迷迷糊糊地哼着眠歌。我悄悄地披了大衫,带上门出去。沿着荷塘,是一条曲折的小煤屑路。这是一条幽僻的路;白天也少人走,夜晚更加寂寞。荷塘四面,长着许多树,蓊蓊郁郁的。路的一旁,是些杨柳,和一些不知道名字的树。没有月光的晚上,这路上阴森森的,有些怕人。今晚却很好,虽然月光也还是淡淡的。路上只我一个人,背着手踱着。这一片天地好像是我的;我也像超出了平常的自己,到了另一世界里。我爱热闹,也爱冷静;爱群居,也爱独处。像今晚上,一个人在这苍茫的月下,什么都可以想,什么都可以不想,便觉是个自由的人。白天里一定要做的事,一定要说的话,现在都可不理。这是独处的妙处,我且受用这无边的荷香月色好了。曲曲折折的荷塘上面,弥望的是田田的叶子。叶子出水很高,像亭亭的舞女的裙。层层的叶子中间,零星地点缀着些白花,有袅娜地开着的,有羞涩地打着朵儿的;正如一粒粒的明珠,又如碧天里的星星,又如刚出浴的美人。微风过处,送来缕缕清香,仿佛远处高楼上渺茫的歌声似的。这时候叶子与花也有一丝的颤动,像闪电般,霎时传过荷塘的那边去了。叶子本是肩并肩密密地挨着,这便宛然有了一道凝碧的波痕。叶子底下是脉脉的流水,遮住了,不能见一些颜色;而叶子却更见风致了。月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处酣眠固不可少,小睡也别有风味的。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如梵婀玲上奏着的名曲。荷塘的四面,远远近近,高高低低都是树,而杨柳最多。这些树将一片荷塘重重围住;只在小路一旁,漏着几段空隙,像是特为月光留下的。树色一例是阴阴的,乍看像一团烟雾;但杨柳的丰姿,便在烟雾里也辨得出。树梢上隐隐约约的是一带远山,只有些大意罢了。树缝里也漏着一两点路灯光,没精打采的,是渴睡人的眼。这时候最热闹的,要数树上的蝉声与水里的蛙声;但热闹是它们的,我什么也没有。忽然想起采莲的事情来了。采莲是江南的旧俗,似乎很早就有,而六朝时为盛;从诗歌里可以约略知道。采莲的是少年的女子,她们是荡着小船,唱着艳歌去的。采莲人不用说很多,还有看采莲的人。那是一个热闹的季节,也是一个风流的季节。梁元帝采莲赋里说得好:于是妖童媛女,荡舟心许;鷁首徐回,兼传羽杯;欋将移而藻挂,船欲动而萍开。尔其纤腰束素,迁延顾步;夏始春余,叶嫩花初,恐沾裳而浅笑,畏倾船而敛裾。可见当时嬉游的光景了。这真是有趣的事,可惜我们现在早已无福消受了。于是又记起西洲曲里的句子:采莲南塘秋,莲花过人头;低头弄莲子,莲子清如水。今晚若有采莲人,这儿的莲花也算得“过人头”了;只不见一些流水的影子,是不行的。这令我到底惦着江南了。这样想着,猛一抬头,不觉已是自己的门前;轻轻地推门进去,什么声息也没有,妻已睡熟好久了。在北京住了两年多了,一切

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论