The art of immutable architecture: theory and practice of data management in distributed systems
This book teaches you how to evaluate a distributed system from the perspective of immutable objects. You will understand the problems in existing designs, know how to make small modifications to correct those problems, and learn to apply the principles of immutable architecture to your tools. Most...
Gespeichert in:
Beteilige Person: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | Englisch |
Veröffentlicht: |
[United States]
Apress
2020
|
Schlagwörter: | |
Links: | https://learning.oreilly.com/library/view/-/9781484259559/?ar |
Zusammenfassung: | This book teaches you how to evaluate a distributed system from the perspective of immutable objects. You will understand the problems in existing designs, know how to make small modifications to correct those problems, and learn to apply the principles of immutable architecture to your tools. Most software components focus on the state of objects. They store the current state of a row in a relational database. They track changes to state over time, making several basic assumptions: there is a single latest version of each object, the state of an object changes sequentially, and a system of record exists. This is a challenge when it comes to building distributed systems. Whether dealing with autonomous microservices or disconnected mobile apps, many of the problems we try to solve come down to synchronizing an ever-changing state between isolated components. Distributed systems would be a lot easier to build if objects could not change. After reading The Art of Immutable Architecture, you will come away with an understanding of the benefits of using immutable objects in your own distributed systems. You will learn a set of rules for identifying and exchanging immutable objects, and see a collection of useful theorems that emerges and ensures that the distributed systems we build are eventually consistent. Using patterns, you will find where the truth converges, see how changes are associative, rather than sequential, and come to feel comfortable understanding that there is no longer a single source of truth. Practical hands-on examples reinforce how to build software using the described patterns, techniques, and tools. By the end, you will possess the language and resources needed to analyze and construct distributed systems with confidence. The assumptions of the past were sufficient for building single-user, single-computer systems. But as we expand to multiple devices, shared experiences, and cloud computing, they work against us. It is time for a new set of assu mptions. Start with immutable objects, and build better distributed systems. What You Will Learn: Evaluate a distributed system from the perspective of immutable objects Recognize the problems in existing designs, and make small modifications to correct them Start a new system from scratch, applying patterns Apply the principles of immutable architecture to your tools, including SQL databases, message queues, and the network protocols that you already use Discover new tools that natively apply these principles This book is for software architects and senior developers. It contains examples in SQL and languages such as JavaScript and C#. Past experience with distributed computing, data modeling, or business analysis is helpful. Michael L. Perry has built upon the works of mathematicians such as Bertrand Meyer, Leslie Lamport, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects. Michael often presents on math and software at events and online. You can find out more at qedcode.com. |
Beschreibung: | Includes bibliographical references and index |
Umfang: | 1 Online-Ressource |
ISBN: | 9781484259559 1484259556 |
Internformat
MARC
LEADER | 00000cam a22000002 4500 | ||
---|---|---|---|
001 | ZDB-30-ORH-054868335 | ||
003 | DE-627-1 | ||
005 | 20240228121118.0 | ||
007 | cr uuu---uuuuu | ||
008 | 200807s2020 xx |||||o 00| ||eng c | ||
020 | |a 9781484259559 |c electronic bk. |9 978-1-4842-5955-9 | ||
020 | |a 1484259556 |c electronic bk. |9 1-4842-5955-6 | ||
035 | |a (DE-627-1)054868335 | ||
035 | |a (DE-599)KEP054868335 | ||
035 | |a (ORHE)9781484259559 | ||
035 | |a (DE-627-1)054868335 | ||
040 | |a DE-627 |b ger |c DE-627 |e rda | ||
041 | |a eng | ||
072 | 7 | |a UMZ |2 bicssc | |
072 | 7 | |a COM051230 |2 bisacsh | |
082 | 0 | |a 005.74 |2 23 | |
100 | 1 | |a Perry, Michael L. |e VerfasserIn |4 aut | |
245 | 1 | 4 | |a The art of immutable architecture |b theory and practice of data management in distributed systems |c Michael L. Perry |
264 | 1 | |a [United States] |b Apress |c 2020 | |
300 | |a 1 Online-Ressource | ||
336 | |a Text |b txt |2 rdacontent | ||
337 | |a Computermedien |b c |2 rdamedia | ||
338 | |a Online-Ressource |b cr |2 rdacarrier | ||
500 | |a Includes bibliographical references and index | ||
520 | |a This book teaches you how to evaluate a distributed system from the perspective of immutable objects. You will understand the problems in existing designs, know how to make small modifications to correct those problems, and learn to apply the principles of immutable architecture to your tools. Most software components focus on the state of objects. They store the current state of a row in a relational database. They track changes to state over time, making several basic assumptions: there is a single latest version of each object, the state of an object changes sequentially, and a system of record exists. This is a challenge when it comes to building distributed systems. Whether dealing with autonomous microservices or disconnected mobile apps, many of the problems we try to solve come down to synchronizing an ever-changing state between isolated components. Distributed systems would be a lot easier to build if objects could not change. After reading The Art of Immutable Architecture, you will come away with an understanding of the benefits of using immutable objects in your own distributed systems. You will learn a set of rules for identifying and exchanging immutable objects, and see a collection of useful theorems that emerges and ensures that the distributed systems we build are eventually consistent. Using patterns, you will find where the truth converges, see how changes are associative, rather than sequential, and come to feel comfortable understanding that there is no longer a single source of truth. Practical hands-on examples reinforce how to build software using the described patterns, techniques, and tools. By the end, you will possess the language and resources needed to analyze and construct distributed systems with confidence. The assumptions of the past were sufficient for building single-user, single-computer systems. But as we expand to multiple devices, shared experiences, and cloud computing, they work against us. It is time for a new set of assu mptions. Start with immutable objects, and build better distributed systems. What You Will Learn: Evaluate a distributed system from the perspective of immutable objects Recognize the problems in existing designs, and make small modifications to correct them Start a new system from scratch, applying patterns Apply the principles of immutable architecture to your tools, including SQL databases, message queues, and the network protocols that you already use Discover new tools that natively apply these principles This book is for software architects and senior developers. It contains examples in SQL and languages such as JavaScript and C#. Past experience with distributed computing, data modeling, or business analysis is helpful. Michael L. Perry has built upon the works of mathematicians such as Bertrand Meyer, Leslie Lamport, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects. Michael often presents on math and software at events and online. You can find out more at qedcode.com. | ||
650 | 0 | |a Database management | |
650 | 0 | |a Electronic data processing |x Distributed processing | |
650 | 0 | |a Computer programming | |
650 | 4 | |a Bases de données ; Gestion | |
650 | 4 | |a Traitement réparti | |
650 | 4 | |a Programmation (Informatique) | |
650 | 4 | |a computer programming | |
650 | 4 | |a Electronic data processing ; Distributed processing | |
650 | 4 | |a Database management | |
650 | 4 | |a Computer programming | |
650 | 4 | |a Software engineering | |
776 | 1 | |z 1484259548 | |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |z 1484259548 |
966 | 4 | 0 | |l DE-91 |p ZDB-30-ORH |q TUM_PDA_ORH |u https://learning.oreilly.com/library/view/-/9781484259559/?ar |m X:ORHE |x Aggregator |z lizenzpflichtig |3 Volltext |
912 | |a ZDB-30-ORH | ||
912 | |a ZDB-30-ORH | ||
951 | |a BO | ||
912 | |a ZDB-30-ORH | ||
049 | |a DE-91 |
Datensatz im Suchindex
DE-BY-TUM_katkey | ZDB-30-ORH-054868335 |
---|---|
_version_ | 1821494838461202432 |
adam_text | |
any_adam_object | |
author | Perry, Michael L. |
author_facet | Perry, Michael L. |
author_role | aut |
author_sort | Perry, Michael L. |
author_variant | m l p ml mlp |
building | Verbundindex |
bvnumber | localTUM |
collection | ZDB-30-ORH |
ctrlnum | (DE-627-1)054868335 (DE-599)KEP054868335 (ORHE)9781484259559 |
dewey-full | 005.74 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.74 |
dewey-search | 005.74 |
dewey-sort | 15.74 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>04909cam a22005292 4500</leader><controlfield tag="001">ZDB-30-ORH-054868335</controlfield><controlfield tag="003">DE-627-1</controlfield><controlfield tag="005">20240228121118.0</controlfield><controlfield tag="007">cr uuu---uuuuu</controlfield><controlfield tag="008">200807s2020 xx |||||o 00| ||eng c</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781484259559</subfield><subfield code="c">electronic bk.</subfield><subfield code="9">978-1-4842-5955-9</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1484259556</subfield><subfield code="c">electronic bk.</subfield><subfield code="9">1-4842-5955-6</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627-1)054868335</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)KEP054868335</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ORHE)9781484259559</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-627-1)054868335</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-627</subfield><subfield code="b">ger</subfield><subfield code="c">DE-627</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1=" " ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">UMZ</subfield><subfield code="2">bicssc</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM051230</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.74</subfield><subfield code="2">23</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Perry, Michael L.</subfield><subfield code="e">VerfasserIn</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="4"><subfield code="a">The art of immutable architecture</subfield><subfield code="b">theory and practice of data management in distributed systems</subfield><subfield code="c">Michael L. Perry</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">[United States]</subfield><subfield code="b">Apress</subfield><subfield code="c">2020</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">Text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">Computermedien</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">Online-Ressource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references and index</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">This book teaches you how to evaluate a distributed system from the perspective of immutable objects. You will understand the problems in existing designs, know how to make small modifications to correct those problems, and learn to apply the principles of immutable architecture to your tools. Most software components focus on the state of objects. They store the current state of a row in a relational database. They track changes to state over time, making several basic assumptions: there is a single latest version of each object, the state of an object changes sequentially, and a system of record exists. This is a challenge when it comes to building distributed systems. Whether dealing with autonomous microservices or disconnected mobile apps, many of the problems we try to solve come down to synchronizing an ever-changing state between isolated components. Distributed systems would be a lot easier to build if objects could not change. After reading The Art of Immutable Architecture, you will come away with an understanding of the benefits of using immutable objects in your own distributed systems. You will learn a set of rules for identifying and exchanging immutable objects, and see a collection of useful theorems that emerges and ensures that the distributed systems we build are eventually consistent. Using patterns, you will find where the truth converges, see how changes are associative, rather than sequential, and come to feel comfortable understanding that there is no longer a single source of truth. Practical hands-on examples reinforce how to build software using the described patterns, techniques, and tools. By the end, you will possess the language and resources needed to analyze and construct distributed systems with confidence. The assumptions of the past were sufficient for building single-user, single-computer systems. But as we expand to multiple devices, shared experiences, and cloud computing, they work against us. It is time for a new set of assu mptions. Start with immutable objects, and build better distributed systems. What You Will Learn: Evaluate a distributed system from the perspective of immutable objects Recognize the problems in existing designs, and make small modifications to correct them Start a new system from scratch, applying patterns Apply the principles of immutable architecture to your tools, including SQL databases, message queues, and the network protocols that you already use Discover new tools that natively apply these principles This book is for software architects and senior developers. It contains examples in SQL and languages such as JavaScript and C#. Past experience with distributed computing, data modeling, or business analysis is helpful. Michael L. Perry has built upon the works of mathematicians such as Bertrand Meyer, Leslie Lamport, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects. Michael often presents on math and software at events and online. You can find out more at qedcode.com.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Database management</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Electronic data processing</subfield><subfield code="x">Distributed processing</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Computer programming</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Bases de données ; Gestion</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Traitement réparti</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Programmation (Informatique)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">computer programming</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Electronic data processing ; Distributed processing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Database management</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer programming</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Software engineering</subfield></datafield><datafield tag="776" ind1="1" ind2=" "><subfield code="z">1484259548</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="z">1484259548</subfield></datafield><datafield tag="966" ind1="4" ind2="0"><subfield code="l">DE-91</subfield><subfield code="p">ZDB-30-ORH</subfield><subfield code="q">TUM_PDA_ORH</subfield><subfield code="u">https://learning.oreilly.com/library/view/-/9781484259559/?ar</subfield><subfield code="m">X:ORHE</subfield><subfield code="x">Aggregator</subfield><subfield code="z">lizenzpflichtig</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-ORH</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-ORH</subfield></datafield><datafield tag="951" ind1=" " ind2=" "><subfield code="a">BO</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-ORH</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91</subfield></datafield></record></collection> |
id | ZDB-30-ORH-054868335 |
illustrated | Not Illustrated |
indexdate | 2025-01-17T11:20:44Z |
institution | BVB |
isbn | 9781484259559 1484259556 |
language | English |
open_access_boolean | |
owner | DE-91 DE-BY-TUM |
owner_facet | DE-91 DE-BY-TUM |
physical | 1 Online-Ressource |
psigel | ZDB-30-ORH TUM_PDA_ORH ZDB-30-ORH |
publishDate | 2020 |
publishDateSearch | 2020 |
publishDateSort | 2020 |
publisher | Apress |
record_format | marc |
spelling | Perry, Michael L. VerfasserIn aut The art of immutable architecture theory and practice of data management in distributed systems Michael L. Perry [United States] Apress 2020 1 Online-Ressource Text txt rdacontent Computermedien c rdamedia Online-Ressource cr rdacarrier Includes bibliographical references and index This book teaches you how to evaluate a distributed system from the perspective of immutable objects. You will understand the problems in existing designs, know how to make small modifications to correct those problems, and learn to apply the principles of immutable architecture to your tools. Most software components focus on the state of objects. They store the current state of a row in a relational database. They track changes to state over time, making several basic assumptions: there is a single latest version of each object, the state of an object changes sequentially, and a system of record exists. This is a challenge when it comes to building distributed systems. Whether dealing with autonomous microservices or disconnected mobile apps, many of the problems we try to solve come down to synchronizing an ever-changing state between isolated components. Distributed systems would be a lot easier to build if objects could not change. After reading The Art of Immutable Architecture, you will come away with an understanding of the benefits of using immutable objects in your own distributed systems. You will learn a set of rules for identifying and exchanging immutable objects, and see a collection of useful theorems that emerges and ensures that the distributed systems we build are eventually consistent. Using patterns, you will find where the truth converges, see how changes are associative, rather than sequential, and come to feel comfortable understanding that there is no longer a single source of truth. Practical hands-on examples reinforce how to build software using the described patterns, techniques, and tools. By the end, you will possess the language and resources needed to analyze and construct distributed systems with confidence. The assumptions of the past were sufficient for building single-user, single-computer systems. But as we expand to multiple devices, shared experiences, and cloud computing, they work against us. It is time for a new set of assu mptions. Start with immutable objects, and build better distributed systems. What You Will Learn: Evaluate a distributed system from the perspective of immutable objects Recognize the problems in existing designs, and make small modifications to correct them Start a new system from scratch, applying patterns Apply the principles of immutable architecture to your tools, including SQL databases, message queues, and the network protocols that you already use Discover new tools that natively apply these principles This book is for software architects and senior developers. It contains examples in SQL and languages such as JavaScript and C#. Past experience with distributed computing, data modeling, or business analysis is helpful. Michael L. Perry has built upon the works of mathematicians such as Bertrand Meyer, Leslie Lamport, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects. Michael often presents on math and software at events and online. You can find out more at qedcode.com. Database management Electronic data processing Distributed processing Computer programming Bases de données ; Gestion Traitement réparti Programmation (Informatique) computer programming Electronic data processing ; Distributed processing Software engineering 1484259548 Erscheint auch als Druck-Ausgabe 1484259548 |
spellingShingle | Perry, Michael L. The art of immutable architecture theory and practice of data management in distributed systems Database management Electronic data processing Distributed processing Computer programming Bases de données ; Gestion Traitement réparti Programmation (Informatique) computer programming Electronic data processing ; Distributed processing Software engineering |
title | The art of immutable architecture theory and practice of data management in distributed systems |
title_auth | The art of immutable architecture theory and practice of data management in distributed systems |
title_exact_search | The art of immutable architecture theory and practice of data management in distributed systems |
title_full | The art of immutable architecture theory and practice of data management in distributed systems Michael L. Perry |
title_fullStr | The art of immutable architecture theory and practice of data management in distributed systems Michael L. Perry |
title_full_unstemmed | The art of immutable architecture theory and practice of data management in distributed systems Michael L. Perry |
title_short | The art of immutable architecture |
title_sort | art of immutable architecture theory and practice of data management in distributed systems |
title_sub | theory and practice of data management in distributed systems |
topic | Database management Electronic data processing Distributed processing Computer programming Bases de données ; Gestion Traitement réparti Programmation (Informatique) computer programming Electronic data processing ; Distributed processing Software engineering |
topic_facet | Database management Electronic data processing Distributed processing Computer programming Bases de données ; Gestion Traitement réparti Programmation (Informatique) computer programming Electronic data processing ; Distributed processing Software engineering |
work_keys_str_mv | AT perrymichaell theartofimmutablearchitecturetheoryandpracticeofdatamanagementindistributedsystems AT perrymichaell artofimmutablearchitecturetheoryandpracticeofdatamanagementindistributedsystems |