数据库设计 – 如何学习设计高度交易系统?
在我的职业生涯中,我一直致力于数据分析,BI工具等.我工作的大多数应用程序都是主要的只读应用程序.虽然我也曾在简单的CRUD应用程序上工作,但没有什么特别的交易.
作为一名软件工程师,我觉得如果我不知道如何设计高度交易系统和数据库,如亚马逊,航空公司系统等的工作方式,我的学习中就会出现空白. 我想请这里的社区就这个问题提出一些资源,书籍或简单项目.在教授必要的理论的同时可以采用实践方法的东西.我知道这是一个主观问题,但我可以将最有用的答案标记为绿色. 期待您的建议并感谢您的期待. 解决方法我将把答案分为四大类,即>理论和学术背景, 书籍和论文 这是该领域的基础 – 如何从0到相当不错,专业水平,但大多数在理论上. 介绍级别 由吉姆格雷Transaction Processing: Concepts and Techniques (The Morgan Kaufmann Series in Data Management Systems) Silberschatz书(Database System Concepts)在后面的章节中介绍了高级交易系统的内部工作原理,有一些资源等. 数据库特定 H-store paper-描述了内存设计对高事务负载的好处. H-store工作激发了VoltDB的发展. Calvin paper – 快速分布式事务 Architecture of a Database System by Hellerstein,Stonebraker和Hamilton 限制和边界 Great paper关于高可用性交易的优点和局限性. CAP Theorem paper – 关于大规模系统的一致性,可用性和分区的设计权衡.很重要. Parallel Processing and Parallel Databases 热门和当前来源 博客 High Scalability是一个完美的博客,您正在寻找. Facebook,LinkedIn和Twitter工程博客是很棒的资源.我还会查看Google Research网站和他们的Google. Netflix也不错. 会议 VLDB和SIGMOD会议(包括SIGMOD blog)是研究人员/学术界和公司提供大多数最先进的数据系统的地方. HPTS是一个有趣的会议/研讨会,有很好的议程和出版物. 我甚至会检查USENIX series的尖端系统. 案例研究架构 VoltDB是一个超级交易的内存数据库,由ACM研究员Mike Stonebraker和最现代数据库概念的“父亲”设计. IBM大型机在高容量交易领域仍然占有非常突出的地位 如果您有兴趣进行“大数据”交易,那么有很多选择,但HBase可能是最有趣的. 另一个有趣的架构是Twitter,now Apache Storm. 基准和练习 如果您想尝试一些事情,请查看TPC系列基准测试.有事务,ETL,BI和决策支持/混合负载分析基准. 您可以使用这些基准测试并针对开源SMP(例如postgres,MySQL)和MPP数据库(如Greenplum)(link,以及关于查询,性能,一些示例设置和how MPP databases process queries的完整文档)进行实践. 我为面向HBase的事务系统推荐了these实际场景和体系结构. 对于最先进的消息和面向演员的交易系统,您可能需要购买一两本书. 对于流处理,这里有Apache Kafka(parts 1和http://www.confluent.io/blog/stream-data-platform-2/)的一些很好的练习. Cloudera有一个很好的“入门”guide. 为了实现面向消息的最先进系统,我建议Getting Started with Storm,也许可以通过这些exercises.有许多真实拓扑结构. 对于好的旧JMS,您可以使用此online reference进行练习,或 如果你想用大型机折磨自己,试试这个emulator.它模仿IBM的OS / 370-390. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |