Designing Data-Intensive Applications: The Big Ideas Behind by Martin Kleppmann

By Martin Kleppmann

This ebook examines the main rules, algorithms, and trade-offs of information platforms, utilizing the internals of varied well known software program programs and frameworks as examples. You’ll methods to be sure what sort of instrument is acceptable for which function, and the way sure instruments will be mixed to shape the basis of an excellent program structure. You’ll the right way to enhance an instinct for what your platforms are doing, in order that you’re greater capable of tune down any difficulties that come up. utilizing enormous quantities of illustrations and a sublime intuitive modeling language, the authors current a technique that totally exploits the conceptual modeling method of software program engineering, from thought to program. Readers will study not just easy methods to harness the layout applied sciences of relational databases to be used on the net, but additionally find out how to remodel their conceptual designs of data-intensive internet functions into powerful software program elements.

Show description

Read or Download Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems PDF

Similar data modeling & design books

Designing Database Applications with Objects and Rules: The Idea Methodology

Is helping you grasp the most recent advances in glossy database know-how with proposal, a state of the art technique for constructing, conserving, and using database structures. comprises case stories and examples.


Ziel dieser Arbeit ist die Entwicklung und Darstellung eines umfassenden Konzeptes zur optimalen Gestaltung von Informationen. Ausgangspunkt ist die steigende Diskrepanz zwischen der biologisch begrenzten Kapazität der menschlichen Informationsverarbeitung und einem ständig steigenden Informationsangebot.

Physically-Based Modeling for Computer Graphics. A Structured Approach

Physically-Based Modeling for special effects: A dependent strategy addresses the problem of designing and coping with the complexity of physically-based versions. This publication may be of curiosity to researchers, special effects practitioners, mathematicians, engineers, animators, software program builders and people drawn to laptop implementation and simulation of mathematical types.

Practical Parallel Programming

This is often the ebook that would educate programmers to put in writing speedier, extra effective code for parallel processors. The reader is brought to an enormous array of techniques and paradigms on which real coding should be established. Examples and real-life simulations utilizing those units are provided in C and FORTRAN.

Extra info for Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Sample text

Graph queries in SQL Example 2-2 suggested that graph data can be represented in a relational database. But if we put graph data in a relational structure, can we also query it using SQL? The answer is: yes, but with some difficulty. In a relational database, you usually know in advance which joins you need in your query. e. the number of joins is not fixed in advance. ]-> () rule in the Cypher query. A person’s LIVES_IN edge may point at any kind of location: a street, a city, a district, a region, a state, etc.

It is like the * operator in a regular expression. This idea of variable-length traversal paths in a query can be expressed since SQL:1999 using something called recursive common table expressions (the WITH RECURSIVE syntax). Example 2-5 shows the same query—finding the names of people who emigrated from the US to Europe—expressed in SQL using this technique (supported in PostgreSQL, IBM DB2, Oracle and SQL Server). However, the syntax is very clumsy by comparison to Cypher. Example 2-5. The same query as Example 2-4, expressed in SQL using recursive common table expressions.

47]] Oracle allows the same, using a feature called multi-table index cluster tables. [[48]] The column-family concept in the Bigtable data model (used in Cassandra and HBase) has a similar purpose in managing locality. [[49]] We will also see more on locality in Chapter 3. Convergence of document and relational databases Most relational database systems (other than MySQL) have supported XML since the mid-2000s. This includes functions to make local modifications to XML documents, and the 44 ability to index and query inside XML documents, which allows applications to use data models very similar to what they would do when using a document database.

Download PDF sample

Rated 4.28 of 5 – based on 7 votes