||论文发表咨询***:400-
社会学论文范文宁夏回族建筑遗产保护研究
来源:位置:时间: 16:34
宁夏是回族的聚集区,当地人口有35%为回族群众。伊斯兰文明在此传播发扬,同时与当地的地域文化相结合,形成了独具特色的回族文化,在其独特的宗教习俗和文化内涵的影响下,宁夏地区的回族建筑经过长期的发展形成了风格鲜明的地域性建筑,但同时,由于诸多原因,历经沧桑的历史文化建筑却面临被拆毁、重建的厄运。
摘要:宁夏是回族高密度居住的地区之一,回族建筑作为地区乡土建筑与民族、宗教的联系纽带尤显重要,但在传统营建方式与人居环境被更替的当下,回族建筑的保护逐渐成为重要的地区性学术研究方向之一。通过田野调查和论证分析,探索了回族建筑遗产保护的问题原因,提出了符合地区人居发展的合理建议。
关键词:社会学论文范文,宁夏,回族,建筑,遗产保护
这不仅破坏了历史文化建筑的原真性,更会导致区域的地域性文化肌理的断裂与缺失。乡村类文化景观具有观赏与研究价值,更重要的是它对于人类的现在和未来,具有深刻启示和指导意义。乡村类文化景观所形成的特殊的精神与自然的关联,对促进现代可持续的土地利用方式和技术具有重要借鉴意义,能够维护或增强自然环境方面的价值,保证世界许多地区的生物多样性和文化多样性。[1]
1宁夏回族建筑遗产保护现状
根据ICOMOS第十二届在墨西哥通过的乡土建筑遗产保护宪章评判标准,宁夏回族建筑遗产目前从管理状况可以分为4个层级(表1),从情况好坏分为:1.重保护、重开发,2.重保护、轻开发3.只管理、不保护、4.放弃保护。
依据上述评判标准的层级指标,在田野调查宁夏回族建筑遗产的基础上,得出了层级评判分类的相应数据,通过数据显示(表2),宁夏地区回族建筑遗产总体保护情况良好,但出现了一些具体的问题,甚至出现了让人较为担忧的状况。宁夏银川市西夏区西花园的将军府旧址保护,便是一个问题棘手的第四层级案例,下面就出现的各类问题作出详尽的原因分析。
2造成回族建筑遗产保护困扰的原因分析
具有历史文化价值的建筑遗产无法被合理的保护和利用,而是废弃闲置,这无疑对现有的建筑遗产是一种不可逆转的破坏。究其原因,有如下几个方面导致了历史建筑遗产的废弃。
2.1忽视制度与管理
对具有历史文化价值的建筑遗产无法真正地保护及利用,管理的方式首先存在问题。一方面是当地政府造成的,以马月坡寨子来说,尽管是省级重点保护文物,但是当地的城市规划部门却未将其划入文物保护的范围,由此导致周围建造了不少的厂房楼宇,施工租用排放的废弃物,造成了周边环境质量的降低。由于当地政府对于此处的寨子遗址的管理不严格,导致了寨子的损毁与面积减小,并且任意由周边厂房侵占,加速了对古建遗址的破坏。另一方面,是由于民间的开发造成的。民间的资本开发需要低廉的成本,马月坡寨子所在的地方位置偏僻,租金低廉,吸引了不少工厂在其周边建立,造成周围环境与产权的混乱现象(图1、2)。
2.2保护资金不到位
在保护的过程中,资金不足也是重要的一点。许多保护区周边已被工业区、居民区侵占,要想最大化的恢复历史遗址建筑的原貌,势必需要进行拆迁安置工厂员工和当地的原住居民,这样的项目需要庞大的资金链去支持运转,对于当地政府来说,经济压力巨大。除了前期的拆迁补偿安置外,中期的建造修缮也是一项支出。以马月坡寨子为例,若想与吴忠市的&回族之乡&的品牌契合,不仅仅需要恢复重建寨子缺失的80%的宅基地,还要形成相关体系的旅游文化产品,例如:回族风情街、回乡特色以及传承现在濒临后继无人的非物质遗产。这些产业链只有充分完善了才能进一步打响&回乡文化&的旗号,增加旅游产业的收入。在后期的资金安排上,可以以旅游资金带动保护工作、宣传工作。因此,整体的保护工作中,资金的到位是一个紧急并且关键的问题。
2.3民众的重视程度与参与性较低除了政府的管理工作和资金的筹集以外,民众的重视与参也是必不可少的。这方面,当地的民众需要认识到保护遗址工作不是限制修建工厂、阻碍经济发展,而是通过遗址区域的保护来记录一个时期、一段历史文化甚至是一批典型的人或事件,梳理、整合城市肌理。一个地区若缺少原有的历史文化、历史肌理,无论经济上多么强大,其内在底蕴是贫乏的。通过重建、修复、保护这些历史建筑,看到先辈们怀着对祖国、家乡、宗教的炽热之情所做的宏伟巨作,可以增强民族间的凝聚力,激发热爱祖国的热忱。此外,民众对遗址保护的重视和参与遗址保护工作,不仅可以为当地政府专家献计谋策,同时也是一种民众的监督力量,确保政府在保护的过程中能够定制出既符合大众需求、又符合长线经济发展的遗址保护战略,以同心清真大寺以及周边教坊社区的调查数据为例,如表,可以得出群众在信主独一的思维模式下认为回族建筑遗产需要保护的占大部分,但究竟如何参与,参与具体哪些事项的人数还只是少数。
2.4相关学术研究较少
回族建筑遗产在修复保护过程中,鲜有与之相关的学术研究作品,这使修复保护工作在一定程度上降低了准确性并失去了研究的意义(表4)。以中国知网的关键词&回族&、&遗产&检索为例的数据显示,关于回族建筑遗产的相关学术研究论文甚少,在仅有的8篇文章中,也只是一带而过,并没有展开深入具体的研究。对于回族建筑遗产的修复工作不应仅仅局限于建筑装饰公司的设计安排,应更多通过与地方大学、科研机构进行合作交流,文物局和规划局在回族建筑方面应增加相关的研究课题,鼓励建筑师和研究人员共同的交流合作,真实的还原历史原貌,合理的规划设计周围环境的文化肌理,促进相关学术研究的发展,为回族建筑遗产的保护提供更多的实践资料。
2.5旅游规划欠缺与文化宣传淡薄
宁夏回族自治区地处祖国版图的西北区域,区内的旅游资源也有不少,但是每年的旅客数量和旅游创收的效益均不理想。在回族文化这方面的旅游路线规划主要是以回乡文化园展示为主,与当今颇为流行的体验式旅游方式相比不够吸引游客。在这一点上,旅游规划的欠缺降低了回族建筑遗产的知名度,无法将回族文化更加真实深刻的传递出去。
在宁夏地区,除了有&中阿经贸论坛&这个国家级的论坛以外,关于回族建筑方面的文化宣传是十分欠缺的。民众对回族文化的了解,仅限于吃、穿、习俗等方面,对其宗教文化内涵的外在表现知之甚少。首府银川正在建立回族文化的旗帜,回族文化氛围的营造在此时应作为主要目标之一。因为回族文化不代表伊斯兰文化,而是代表伊斯兰文化中国化所形成的独一无二的自有品牌,通过这种文化氛围的培养,可以让更多的人重视或有兴趣去了解回族建筑遗产。
2.6外来文化的挑战
随着社会的不断发展和网络化时代的到来,回族文化作为地域性、宗教性的文化受到主流文化和外来文化的冲击,回族的建筑也受到影响。如回族社区,形态一般是&围寺而居&,而在城市化的不断变迁下,越来越多的回族群众搬离了教坊式的社区,选择新型的社区居住,这在一定程度上加速了回族社区的衰落。而在建筑的形态上,早先回族建筑是依附于中国传统木构建筑的基础之上的,只是在朝向、功能等方面上改选适合宗教礼义的布局方式。
而现今的情况是,越来越多的回族建筑没有了自己的地域性、民族性特色,反而将中东地区的穹顶、纹样装饰搬过来直接使用,造成了清一色的&阿拉伯&建筑。如图3、4,同心清真大寺周边解放前与现在对比,可以看出原有的社区肌理、风格风貌已经消失不见,剩下的只是新农村规划中红顶砖墙的身影。宗教需要在一定的地域、环境中发展,融入了当地的文化特色才能长久的存在,这说明宗教不能孤立、排他的存在。伊斯兰教融入中国一千多年,在中国地区的发展无一不和其包容性有关系。回族建筑也是一样,在长久的发展中融入了很多中国传统的建筑特色,这并不阻碍伊斯兰教的发展,而更是从中凸显了回族的地域文化特征,现今不少回族建筑盲目挪用中东式的风格,在一定程度上破坏了回族建筑的民族性和地域性文化特征。
2.7经济发展优先,文化传承滞后
回族文化是需要传承的,这种文化传承是按照时间轴纵向传播,有一定的人为性、时间性、延续性和继承性,而现在由于市场经济的作用和大环境的&趋利&形势,盲目追求经济效益,造成了回族文化传承的断裂。原建在银川市铁路小学附近的将军楼,是近代回族领袖马洪奎的名人故居,建筑价值较高,但是改革开放的初期由于保护意识较低造成现有的格局,周边均开发房地产,事实上,历史街区、老城文化价值未来会远超过土地经济价值,(图5)原来的土地已被尽数占去,而且就剩余的残破部分也没有得到相应的保护。
3回族建筑遗产困境的解决对策
3.1教育与思想转变
3.1.1民众的教育
如上所说,在历史建筑的保护上,当地民众的重视与参与极其重要。建筑遗产是回族先辈们通过辛勤的劳动留给后人的瑰宝,是极具潜力的。在这一点上,我们可以借鉴国外的遗址保护经验,更好的运用到符合我国国情的计划中。
以法国的历史遗产保护工作为例,其在历史文化遗产的基础上不断扩大其内涵,将其延伸至诸多方面,在对民众的教育方面,法国政府根据其国民的意识习惯以及当地的文化习俗,定期或不定期的在历史遗址区域举行规模大小不一的展览、宣传、文化性演出等项目,吸引民众的注意力,同时鼓励民众对遗址保护工作提出建议或意见,甚至是监督检举,并对这些活动进行一些经济物质方面的奖励等。通过这些措施,极大地促进了民众的参与热情。所以,历史建筑的保护过程中有了群众的参与,整合普通大众的意见,对遗产保护的方法提供更加人性化解决办法。人们积极参与的兴致提高,在相关的宣传、学习以及征求意见过程中,可以充分体现人民的主人翁意识,侧面提高大众的文化素养并且树立当地政府形象。所以,在遗址保护工作中对民众的知识教育环节尤为重要。
3.1.2研究、管理人员的理念教育对于从事建筑遗产保护的专家、研究学者来说,对保护理念的进一步提高是至关重要的。
主要表现在以下几个方面。
(1)进一步扩大保护的范围。回族建筑遗产的保护,不仅仅是建筑的单体需要被保护,建筑周围环境、建筑里面居住、使用的人,建筑装饰的技艺以及建筑风格等都是需要保护的对象。
(2)进一步扩展保护理念。不仅仅局限于物质性、实体的保护,回族建筑遗产应更多的从空间形态、虚体的保护,如城市、地区天际线的保护,建筑风水的保护等。
(3)多层次的保护。回族建筑遗产应分为多层次的保护,分为历史建筑、文物建筑、风貌建筑等多方面、多层次的保护。
3.2建立多元化的资金渠道
在资金到位的问题上,笔者认为转变政府单项资金来源的模式,从多口径的突破如增加旅游的收入、穆民的捐款、宣传后的外来捐款、寺内也贴收入设立专项保护基金等,如图6,具体实施应从一下几方面进行:
3.2.1以寺养居
对建筑遗产的保护,不妨可以参照清真寺以寺养居的形式。清真寺作为伊斯兰教信徒聚集礼拜的场所,从建立到日常的维修、使用均是教徒捐赠的物资,这不得不归功于伊斯兰教义的广大。因此,在对其他类似的遗址建筑,如同心清真大寺、永宁纳家户清真大寺等宗教性建筑则可以用恢复其本身宗教意义并筹措资金,保证遗址的修复。
3.2.2政府与民间双重投资
在政府资金力量有限的情况下,可以在全区甚至全国范围内进行招标工作,找到实力较强的多家投资人一同开发投资建设。通过利益分配、税收优惠、贷款征地优先等政策吸引有实力的企业参与,解决资金不足的问题,为后期的旅游开发产业、文化招牌产业做好基础建设工作。鼓励民间资本、私人资金的投入,同时积极与国际上的遗产保护组织联系,争取其技术与资金上的支持。
3.2.3媒体宣传
作为信息化的时代,媒体的宣传工作是极为重要的。乔家大院、木府风云等电视剧让普通大众愿意去拍摄地游览,因此这些历史建筑的旅游游览人数从初始的一万多跃至现今的十几万甚至更多,门票收入也翻了几倍之多。因此,媒体宣传影响力的扩大是对现有的遗址建筑的旅游人数突破的重要一笔,更是增加宁夏地区回族文化名片的噱头之一。
3.3建立完善的档案体系与监测系统
为保护好建筑遗址,建立完善的档案体系和检测系统可以更好地协调保护工作中的具体问题。在国家层面上尽快建立完善的立法体系,将现有的物质性或非物质性文化遗产分别立法,作为一个基本准则,以行政法规、地方条例作为补充完善。在省级区级单位上确定重点保护天然纪念物和历史遗迹的登录制度,组织有效的监察检查队伍。一旦被列入遗产名录,未经批准不得随机毁坏或更改,所有周边的大型作业应提前一段时期进行申报审阅,得到批准后方可动工。此外,严密的监测系统在法律立法的环境下严格实行。
3.4注重周边环境肌理的文脉传承
对于建筑来说,荒废会使其更容易衰败和破落,把这些建筑重新利用起来是一种既利用原有资源,可以延长建筑物的使用时间,更可以维持城市中心。同理而言,保护建筑遗产不应仅限于保护单体建筑,更应注重建筑物周围的环境肌理,不能让其单独的存在一个与其不相适宜的环境中,这样的保护最大化的减少流失原住民或是形成无人区的窘境。以国外历史遗址保护区比较成功的经验来说,保护周边的环境肌理是为了保持区域生命活力,有过渡、有肌理延伸的环境遗址保护才是适宜人居住的。
3.5开展合理培训、坚守保护理念
回族建筑遗产的保护不能仅仅局限于现有的知识技术,而需要更多的学习研究去深层次的探寻建筑遗产的保护方向以及保护手段。建议一方面,政府规划、文管部门与地方性高校、科研机构合作,结合当地实际的生产生活,探寻并解决建筑遗产在保护过程中的所遇到问题;另一方面,鼓励与国内外的相关区域交流学习,从中探寻地域性的建筑遗产保护思想,避免一味模仿复制阿拉伯地区的建筑。
在地域性保护思想的探究上,应着重于强调保护原则的层面,主要在以下几个方面:
(1)原真性:建筑遗产的保护应是根据不同层次、不同角度的对象指定适宜的保护政策,但总体要真实保留建筑所能反映的历史面貌,即是一种原真性保护。一些建筑遗产要全部保留其历史面貌,有些则是要稍微改动一些,所有的这一切都需要进一步深化研究原真性的保护程度。
(2)整体性:建筑遗产的保护不应仅仅局限于单体建筑的保护,因为建筑周围的环境肌理、历史肌理、建筑内部的人是建筑在新时期重生的土壤,缺少了这些因素,建筑遗产仍只是一具空壳。&整体性保护&的观念,将城市发展转向历史保护,具有人本主义的美学取向,从历史文化传统的角度,来保护生活在其中的居民和建筑物。
(3)历史连续性:建筑遗产的保护不应独立于其时代,无论是建造的年代或是保护的年代。
(4)可读性:建筑遗产的保护目的在于让更多的民众去了解建筑及其文化价值,应此建筑遗产的保护应着力于保证民众的可读性。
3.6恢复或重设区域功能
在保护建筑遗产的过程中,要注意不能单一地保护建筑遗产,而是应该同时保护建筑遗产原有的区域功能,使其不单单是作为博物馆工人参观,而是应融入普通群众的生活之中。
在对于仍有使用价值的清真寺建筑而言,修复并投入使用就是最好的保护手段,建筑的荒废更易造成破败。有选择地利用无人居住的、有历史价值的建筑来提供让人易于理解,有教育意义的社会***务。马月坡寨子就是一个很好的例子,与其闲置在郊外任其破败,还不如经过合理规划后重新开放给普通大众,作为一个教育平台,让更多的人了解这一历史时期与历史背景,从而深层次的了解回族建筑文化,将回族建筑遗产的保护落实在为人民大众服务的夯土地上。
3.7遗产捍卫者的人才培养与多元化的研究回族建筑遗产是挖掘地域性、文化性特色的重要原料。建筑师的培养对所在地区的文化特色进行提炼、融合的同时,可以接替老一辈的遗产保护工作者的重任。重视保护遗产老专家的建议,结合国内外相关工作经验,加大对建筑遗产保护工作的人才培养,是进一步深化遗产保护工作,扩展地方特色、增强意识形态和弘扬爱国思想的重要举措。
多元化的研究是挖掘回族建筑的特色内涵的重要一步。对以前的研究方法、改造方法要有一个客观的认识,有错误则要改正。在回族建筑遗产上研究地域性特色的同时,要创新、革新,不能仅仅停留在学术的研究水平上,更多的应多元化的结合,与民族学、社会学、生态学等结合起来,对新时代的回族民居、宗教场所进行再创新。
3.8法律、规划、管理的三管齐下
我国针对遗产的保护法律仅有《文物法》,但许多地方性、针对性强的地方条例仍是欠缺和不足的。在这一点上,需要借鉴国外的成功的经验,多学习了解,制定适宜国情发展、地方政策的法律条规,健全和完善建筑遗产类的保护法规,将具有价值的的回族建筑遗产的保护工作落在实处。
制定合理的规划蓝图,不仅仅是体现在宏观的新建区域上,更需要对民居规划、历史街区的规划和新旧城区的交替规划上做更进一步的详规。重视有回族建筑遗产区域的规划,将历史区域的规划改造与新的城区规划结合,在保护的前提下促进当地的经济发展。在民居的规划上,将人放在第一位保护,人性化、个性化的解决新规划与民居遗产的矛盾,是民居遗产在新的规划下重生。
除了主管部门与相关部门的配合,管理体制的革新也是必要的。政府与企业之间的合作投资更需要加大监管力度,避免建设性破坏。此外,积极宣传建筑遗产的保护,让民众参与进来,真正体现民居保护中&人&的作用。
中国民族建筑研究会副会长李先逵说过:&我认为对城市现代化建设成功的标准有两个:一是现代新建筑建设比例,而是对文化遗产、古建筑、古民居保护的水平如何&。一个城市发展的成功与否,除了其建设新篇的面目以外,对原有的文化肌理、建筑遗产的保护与规划这些文化性的软资源的保护更能体现这个城市的文化素养和现代化水平,缺少了文化内涵的城市仅仅是工业化城市的空壳,丧失了成长与感知的能力。遗产的捍卫工作是一件长而久的工作,需要社会全民参与,方可实现未来不远的目标。
参考文献:
[1]单霁翔.乡村类文化景观遗产保护的探索与实践[J].中国名城,2010,(04):4-11.
[2]仇保兴.中国历史文化名城保护形势、问题及对策[J].中国名城,2012,(12):4-9.
[3]旦秀英.关于回族生态价值观的思考[J].青海民族研究,2001,(02):110-111.
[4]邵甬.法国建筑景观遗产保护[M].上海:同济大学出版社,2.
[5]齐一聪,路方芳,刘克成.博洛尼亚以&反发展&理念保护历史文化名城[J].城乡建设,2011,(10):76-77.
[6]张松.历史城市保护学导论[M].上海:同济大学出版社,1.
上一篇:下一篇:
社会学论文发表流程
&&&&致力于为需要刊登的人士提供相关服务,与多家省级、国家级、核心期刊杂志社合作。网站拥有丰富的媒体资源、提供迅速快捷的论文发表、写作指导等服务。
&&&& 搜论文知识网,中国核心期刊论文发表网,中国期刊网。杂志社直接对接合作,上百家国家级期刊、省级期刊、北大核心、南大核心、合作开展期刊、杂志征稿。搜论文知识网期刊网,权威的职称论文、期刊、论文发表网。职称论文发表、期刊发表论文、杂志发表论文、期刊征稿、期刊投稿,论文写作指导、发表正规机构。是您,论文发表、职称论文发表、期刊投稿、杂志投稿、首选最可靠,最快速的期刊论文发表网站。
本站收藏和推荐的期刊杂志全部是经国家新闻出版总署批准、在&中国期刊网全文数据库&&万方数据库&等多家期刊数据库上可以查到的正规省级以上刊物,具有CN和ISSN双刊号,发表程序正规,信息安全,有效保障作者的合法版权。作者来稿会在五个工作日之内给您回复,有效期十五天,五个工作日内未收到回复,论文可另投他处。
如果您有待发表的论文成品,可直接向本网站投递,详细投递方式、要求等请参考网站首页的&投稿须知&栏目;如果您没有的稿件,请提供写作提纲或要求,本网站给予指导,内容原创,保证通过,详情请参考&写作流程&栏目。
凡是确定与本站合作的作者,须向本站提供50%定金(30000字符以上毕业论文),本网站提供相关收据证明。若论文未被杂志录用,本站退还全部定金,若客户不想发表了,此定金不退还。
搜论文知识网系学术网站,对所投稿件无稿酬支付,谢绝非学术类稿件的投递。
相关论文阅读
优质期刊推荐
优质论文推荐
[摘要]:本文从三个方面,对腐败进行了分析。一是从我国官方报告看腐败现状。二是从国际组织数据看我们的腐败程度。三是从事实看我国的腐败问题。通过分析,可以充分认清***败斗争的重要性和紧迫性,坚定不移地开展***败斗争。
要】党的***报告中提出&倡导富强、民主、文明、和谐,倡导自由、平等、公正、法治,倡导爱国、敬业、诚信、友善,积极培育和践行社会主义核心价值观。&作为社会主义核心价值观,由此为中国
社区肩负着城市基层自治和城市管理体制改革与发展的重任,直接影响着一个城市的精神风貌、城市品位、投资环境等。社区工作者是和谐社区建设的主要组织者、推动者和实践者。这支队伍素质的高低、能力的强弱、作风端正与否直接影响社区工作的整体水平。本文就我省社区工作者的职业化问题以及解决对策进行了广泛的研究,提出了一些可行性思路,旨在为加快推进我省社区工作者的职业化建设,提高城市管理水平和城市居民的整体素质提供借鉴。
摘要:倾听,是人际交往的一种艺术,体现了一个人的品德和修养。本文力图回答“怎样学会积极倾听”这一问题,并就这一问题提出自己的建议。
核心期刊推荐
级别:北大核心周期:旬刊国内刊号:11-1784/N国际刊号:X单位:中国科学院 ;国家自然科学基金委员会
级别:北大核心周期:季刊国内刊号:33-1205/TU国际刊号:单位:浙江大学
级别:北大核心周期:双月刊国内刊号:41-1384/N国际刊号:单位:河南理工大学
级别:北大核心周期:双月刊国内刊号:31-1358/TU国际刊号:单位:华东建筑设计院;同济大学
级别:北大核心周期:双月刊国内刊号:31-1358/TU国际刊号:单位:华东建筑设计院;同济大学
级别:北大核心周期:双月刊国内刊号:42-1785/X国际刊号:单位:水利部中国科学院
级别:北大核心周期:双月刊国内刊号:51-1142/TU国际刊号:单位:四川省建筑科学研究院
级别:北大核心周期:月刊国内刊号:11-2223/N国际刊号:单位:清华大学
级别:北大核心周期:半月刊国内刊号:CN 11-2961/D国际刊号: ISSN
单位:人民日报社主办
级别:北大核心周期:月刊国内刊号:CN 23-1393/TD国际刊号:ISSN 单位:黑龙江科技学院
哈尔滨煤矿机械研究所主办
级别:北大核心周期:旬刊国内刊号:36-1078/G4国际刊号: 单位:江西科技师范学院主办
级别:北大核心周期:月刊国内刊号:13-1001/I国际刊号:单位:河北省作家协会
精品论文推荐分布式系统的事务处理
分布式系统的事务处理
2)Eventually 最终一致性:当你写入一个新值后,有可能读不出来,但在某个时间窗口之后保证最终能读出来。比如:DNS,电子邮件、Amazon S3,Google搜索引擎这样的系统。
3)Strong 强一致性:新的数据一旦写入,在任意副本任意时刻都能读到新值。比如:文件系统,RDBMS,Azure Table都是强一致性的。
从这三种一致型的模型上来说,我们可以看到,Weak和Eventually一般来说是异步冗余的,而Strong一般来说是同步冗余的,异步的通常意味着更好的性能,但也意味着更复杂的状态控制。同步意味着简单,但也意味着性能下降。 好,让我们由浅入深,一步一步地来看有哪些技术:
Master-Slave
首先是Master-Slave结构,对于这种加构,Slave一般是Master的备份。在这样的系统中,一般是如下设计的:
1)读写请求都由Master负责。
2)写请求写到Master上后,由Master同步到Slave上。
从Master同步到Slave上,你可以使用异步,也可以使用同步,可以使用Master来push,也可以使用Slave来pull。 通常来说是Slave来周期性的pull,所以,是最终一致性。这个设计的问题是,如果Master在pull周期内垮掉了,那么会导致这个时间片内的数据丢失。如果你不想让数据丢掉,Slave只能成为Read-Only的方式等Master恢复。
当然,如果你可以容忍数据丢掉的话,你可以马上让Slave代替Master工作(对于只负责计算的结点来说,没有数据一致性和数据丢失的问题,Master-Slave的方式就可以解决单点问题了) 当然,Master Slave也可以是强一致性的, 比如:当我们写Master的时候,Master负责先写自己,等成功后,再写Slave,两者都成功后返回成功,整个过程是同步的,如果写Slave失败了,那么两种方法,一种是标记Slave不可用报错并继续服务(等Slave恢复后同步Master的数据,可以有多个Slave,这样少一个,还有备份,就像前面说的写三份那样),另一种是回滚自己并返回写失败。(注:一般不先写Slave,因为如果写Master自己失败后,还要回滚Slave,此时如果回滚Slave失败,就得手工订正数据了)你可以看到,如果Master-Slave需要做成强一致性有多复杂。
Master-Master
Master-Master,又叫,是指一个系统存在两个或多个Master,每个Master都提供read-write服务。这个模型是Master-Slave的加强版,数据间同步一般是通过Master间的异步完成,所以是最终一致性。 Master-Master的好处是,一台Master挂了,别的Master可以正常做读写服务,他和Master-Slave一样,当数据没有被复制到别的Master上时,数据会丢失。很多数据库都支持Master-Master的Replication的机制。
另外,如果多个Master对同一个数据进行修改的时候,这个模型的恶梦就出现了----对数据间的冲突合并,这并不是一件容易的事情。看看Dynamo的Vector Clock的设计(记录数据的版本号和修改者)就知道这个事并不那么简单,而且Dynamo对数据冲突这个事是交给用户自己搞的。就像我们的SVN源码冲突一样,对于同一行代码的冲突,只能交给开发者自己来处理。(在本文后后面会讨论一下Dynamo的Vector Clock)
Two/Three Phase Commit
这个协议的缩写又叫2PC,中文叫两阶段提交。在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者的组件来统一掌控所有节点(称作参与者)的操作结果并最终指示这些节点是否要把操作结果进行真正的提交(比如将更新后的数据写入磁盘等等)。 两阶段提交的算法如下:
第一阶段:
第二阶段:
我们可以看到,2PC说白了就是第一阶段做Vote,第二阶段做决定的一个算法,也可以看到2PC这个事是强一致性的算法。在前面我们讨论过Master-Slave的强一致性策略,和2PC有点相似,只不过2PC更为保守一些----先尝试再提交。 2PC用的是比较多的,在一些系统设计中,会串联一系列的调用,比如:A -& B -& C -& D,每一步都会分配一些资源或改写一些数据。比如我们B2C网上购物的下单操作在后台会有一系列的流程需要做。如果我们一步一步地做,就会出现这样的问题,如果某一步做不下去了,那么前面每一次所分配的资源需要做反向操作把他们都回收掉,所以,操作起来比较复杂。现在很多处理流程(Workflow)都会借鉴2PC这个算法,使用 try -& confirm的流程来确保整个流程的能够成功完成。 举个通俗的例子,西方教堂结婚的时候,都有这样的桥段:
1)牧师分别问新郎和新娘:你是否愿意……不管生老病死……(询问阶段)
2)当新郎和新娘都回答愿意后(锁定一生的资源),牧师就会说:我宣布你们……(事务提交)
这是多么经典的一个两阶段提交的事务处理。 另外,我们也可以看到其中的一些问题, A)其中一个是同步阻塞操作,这个事情必然会非常大地影响性能。 B)另一个主要的问题是在TimeOut上,比如,
1)如果第一阶段中,参与者没有收到询问请求,或是参与者的回应没有到达协调者。那么,需要协调者做超时处理,一旦超时,可以当作失败,也可以重试。
2)如果第二阶段中,正式提交发出后,如果有的参与者没有收到,或是参与者提交/回滚后的确认信息没有返回,一旦参与者的回应超时,要么重试,要么把那个参与者标记为问题结点剔除整个集群,这样可以保证服务结点都是数据一致性的。
3)糟糕的情况是,第二阶段中,如果参与者收不到协调者的commit/fallback指令,参与者将处于“状态未知”阶段,参与者完全不知道要怎么办,比如:如果所有的参与者完成第一阶段的回复后(可能全部yes,可能全部no,可能部分yes部分no),如果协调者在这个时候挂掉了。那么所有的结点完全不知道怎么办(问别的参与者都不行)。为了一致性,要么死等协调者,要么重发第一阶段的yes/no命令。
两段提交最大的问题就是第3)项,如果第一阶段完成后,参与者在第二阶没有收到决策,那么数据结点会进入“不知所措”的状态,这个状态会block住整个事务。也就是说,协调者Coordinator对于事务的完成非常重要,Coordinator的可用性是个关键。 因些,我们引入三段提交,三段提交在上的描述如下,他把二段提交的第一个段break成了两段:询问,然后再锁资源。最后真正提交。三段提交的示意图如下:
三段提交的核心理念是:在询问的时候并不锁定资源,除非所有人都同意了,才开始锁资源。
理论上来说,如果第一阶段所有的结点返回成功,那么有理由相信成功提交的概率很大。这样一来,可以降低参与者Cohorts的状态未知的概率。也就是说,一旦参与者收到了PreCommit,意味他知道大家其实都同意修改了。这一点很重要。下面我们来看一下3PC的状态迁移图:(注意图中的虚线,那些F,T是Failuer或Timeout,其中的:状态含义是 q - Query,a - Abort,w - Wait,p - PreCommit,c - Commit)
从上图的状态变化图我们可以从虚线(那些F,T是Failuer或Timeout)看到----如果结点处在P状态(PreCommit)的时候发生了F/T的问题,三段提交比两段提交的好处是,三段提交可以继续直接把状态变成C状态(Commit),而两段提交则不知所措。
其实,三段提交是一个很复杂的事情,实现起来相当难,而且也有一些问题。
看到这里,我相信你有很多很多的问题,你一定在思考2PC/3PC中各种各样的失败场景,你会发现Timeout是个非常难处理的事情,因为网络上的Timeout在很多时候让你无所事从,你也不知道对方是做了还是没有做。于是你好好的一个状态机就因为Timeout成了个摆设。
一个网络服务会有三种状态:1)Success,2)Failure,3)Timeout,第三个绝对是恶梦,尤其在你需要维护状态的时候。
Two Generals Problem(两将军问题)
&两将军问题是这么一个思维性实验问题: 有两支军队,它们分别有一位将军领导,现在准备攻击一座修筑了防御工事的城市。这两支军队都驻扎在那座城市的附近,分占一座山头。一道山谷把两座山分隔开来,并且两位将军唯一的通信方式就是派各自的信使来往于山谷两边。不幸的是,这个山谷已经被那座城市的保卫者占领,并且存在一种可能,那就是任何被派出的信使通过山谷是会被捕。 请注意,虽然两位将军已经就攻击那座城市达成共识,但在他们各自占领山头阵地之前,并没有就进攻时间达成共识。两位将军必须让自己的军队同时进攻城市才能取得成功。因此,他们必须互相沟通,以确定一个时间来攻击,并同意就在那时攻击。如果只有一个将军进行攻击,那么这将是一个灾难性的失败。 这个思维实验就包括考虑他们如何去做这件事情。下面是我们的思考:
1)第一位将军先发送一段消息“让我们在上午9点开始进攻”。然而,一旦信使被派遣,他是否通过了山谷,第一位将军就不得而知了。任何一点的不确定性都会使得第一位将军攻击犹豫,因为如果第二位将军不能在同一时刻发动攻击,那座城市的驻军就会击退他的军队的进攻,导致他的军对被摧毁。
2)知道了这一点,第二位将军就需要发送一个确认回条:“我收到您的邮件,并会在9点的攻击。”但是,如果带着确认消息的信使被抓怎么办?所以第二位将军会犹豫自己的确认消息是否能到达。
3)于是,似乎我们还要让第一位将军再发送一条确认消息----“我收到了你的确认”。然而,如果这位信使被抓怎么办呢?
4)这样一来,是不是我们还要第二位将军发送一个“确认收到你的确认”的信息。
靠,于是你会发现,这事情很快就发展成为不管发送多少个确认消息,都没有办法来保证两位将军有足够的自信自己的信使没有被敌军捕获。
这个问题是无解的。两个将军问题和它的无解证明首先由E.A.Akkoyunlu,K.Ekanadham和R.V.Huber于1975年在《一些限制与折衷的网络通信设计》一文中发表,就在这篇文章的第73页中一段描述两个黑帮之间的通信中被阐明。&1978年,在Jim Gray的《数据库操作系统注意事项》一书中(从第465页开始)被命名为两个将军悖论。作为两个将军问题的定义和无解性的证明的来源,这一参考被广泛提及。
这个实验意在阐明:试图通过建立在一个不可靠的连接上的交流来协调一项行动的隐患和设计上的巨大挑战。
从工程上来说,一个解决两个将军问题的实际方法是使用一个能够承受通信信道不可靠性的方案,并不试图去消除这个不可靠性,但要将不可靠性削减到一个可以接受的程度。比如,第一位将军排出了100位信使并预计他们都被捕的可能性很小。在这种情况下,不管第二位将军是否会攻击或者受到任何消息,第一位将军都会进行攻击。另外,第一位将军可以发送一个消息流,而第二位将军可以对其中的每一条消息发送一个确认消息,这样如果每条消息都被接收到,两位将军会感觉更好。然而我们可以从证明中看出,他们俩都不能肯定这个攻击是可以协调的。他们没有算法可用(比如,收到4条以上的消息就攻击)能够确保防止仅有一方攻击。再者,第一位将军还可以为每条消息编号,说这是1号,2号……直到n号。这种方法能让第二位将军知道通信信道到底有多可靠,并且返回合适的数量的消息来确保最后一条消息被接收到。如果信道是可靠的话,只要一条消息就行了,其余的就帮不上什么忙了。最后一条和第一条消息丢失的概率是相等的。
&两将军问题可以扩展成更变态的拜占庭将军问题&(Byzantine Generals Problem),其故事背景是这样的:拜占庭位于现在土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。 在战争的时候,拜占庭军队内所有将军必需达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,军队可能有叛徒和敌军间谍,这些叛徒将军们会扰乱或左右决策的过程。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,这就是拜占庭将军问题。
的描述非常详细,大家可以去围观一下。
Paxos 算法解决的问题是在一个可能发生上述异常的分布式系统中如何就某个值达成一致,保证不论发生以上任何异常,都不会破坏决议的一致性。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个「一致性算法」以保证每个节点看到的指令一致。一个通用的一致性算法可以应用在许多场景中,是分布式计算中的重要问题。从20世纪80年代起对于一致性算法的研究就没有停止过。
Notes:Paxos算法是莱斯利?兰伯特(Leslie Lamport,就是&LaTeX&中的”La”,此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法。由于算法难以理解起初并没有引起人们的重视,使Lamport在八年后1998年重新发表到ACM Transactions on Computer Systems上()。即便如此paxos算法还是没有得到重视,2001年Lamport 觉得同行无法接受他的幽默感,于是用容易接受的方法重新表述了一遍()。可见Lamport对Paxos算法情有独钟。近几年Paxos算法的普遍使用也证明它在分布式一致性算法中的重要地位。2006年Google的三篇论文初现“云”的端倪,其中的Chubby Lock服务使用Paxos作为Chubby Cell中的一致性算法,Paxos的人气从此一路狂飙。(Lamport 本人在&描写了他用9年时间发表这个算法的前前后后)
注:Amazon的AWS中,所有的云服务都基于一个ALF(Async Lock Framework)的框架实现的,这个ALF用的就是Paxos算法。我在Amazon的时候,看内部的分享视频时,设计者在内部的Principle Talk里说他参考了ZooKeeper的方法,但他用了另一种比ZooKeeper更易读的方式实现了这个算法。
简单说来,Paxos的目的是让整个集群的结点对某个值的变更达成一致。Paxos算法基本上来说是个民主选举的算法----大多数的决定会成个整个集群的统一决定。任何一个点都可以提出要修改某个数据的提案,是否通过这个提案取决于这个集群中是否有超过半数的结点同意(所以Paxos算法需要集群中的结点是单数)。
这个算法有两个阶段(假设这个有三个结点:A,B,C):
第一阶段:Prepare阶段
A把申请修改的请求Prepare Request发给所有的结点A,B,C。注意,Paxos算法会有一个Sequence Number(你可以认为是一个提案号,这个数不断递增,而且是唯一的,也就是说A和B不可能有相同的提案号),这个提案号会和修改请求一同发出,任何结点在“Prepare阶段”时都会拒绝其值小于当前提案号的请求。所以,结点A在向所有结点申请修改请求的时候,需要带一个提案号,越新的提案,这个提案号就越是是最大的。
如果接收结点收到的提案号n大于其它结点发过来的提案号,这个结点会回应Yes(本结点上最新的被批准提案号),并保证不接收其它&n的提案。这样一来,结点上在Prepare阶段里总是会对最新的提案做承诺。
优化:在上述 prepare 过程中,如果任何一个结点发现存在一个更高编号的提案,则需要通知 提案人,提醒其中断这次提案。
第二阶段:Accept阶段
如果提案者A收到了超过半数的结点返回的Yes,然后他就会向所有的结点发布Accept Request(同样,需要带上提案号n),如果没有超过半数的话,那就返回失败。
当结点们收到了Accept Request后,如果对于接收的结点来说,n是最大的了,那么,它就会修改这个值,如果发现自己有一个更大的提案号,那么,结点就会拒绝修改。
我们可以看以,这似乎就是一个“两段提交”的优化。其实,2PC/3PC都是分布式一致性算法的残次版本,Google Chubby的作者Mike Burrows说过这个世界上只有一种一致性算法,那就是Paxos,其它的算法都是残次品。
我们还可以看到:对于同一个值的在不同结点的修改提案就算是在接收方被乱序收到也是没有问题的。
关于一些实例,你可以看一下Wikipedia中文中的“”一节,我在这里就不再多说了。对于Paxos算法中的一些异常示例,大家可以自己推导一下。你会发现基本上来说只要保证有半数以上的结点存活,就没有什么问题。
多说一下,自从Lamport在1998年发表Paxos算法后,对Paxos的各种改进工作就从未停止,其中动作最大的莫过于2005年发表的。无论何种改进,其重点依然是在消息延迟与性能、吞吐量之间作出各种权衡。为了容易地从概念上区分二者,称前者Classic Paxos,改进后的后者为Fast Paxos。
下图来自:Google&App&Engine的co-founder Ryan&Barrett在2009年的google&i/o上的演讲《
》(视频:&
前面,我们说过,要想让数据有高可用性,就需要冗余数据写多份。写多份的问题会带来一致性的问题,而一致性的问题又会带来性能问题。从上图我们可以看到,我们基本上来说不可以让所有的项都绿起来,这就是著名的CAP理论:一致性,可用性,分区容忍性,你只可能要其中的两个。
最后我还想提一下Amazon Dynamo的NWR模型。这个NWR模型把CAP的选择权交给了用户,让用户自己的选择你的CAP中的哪两个。
所谓NWR模型。N代表N个备份,W代表要写入至少W份才认为成功,R表示至少读取R个备份。配置的时候要求W+R & N。 因为W+R & N, 所以 R & N-W 这个是什么意思呢?就是读取的份数一定要比总备份数减去确保写成功的倍数的差值要大。
也就是说,每次读取,都至少读取到一个最新的版本。从而不会读到一份旧数据。当我们需要高可写的环境的时候,我们可以配置W = 1 如果N=3 那么R = 3。 这个时候只要写任何节点成功就认为成功,但是读的时候必须从所有的节点都读出数据。如果我们要求读的高效率,我们可以配置 W=N R=1。这个时候任何一个节点读成功就认为成功,但是写的时候必须写所有三个节点成功才认为成功。
NWR模型的一些设置会造成脏数据的问题,因为这很明显不是像Paxos一样是一个强一致的东西,所以,可能每次的读写操作都不在同一个结点上,于是会出现一些结点上的数据并不是最新版本,但却进行了最新的操作。
所以,Amazon Dynamo引了数据版本的设计。也就是说,如果你读出来数据的版本是v1,当你计算完成后要回填数据后,却发现数据的版本号已经被人更新成了v2,那么服务器就会拒绝你。版本这个事就像“乐观锁”一样。
但是,对于分布式和NWR模型来说,版本也会有恶梦的时候----就是版本冲的问题,比如:我们设置了N=3 W=1,如果A结点上接受了一个值,版本由v1 -& v2,但还没有来得及同步到结点B上(异步的,应该W=1,写一份就算成功),B结点上还是v1版本,此时,B结点接到写请求,按道理来说,他需要拒绝掉,但是他一方面并不知道别的结点已经被更新到v2,另一方面他也无法拒绝,因为W=1,所以写一分就成功了。于是,出现了严重的版本冲突。
Amazon的Dynamo把版本冲突这个问题巧妙地回避掉了----版本冲这个事交给用户自己来处理。
于是,Dynamo引入了Vector Clock(矢量钟?!)这个设计。这个设计让每个结点各自记录自己的版本信息,也就是说,对于同一个数据,需要记录两个事:1)谁更新的我,2)我的版本号是什么。
下面,我们来看一个操作序列:
1)一个写请求,第一次被节点A处理了。节点A会增加一个版本信息(A,1)。我们把这个时候的数据记做D1(A,1)。 然后另外一个对同样key的请求还是被A处理了于是有D2(A,2)。这个时候,D2是可以覆盖D1的,不会有冲突产生。
2)现在我们假设D2传播到了所有节点(B和C),B和C收到的数据不是从客户产生的,而是别人复制给他们的,所以他们不产生新的版本信息,所以现在B和C所持有的数据还是D2(A,2)。于是A,B,C上的数据及其版本号都是一样的。
3)如果我们有一个新的写请求到了B结点上,于是B结点生成数据D3(A,2; B,1),意思是:数据D全局版本号为3,A升了两新,B升了一次。这不就是所谓的代码版本的log么?
4)如果D3没有传播到C的时候又一个请求被C处理了,于是,以C结点上的数据是D4(A,2; C,1)。
5)好,最精彩的事情来了:如果这个时候来了一个读请求,我们要记得,我们的W=1 那么R=N=3,所以R会从所有三个节点上读,此时,他会读到三个版本:
6)这个时候可以判断出,D2已经是旧版本(已经包含在D3/D4中),可以舍弃。
7)但是D3和D4是明显的版本冲突。于是,交给调用方自己去做版本冲突处理。就像源代码版本管理一样。
很明显,上述的Dynamo的配置用的是CAP里的A和P。
我非常推大家都去看看这篇论文:《》,如果英文痛苦,你可以(译者不详)。
(全文完)
(作者和出处&&)
来源:(***: 微信:makaidongzi QQ: 微信公众号:makaidong-com) &&&&&& 欢迎分享本文,转载请保留出处!