数据库设计 – 如何学习设计高度交易系统?

前端之家收集整理的这篇文章主要介绍了数据库设计 – 如何学习设计高度交易系统?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的职业生涯中,我一直致力于数据分析,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是一个完美的博客,您正在寻找.
例如,这是一个great entry on the evolution of Amazon’s architecture.很接近你一直在寻找的东西.

Facebook,LinkedInTwitter工程博客是很棒的资源.我还会查看Google Research网站和他们的Google. Netflix也不错.

会议

VLDB和SIGMOD会议(包括SIGMOD blog)是研究人员/学术界和公司提供大多数最先进的数据系统的地方.

HPTS是一个有趣的会议/研讨会,有很好的议程和出版物.

我甚至会检查USENIX series的尖端系统.

案例研究架构

VoltDB是一个超级交易的内存数据库,由ACM研究员Mike Stonebraker和最现代数据库概念的“父亲”设计.

IBM大型机在高容量交易领域仍然占有非常突出的地位
处理.在写这个答案的时候,他们是touting他们的Z13系统extreme,encrypted transaction processing volumes.

如果您有兴趣进行“大数据”交易,那么有很多选择,但HBase可能是最有趣的.
以下是HBase的一些建议阅读来源:
雅虎的Omid建立在HBase之上
Transactions over HBase

另一个有趣的架构是Twitter,now Apache Storm.
Apache Kafka用于流媒体和实时处理.

基准和练习

如果您想尝试一些事情,请查看TPC系列基准测试.有事务,ETL,BI和决策支持/混合负载分析基准.
这些是关系导向的.

您可以使用这些基准测试并针对开源SMP(例如postgres,MysqL)和MPP数据库(如Greenplum)(link,以及关于查询,性能,一些示例设置和how MPP databases process queries的完整文档)进行实践.

我为面向HBase的事务系统推荐了these实际场景和体系结构.

对于最先进的消息和面向演员的交易系统,您可能需要购买一两本书.
对于Akka(作为Spark的内部),您可以使用Akka in Action并在每章末尾进行练习.
here培训课程还有一些练习.

对于流处理,这里有Apache Kafka(parts 1http://www.confluent.io/blog/stream-data-platform-2/)的一些很好的练习. Cloudera有一个很好的“入门”guide.

为了实现面向消息的最先进系统,我建议Getting Started with Storm,也许可以通过这些exercises.有许多真实拓扑结构.

对于好的旧JMS,您可以使用此online reference进行练习,或
这些Active MQ exercises变得更加复杂.

如果你想用大型机折磨自己,试试这个emulator.它模仿IBM的OS / 370-390.

猜你在找的MsSQL相关文章