Update table of content

pull/360/head
Roy Ginting 2020-02-10 20:13:39 +07:00
parent 65cbfb3959
commit 1091ce154a
1 changed files with 73 additions and 73 deletions

View File

@ -97,83 +97,83 @@ Tinjau kembali [Pedomain Kontribusi](CONTRIBUTING.md).
<br/> <br/>
</p> </p>
* [System design topics: start here](#system-design-topics-start-here) * [Topik perancangan sistem: Mulai dari sini](#topik-perancangan-sistem-mulai-dari-sini)
* [Step 1: Review the scalability video lecture](#step-1-review-the-scalability-video-lecture) * [Langkah 1: Tonton kuliah video skalabilitas](#langkah-1-tonton-kuliah-video-skalabilitas)
* [Step 2: Review the scalability article](#step-2-review-the-scalability-article) * [Langkah 2: Baca artikel skalabilitas](#langkah-2-baca-artikel-skalabilitas)
* [Next steps](#next-steps) * [Langkah selanjutnya](#langkah-selanjutnya)
* [Performance vs scalability](#performance-vs-scalability) * [Kinerja vs skalabilitas](#kinerja-vs-skalabilitas)
* [Latency vs throughput](#latency-vs-throughput) * [Latensi vs lewatan](#latensi-vs-lewatan)
* [Availability vs consistency](#availability-vs-consistency) * [Ketersediaan vs konsistensi](#ketersediaan-vs-konsistensi)
* [CAP theorem](#cap-theorem) * [Teorema CAP](#teorema-cap)
* [CP - consistency and partition tolerance](#cp---consistency-and-partition-tolerance) * [CP - konsistensi dan toleransi penyekatan](#cp---konsistensi-dan-toleransi-penyekatan)
* [AP - availability and partition tolerance](#ap---availability-and-partition-tolerance) * [AP - ketersediaan dan toleransi penyekatan](#ap---ketersediaan-dan-toleransi-penyekatan)
* [Consistency patterns](#consistency-patterns) * [Pola konsistensi](#pola-konsistensi)
* [Weak consistency](#weak-consistency) * [Konsistensi lemah](#konsistensi-lemah)
* [Eventual consistency](#eventual-consistency) * [Konsistensi yang mungkin terjadi (eventual consistency)](#konsistensi-yang-mungkin-terjadi-eventual-consistency)
* [Strong consistency](#strong-consistency) * [Konsisten kuat](#konsisten-kuat)
* [Availability patterns](#availability-patterns) * [Pola ketersediaan](#pola-ketersediaan)
* [Fail-over](#fail-over) * [Fail-over](#fail-over)
* [Replication](#replication) * [Replikasi](#replikasi)
* [Availability in numbers](#availability-in-numbers) * [Ketersediaan dalam angka](#ketersediaan-dalam-angka)
* [Domain name system](#domain-name-system) * [Domain name system](#domain-name-system)
* [Content delivery network](#content-delivery-network) * [Content delivery network](#content-delivery-network)
* [Push CDNs](#push-cdns) * [CDN setor](#cdn-setor)
* [Pull CDNs](#pull-cdns) * [CDN tarik](#cdn-tarik)
* [Load balancer](#load-balancer) * [Penyeimbang beban](#penyeimbang-beban)
* [Active-passive](#active-passive) * [Aktif-pasif](#aktif-pasif)
* [Active-active](#active-active) * [Aktif-aktif](#aktif-aktif)
* [Layer 4 load balancing](#layer-4-load-balancing) * [Penyeimbangan beban lapisan ke-4](#penyeimbangan-beban-lapisan-ke-4)
* [Layer 7 load balancing](#layer-7-load-balancing) * [Penyeimbang beban lapisan ke-7](#penyeimbang-beban-lapisan-ke-7)
* [Horizontal scaling](#horizontal-scaling) * [Penyekalaan horizontal](#penyekalaan-horizontal)
* [Reverse proxy (web server)](#reverse-proxy-web-server) * [Proksi terbalik (server web)](#proksi-terbalik-server-web)
* [Load balancer vs reverse proxy](#load-balancer-vs-reverse-proxy) * [Penyeimbang beban vs proksi terbalik](#penyeimbang-beban-vs-proksi-terbalik)
* [Application layer](#application-layer) * [Lapisan aplikasi](#lapisan-aplikasi)
* [Microservices](#microservices) * [Layanan mikro (Microservices)](#layanan-mikro-microservices)
* [Service discovery](#service-discovery) * [Penemuan layanan (Service Discovery)](#penemuan-layanan-service-discovery-)
* [Database](#database) * [Basis data](#basis-data)
* [Relational database management system (RDBMS)](#relational-database-management-system-rdbms) * [Sistem pengelolaan basis data relasional](#sistem-pengelolaan-basis-data-relasional)
* [Master-slave replication](#master-slave-replication) * [Replikasi master-slave](#replikasi-master-slave)
* [Master-master replication](#master-master-replication) * [Replikasi master-master](#replikasi-master-master)
* [Federation](#federation) * [Federasi](#federasi)
* [Sharding](#sharding) * [Pecahan (Sharding)](#pecahan-sharding)
* [Denormalization](#denormalization) * [Denormalisasi](#denormalisasi)
* [SQL tuning](#sql-tuning) * [Penyetelan SQL](#penyetelan-sql)
* [NoSQL](#nosql) * [NoSQL](#nosql)
* [Key-value store](#key-value-store) * [Gudang kunci-nilai](#gudang-kunci-nilai)
* [Document store](#document-store) * [Gudang dokumen (document store)](#gudang-dokumen-document-store)
* [Wide column store](#wide-column-store) * [Gudang kolom lebar (Wide column store)](#gudang-kolom-lebar-wide-column-store)
* [Graph Database](#graph-database) * [Basis data graf](#basis-data-graf)
* [SQL or NoSQL](#sql-or-nosql) * [SQL atau NoSQL](#sql-atau-nosql)
* [Cache](#cache) * [Singgahan](#singgahan)
* [Client caching](#client-caching) * [Singgahan klien](#singgahan-klien)
* [CDN caching](#cdn-caching) * [Singgahan CDN](#singgahan-cdn)
* [Web server caching](#web-server-caching) * [Singgahan server web](#singgahan-server-web)
* [Database caching](#database-caching) * [Singgahan basis data](#singgahan-basis-data)
* [Application caching](#application-caching) * [Singgahan aplikasi](#singgahan-aplikasi)
* [Caching at the database query level](#caching-at-the-database-query-level) * [Singgahan pada level kueri basis data](#singgahan-pada-level-kueri-basis-data)
* [Caching at the object level](#caching-at-the-object-level) * [Singgahan pada level objek](#singgahan-pada-level-objek)
* [When to update the cache](#when-to-update-the-cache) * [Kapan singgahan diperbarui](#kapan-singgahan-diperbarui)
* [Cache-aside](#cache-aside) * [Singgahan sampingan (Cache-aside)](#singgahan-sampingan-cache-aside)
* [Write-through](#write-through) * [Write-through](#write-through)
* [Write-behind (write-back)](#write-behind-write-back) * [Write-behind (write-back)](#write-behind-write-back)
* [Refresh-ahead](#refresh-ahead) * [Refresh-ahead](#refresh-ahead)
* [Asynchronism](#asynchronism) * [Asinkronisme](#asinkronisme)
* [Message queues](#message-queues) * [Antrian pesan](#antrian-pesan)
* [Task queues](#task-queues) * [Antrian tugas](#antrian-tugas)
* [Back pressure](#back-pressure) * [Tekanan balik (Back pressure)](#tekanan-balik-back-pressure)
* [Communication](#communication) * [Komunikasi](#komunikasi)
* [Transmission control protocol (TCP)](#transmission-control-protocol-tcp) * [Transmission control protocol (TCP)](#transmission-control-protocol-tcp)
* [User datagram protocol (UDP)](#user-datagram-protocol-udp) * [User datagram protocol (UDP)](#user-datagram-protocol-udp)
* [Remote procedure call (RPC)](#remote-procedure-call-rpc) * [Remote procedure call (RPC)](#remote-procedure-call-rpc)
* [Representational state transfer (REST)](#representational-state-transfer-rest) * [Representational state transfer (REST)](#representational-state-transfer-rest)
* [Security](#security) * [Keamanan](#keamanan)
* [Appendix](#appendix) * [Lampiran](#lampiran)
* [Powers of two table](#powers-of-two-table) * [Tabel perpangkatan dua](#tabel-perpangkatan-dua)
* [Latency numbers every programmer should know](#latency-numbers-every-programmer-should-know) * [Nilai latensi yang perlu diketahui oleh setiap pemrogram](#nilai-latensi-yang-perlu-diketahui-oleh-setiap-pemrogram)
* [Additional system design interview questions](#additional-system-design-interview-questions) * [ambahan pertanyaan wawancara perancangan sistem](#tambahan-pertanyaan-wawancara-perancangan-sistem)
* [Real world architectures](#real-world-architectures) * [Arsitektu dunia nyata](#arsitektu-dunia-nyata)
* [Company architectures](#company-architectures) * [Arsitektur perusahaan](#arsitektur-perusahaan)
* [Company engineering blogs](#company-engineering-blogs) * [Blog teknik perusahaan](#blog-teknik-perusahaan)
* [Dalam pengembangan](#dalam-pengembangan) * [Dalam pengembangan](#dalam-pengembangan)
* [Credits](#credits) * [Credits](#credits)
* [Contact info](#contact-info) * [Contact info](#contact-info)
@ -874,7 +874,7 @@ Baik Consul dan Etcd keduanya memiliki [gudang kunci-nilai](#gudang-kunci-nilai)
<i><a href=https://www.youtube.com/watch?v=w95murBkYmU>Sumber: Penyekalaan untuk 10 juta pengguna pertama</a></i> <i><a href=https://www.youtube.com/watch?v=w95murBkYmU>Sumber: Penyekalaan untuk 10 juta pengguna pertama</a></i>
</p> </p>
### Sistem pengelolaan basis data relasional (Relational database management system / RDBMS) ### Sistem pengelolaan basis data relasional
Basis data relasional seperti SQL merupakan sekumpulan butir data yang diorganisasi ke dalam tabel. Basis data relasional seperti SQL merupakan sekumpulan butir data yang diorganisasi ke dalam tabel.
@ -935,7 +935,7 @@ Jika salah satu master mati, sistem tetap bisa beroperasi untuk baca dan tulis.
* [Skalabilitas, Ketersediaan, Kestabilan, Pola-pola](http://www.slideshare.net/jboner/scalability-availability-stability-patterns/) * [Skalabilitas, Ketersediaan, Kestabilan, Pola-pola](http://www.slideshare.net/jboner/scalability-availability-stability-patterns/)
* [Replikasi multi master](https://en.wikipedia.org/wiki/Multi-master_replication) * [Replikasi multi master](https://en.wikipedia.org/wiki/Multi-master_replication)
#### Federation #### Federasi
<p align="center"> <p align="center">
<img src="http://i.imgur.com/U3qV33e.png"/> <img src="http://i.imgur.com/U3qV33e.png"/>
@ -992,7 +992,7 @@ Cara umum memecah sebuah tabel pengguna adalah salah satunya dengan memanfaat in
* [Arsitektur basis data pecahan](https://en.wikipedia.org/wiki/Shard_(database_architecture)) * [Arsitektur basis data pecahan](https://en.wikipedia.org/wiki/Shard_(database_architecture))
* [Consistent hashing](http://www.paperplanes.de/2011/12/9/the-magic-of-consistent-hashing.html) * [Consistent hashing](http://www.paperplanes.de/2011/12/9/the-magic-of-consistent-hashing.html)
#### Denormalisasi (Denormalization) #### Denormalisasi
Denormalisasi mencoba memperbaiki kinerja operasi baca dengan mengorbankan operasi tulis. Denormalisasi mencoba memperbaiki kinerja operasi baca dengan mengorbankan operasi tulis.
Salinan data yang berlebihan ditulis di beberapa tabel untuk menghindari operasi penggabungan yang mahal. Salinan data yang berlebihan ditulis di beberapa tabel untuk menghindari operasi penggabungan yang mahal.
@ -1014,7 +1014,7 @@ Operasi baca yang memerlukan penggabungan basis data yang kompleks bisa menjadi
* [Denormalisasi](https://en.wikipedia.org/wiki/Denormalization) * [Denormalisasi](https://en.wikipedia.org/wiki/Denormalization)
#### Penyetelan SQL (SQL tuning) #### Penyetelan SQL
Penyetelah SQL merupakan topik yang luas dan banyak [buku](https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=sql+tuning) yang sudah dituliskan sebagai referensi. Penyetelah SQL merupakan topik yang luas dan banyak [buku](https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=sql+tuning) yang sudah dituliskan sebagai referensi.
@ -1154,7 +1154,7 @@ Mereka sering kali digunakan untuk penyimpanan himpunan data yang sangat besar.
* [Arsitektur HBase](https://www.mapr.com/blog/in-depth-look-hbase-architecture) * [Arsitektur HBase](https://www.mapr.com/blog/in-depth-look-hbase-architecture)
* [Arsitektur Cassandra](http://docs.datastax.com/en/cassandra/3.0/cassandra/architecture/archIntro.html) * [Arsitektur Cassandra](http://docs.datastax.com/en/cassandra/3.0/cassandra/architecture/archIntro.html)
#### Basis data Graf (graph database) #### Basis data graf
<p align="center"> <p align="center">
<img src="http://i.imgur.com/fNcl65g.png"/> <img src="http://i.imgur.com/fNcl65g.png"/>
@ -1446,7 +1446,7 @@ _Refresh-ahead_ bisa menghasilkan pengurangan latensi dibandingkan _read-through
Alur kerja asinkron membantu mengurangi waktu permintaan untuk operasi mahal yang sebaliknya dilakukan dalam barisan. Alur kerja asinkron membantu mengurangi waktu permintaan untuk operasi mahal yang sebaliknya dilakukan dalam barisan.
Alur kerja ini juga dapat membantu terlebih dahulu mengerjakan pekerjaan yang memakan waktu seperti agregasi data berkala. Alur kerja ini juga dapat membantu terlebih dahulu mengerjakan pekerjaan yang memakan waktu seperti agregasi data berkala.
### Antrian pesan (Message queues) ### Antrian pesan
Antrian pesan menerima, menahan, dan mengirimkan pesan. Antrian pesan menerima, menahan, dan mengirimkan pesan.
Jika operasi terlalu lambat dilakukan secara berurutan, kita dapat menggunakan antrian pesan dengan alur kerja sebagai berikut: Jika operasi terlalu lambat dilakukan secara berurutan, kita dapat menggunakan antrian pesan dengan alur kerja sebagai berikut:
@ -1712,7 +1712,7 @@ Karena nirkeadaan, REST sangat bagus untuk penyekalaan horizontal dan pemecahan.
* [Thrift](https://code.facebook.com/posts/1468950976659943/) * [Thrift](https://code.facebook.com/posts/1468950976659943/)
* [Kenapa REST untuk penggunaan internal dan bukan RPC](http://arstechnica.com/civis/viewtopic.php?t=1190508) * [Kenapa REST untuk penggunaan internal dan bukan RPC](http://arstechnica.com/civis/viewtopic.php?t=1190508)
## Security ## Keamanan
Bagian ini memerlukan pembaruan. Bagian ini memerlukan pembaruan.
Pertimbangkan untuk [berkontribusi](#kontribusi)! Pertimbangkan untuk [berkontribusi](#kontribusi)!