Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Rate it:
Open Preview
0%
Flag icon
Designing Data-Intensive Applications
0%
Flag icon
Designing Data-Intensive Applications
Ucchishta Sivaguru
book title
0%
Flag icon
We call an application data-intensive if data is its primary challenge—the quantity of data, the complexity of data, or the speed at which it is changing—as opposed to compute-intensive, where CPU cycles are the bottleneck.
0%
Flag icon
We call an application data-intensive if data is its primary challenge—the quantity of data, the complexity of data, or the speed at which it is changing—as opposed to compute-intensive, where CPU cycles are the bottleneck.
Ucchishta Sivaguru
meaning of data intensive
1%
Flag icon
Part I. Foundations of Data Systems
1%
Flag icon
Part I. Foundations of Data Systems
Ucchishta Sivaguru
part 1
1%
Flag icon
Chapter 1. Reliable, Scalable, and Maintainable Applications
1%
Flag icon
Chapter 1. Reliable, Scalable, and Maintainable Applications
Ucchishta Sivaguru
chap 1
1%
Flag icon
A data-intensive application is typically built from standard building blocks that provide commonly needed functionality.
1%
Flag icon
Store data so that they, or another application, can find it again later (databases) Remember the result of an expensive operation, to speed up reads (caches) Allow users to search data by keyword or filter it in various ways (search indexes) Send a message to another process, to be handled asynchronously (stream processing) Periodically crunch a large amount of accumulated data (batch processing)
1%
Flag icon
Store data so that they, or another application, can find it again later (databases) Remember the result of an expensive operation, to speed up reads (caches) Allow users to search data by keyword or filter it in various ways (search indexes) Send a message to another process, to be handled asynchronously (stream processing) Periodically crunch a large amount of accumulated data (batch processing)
Ucchishta Sivaguru
building blocks of data intensive applications
1%
Flag icon
Reliability The system should continue to work correctly (performing the correct function at the desired level of performance) even in the face of adversity (hardware or software faults, and even human error). See “Reliability”.
1%
Flag icon
Reliability The system should continue to work correctly (performing the correct function at the desired level of performance) even in the face of adversity (hardware or software faults, and even human error). See “Reliability”.
Ucchishta Sivaguru
def of reliability
1%
Flag icon
Scalability As the system grows (in data volume, traffic volume, or complexity), there should be reasonable ways of dealing w...
This highlight has been truncated due to consecutive passage length restrictions.
1%
Flag icon
Scalability As the system grows (in data volume, traffic volume, or complexity), there should be reasonable ways of dealing w...
This highlight has been truncated due to consecutive passage length restrictions.
Ucchishta Sivaguru
def of scalability
1%
Flag icon
Maintainability Over time, many different people will work on the system (engineering and operations, both maintaining current behavior and adapting the system to new use cases), and they should all be ...
This highlight has been truncated due to consecutive passage length restrictions.
1%
Flag icon
Maintainability Over time, many different people will work on the system (engineering and operations, both maintaining current behavior and adapting the system to new use cases), and they should all be ...
This highlight has been truncated due to consecutive passage length restrictions.
Ucchishta Sivaguru
def of maintainability
1%
Flag icon
The application performs the function that the user expected. It can tolerate the user making mistakes or using the software in unexpected ways. Its performance is good enough for the required use case, under the expected load and data volume. The system prevents any unauthorized access and abuse.
1%
Flag icon
The application performs the function that the user expected. It can tolerate the user making mistakes or using the software in unexpected ways. Its performance is good enough for the required use case, under the expected load and data volume. The system prevents any unauthorized access and abuse.
Ucchishta Sivaguru
reliability expectations
1%
Flag icon
“continuing to work correctly, even when things go wrong.”