How to beat the CAP theorem--笔记
2014-07-16 17:51
323 查看
How to beat the CAP theorem 是Storm 的作者nathanmarz.在2011年一篇博文。(中文翻译也有)
尽管在我读到时,已经过了3年。这边文章仍然给我很大感触。
1、CAP原则,分区容错、一致性、可用性。往往由于关系型数据库的原因,保证一致性和可用性,而变得非常复杂。这个时候将数据处理成immutable(排除人为错误,在某个时刻产生的数据,在那个时刻肯定是正确的)确实是个非常巧妙的想法。这种immutable数据去除了update,delete操作,只存在create,query两种操作,非常巧妙的避免了复杂性。文中提到的ElephantDB数据库实现也非常有参考价值。
2、文中提到了处理这种immutable数据的方式,将hadoop批处理和storm实时流计算结合:
-hadoop计算过去已存在的不可变数据,所以不存在复杂性问题,完美解决CAP问题。
-storm执行最近的数据,这里还是会有一致性和可用性问题。尽管数据会出错,就如文中作者遇到了,但是是可恢复的。 因为hadoop产生的批数据会对storm产生的结果进行修正,保证最终结果是对的。
读完 的思考:storm如何保证一致性和可用性。以及如何避免人为造成的错误?
尽管在我读到时,已经过了3年。这边文章仍然给我很大感触。
1、CAP原则,分区容错、一致性、可用性。往往由于关系型数据库的原因,保证一致性和可用性,而变得非常复杂。这个时候将数据处理成immutable(排除人为错误,在某个时刻产生的数据,在那个时刻肯定是正确的)确实是个非常巧妙的想法。这种immutable数据去除了update,delete操作,只存在create,query两种操作,非常巧妙的避免了复杂性。文中提到的ElephantDB数据库实现也非常有参考价值。
2、文中提到了处理这种immutable数据的方式,将hadoop批处理和storm实时流计算结合:
-hadoop计算过去已存在的不可变数据,所以不存在复杂性问题,完美解决CAP问题。
-storm执行最近的数据,这里还是会有一致性和可用性问题。尽管数据会出错,就如文中作者遇到了,但是是可恢复的。 因为hadoop产生的批数据会对storm产生的结果进行修正,保证最终结果是对的。
读完 的思考:storm如何保证一致性和可用性。以及如何避免人为造成的错误?
相关文章推荐
- How to beat the CAP theorem
- How to beat the CAP theorem
- [笔记] How to get the versionCode and versionName of your app
- How to get the DOM of a WebBrowser control from a window handle (VB6)
- How to use the HttpWebRequest object
- What is XAML?Xamlon looks to beat Microsoft to the punch
- How to get IOleSite interface of the WebBrowser in an ActiveX control
- How to Use the Visual Studio .NET Application Center Test
- How to Customize the Left Navigation Bar of SPPS Home Page
- how to extend the base functionality of standard web controls - by Venugopal Mallarapu
- The Cryptography API, or How to Keep a Secret(四)
- How to apply the visa to UK in Japan
- How to deal with the "ErrorWebPart" error displayed in the web part maintenance page
- How to be the rich?
- How do you get the server to recognize changes to groups immediately?
- How To Get Application Path,And How To Get The Path's Directory,File Name,And Type Info(如何得到运行程序的路径,以及如何得到路径的文件夹,文件名,以及类型等等信息)
- How To Use the PivotTable Office Web Component with VB (转载自微软)
- "HOW TO: Create a Smooth Progress Bar in Visual C# .NET"的学习笔记
- How to distinguish a human and a robot in the future?
- How To Use the ODBC .NET Managed Provider in Visual C# .NET and Connection Strings