Shadowing Practice: CAP Theorem Simplified - Learn English Speaking with Video

Ders oluşturuluyor...
1
What is CAP theorem?
2
How useful is it to system design?
3
Let's take a look.
4
The CAP theorem is a concept in computer science that explains the trade-offs between consistency,
5
availability, and partition tolerance in distributed systems.
6
Consistency refers to the property of a system where all nodes have a consistent view of the data.
7
It means all clients see the same data at the same time,
8
no matter which node they connect to.
9
Availability refers to the ability of a system to respond to requests from users at all times.
10
Partition tolerance refers to the ability of a system to continue operating even if there is a network partition.
11
But what is a network partition?
12
A network partition happens when nodes in a distributed system are unable to communicate with each other due to network failures.
13
When there is a network partition,
14
a system must choose between consistency and availability.
15
If the system prioritizes consistency,
16
it may become unavailable until the partition is resolved.
17
If the system prioritizes availability,
18
it may allow updates to the data.
19
This could result in data inconsistencies until the partition is resolved.
20
Now let's go through a concrete example.
21
Let's say we have a tiny bank with two ATMs connected over the network.
22
The ATM supports three operations,
23
deposit, withdrawal, and check balance.
24
No matter what happens, the balance should never go below zero.
25
There is no central database in this bank to keep the account balance.
26
It is stored on both ATMs.
27
When a customer uses an ATM,
28
the balance is updated on both ATMs over the network.
29
This ensures that the ATMs have a consistent view of the account balance.
30
If there is a network partition and the ATMs are unable to communicate with each other,
31
the system must choose between consistency and unavailability.
32
If the bank prioritizes consistency,
33
the ATM may refuse to process deposits or withdrawals until the partition is resolved.
34
This ensures that the balance remains consistent,
35
but the system is unavailable to customers.
36
If the bank prioritizes availability,
37
the ATM may allow deposits and withdrawals to occur,
38
but the balance may become inconsistent until the partition is resolved.
39
When there is a network partition,
40
the customer could withdraw the entire balance from both ATMs.
41
When the network comes back online,
42
the inconsistency is resolved and now the balance is negative.
43
That is not good.
44
Now let's go through another example and see how a social media platform could apply the cap theorem.
45
During a network partition, if two users are commenting on the same post at the same time,
46
one user's comment may not be visible to the other users until the partition is resolved.
47
Alternatively, if the platform prioritizes consistency,
48
the commenting feature may be unavailable to users until the partition is resolved.
49
For a social network,
50
it is often acceptable to prioritize availability at the cost of users seeing slightly different views some of the time.
51
The CAP theorem may sound very simple,
52
but the real world is messy.
53
As with many things in software engineering,
54
this is all about trade-offs,
55
and the choices are not always so black and white.
56
The CAPS theorem assumes 100% availability or 100% consistency.
57
In the real world, there are degrees of consistency and availability that distributed system designers must carefully consider.
58
This is where the simplistic model of the CAPS theorem could be misleading.
59
Back to the bank example.
60
a network partition, the ATM could allow only balanced inquiries to be processed while deposits and withdrawals are blocked.
61
Alternatively, the bank could implement a hybrid approach.
62
For example, the ATM could allow balanced inquiries and small withdrawals to be processed during a partition,
63
but block large withdrawals and or deposits until the partition is resolved.
64
It is worth noting that in the real world,
65
reconciliation after a network partition could get very messy.
66
The bank example above is simple to reconcile.
67
In real life, the data structures involved could be complex and challenging to reconcile.
68
A good example of a complex data structure is Google Docs.
69
Resolving conflicting updates could be tricky.
70
So is the CAT theorem useful?
71
Yes, it is a useful tool to help us think through the high-level trade-offs to consider when there is a network partition.
72
This is a good starting point,
73
but it does not provide a complete picture of the trade-offs to consider when designing a well-rounded distributed system.
74
Specifically, when the system is operating normally without a network failure,
75
which is most of the time,
76
there is an entire set of interesting trade-offs to consider between latency and consistency.
77
This is covered by the Pakel theorem,
78
which we should cover in another video.
79
If you would like to learn more about system design,
80
check out our books and weekly newsletter.
81
Please subscribe if you learned something new.
82
Thank you so much and we'll see you next time.

Bu dersin kelimeleri ve konuşma notları

Bu videoda gölgeleme çalışması için 82 cümle ve 820 kelime var. Konuşma bölümü 5:23 sürüyor. Konuşmacı dakikada yaklaşık 152 kelimeyle, günlük konuşmaya yakın doğal bir hızda konuşuyor. Kelimelerin yalnızca %75’i İngilizcede en sık kullanılan 3.000 kelime arasında, bu yüzden kelime dağarcığı zorlayıcı.

Bu videodaki önemli kelimeler

Videodan öğrenmeye değer 15 kelime, telaffuzu ve anlamıyla:

KelimeTelaffuzAnlam
partition isim/pɑɹˈtɪ.ʃən/bölme
theorem isim/ˈθiərəm/teorem
distribute fiil/dɪˈstɹɪbjuːt/dağıtmak, paylaştırmak
refer fiil/ɹɪˈfɜː/zikretmek
tolerance isim/ˈtɑ.lə.ɹəns/tolerans
messy sıfat/ˈmɛsi/darmadağınık, karmakarışık
alternatively zarf/ɔlˈtɝ.nə.tɪv.li/alternativ olarak, ya da
occur fiil/əˈkɜː/olmak
carefully zarf/ˈkɛɹf(ə)li/dikkatlice, itinayla
concrete sıfat/ˌkɑnˈkɹit/somut
designer isim/dɪˈzaɪnɚ/tasarımcı, dizayncı
refuse fiil/ɹɪˈfjuːz/reddetmek
visible sıfat/ˈvɪzɪb(ə)l/görülebilir
database isim/ˈdeɪtəˌbeɪs/veritabanı, veri tabanı
acceptable sıfat/əkˈsɛp.tə.bəl/kabul edilebilir, uygun

Duyacağınız deyimsel fiiller

KelimeAnlam
check out fiilgözden geçirmek

Dikkat edilecek telaffuzlar

  • “th” sesleri: theorem /ˈθiərəm/, withdrawal /wɪðˈdɹɔ(ə)l/, withdraw /wɪðˈdɹɔ/
  • “sh” ve “zh” sesleri: partition /pɑɹˈtɪ.ʃən/, reconciliation /ˌɹɛkənˌsɪliˈeɪʃ(ə)n/
  • Uzun kelimeler — vurguyu doğru yere koyun: consistency /kənˈsɪs.tən.si/, availability /əˌveɪ.ləˈbɪl.ɪ.ti/, unavailable /ˌʌnəˈveɪləbəl/, inquiry /ɪnˈkwaɪ(ə)ɹi/, communicate /kəˈmjuːnɪkeɪt/

Bu videoyla nasıl çalışılır

  1. Videonun tamamını konuşmadan bir kez dinleyin ve bilmediğiniz kelimeleri not edin.
  2. 0,75× hızla başlayın, cümle cümle tekrar edin ve kolaylaşınca normal hıza dönün.
  3. Kendinizi kaydedin ve orijinaliyle karşılaştırın; partition, theorem, distribute gibi kelimelere özellikle dikkat edin.

Gölgeleme Tekniği Nedir?

Gölgeleme, başlangıçta profesyonel tercüman eğitimi için geliştirilen ve çok dilli Dr. Alexander Arguelles tarafından popüler hale getirilen, bilim destekli bir dil öğrenme tekniğidir. Yöntem basit ama güçlüdür: ana dili İngilizce olan bir sesi dinler ve hemen yüksek sesle tekrar edersiniz — konuşmacıyı 1-2 saniye gecikmeyle takip eden bir gölge gibi. Pasif dinleme veya dilbilgisi alıştırmalarının aksine, gölgeleme beyninizi ve ağız kaslarınızı gerçek konuşma kalıplarını eşzamanlı olarak işlemeye ve yeniden üretmeye zorlar. Araştırmalar, telaffuz doğruluğu, tonlama, ritim, bağlı konuşma, dinleme anlama ve konuşma akıcılığını önemli ölçüde geliştirdiğini göstermektedir — bu da onu IELTS Konuşma hazırlığı ve gerçek dünya İngilizce iletişimi için en etkili yöntemlerden biri yapar.

Shadowing tekniği: adım adım eksiksiz rehberi okuyun →