Translate section 25: Appendix

pull/360/head
Roy Ginting 2020-02-10 19:19:20 +07:00
parent 31d8efeadb
commit e4a8bafad7
1 changed files with 138 additions and 137 deletions

View File

@ -1731,33 +1731,35 @@ Kecuali Anda memiliki pengalaman yang cukup, latar belakang keamanan, atau melam
* [Panduan keamanan untuk pengembang](https://github.com/FallibleInc/security-guide-for-developers)
* [sepuluh teratas OWASP](https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet)
## Appendix
## Lampiran
You'll sometimes be asked to do 'back-of-the-envelope' estimates. For example, you might need to determine how long it will take to generate 100 image thumbnails from disk or how much memory a data structure will take. The **Powers of two table** and **Latency numbers every programmer should know** are handy references.
Kita kadang diminta untuk melakukan estimasi 'kalkulasi di belakang amplop'.
Sebagai contoh, kita mungkin perlu menentukan berapa lama waktu yang diperlukan untuk menghasilkan 100 keluku dari disk atau berapa banyak memori yang akan digunakan oleh struktur data.
**Tabel perpangkatan dua** dan **Nilai latensi yang perlu diketahui oleh setiap pemrogram** merupakan referensi yang berguna.
### Tabel Perpangkatan dua
### Tabel perpangkatan dua
```
Power Exact Value Approx Value Bytes
Pangkat Nilai tepat Nilai kisaran Byte
---------------------------------------------------------------
7 128
8 256
10 1024 1 thousand 1 KB
10 1024 seribu 1 KB
16 65,536 64 KB
20 1,048,576 1 million 1 MB
30 1,073,741,824 1 billion 1 GB
32 4,294,967,296 4 GB
40 1,099,511,627,776 1 trillion 1 TB
20 1,048,576 1 juta 1 MB
30 1,073,741,824 1 miliar 1 GB
32 4,294,967,296 4 GB
40 1,099,511,627,776 1 triliun 1 TB
```
#### Source(s) and further reading
#### Sumber dan bacaan lanjutan
* [Powers of two](https://en.wikipedia.org/wiki/Power_of_two)
### Nilai latensi yang perlu diketahui oleh setiap pemrogram]
### Nilai latensi yang perlu diketahui oleh setiap pemrogram
```
Latency Comparison Numbers
Nilai Perbandingan Latensi
--------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
@ -1775,14 +1777,14 @@ Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x mem
Read 1 MB sequentially from disk 30,000,000 ns 30,000 us 30 ms 120x memory, 30X SSD
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
Notes
Catatan
-----
1 ns = 10^-9 seconds
1 us = 10^-6 seconds = 1,000 ns
1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns
```
Handy metrics based on numbers above:
Metrik yang berguna berdasarkan nilai di atas:
* Read sequentially from disk at 30 MB/s
* Read sequentially from 1 Gbps Ethernet at 100 MB/s
@ -1791,165 +1793,164 @@ Handy metrics based on numbers above:
* 6-7 world-wide round trips per second
* 2,000 round trips per second within a data center
#### Latency numbers visualized
#### Gambaran nilai latensi
![](https://camo.githubusercontent.com/77f72259e1eb58596b564d1ad823af1853bc60a3/687474703a2f2f692e696d6775722e636f6d2f6b307431652e706e67)
#### Source(s) and further reading
#### Sumber dan bacaan lanjutan
* [Latency numbers every programmer should know - 1](https://gist.github.com/jboner/2841832)
* [Latency numbers every programmer should know - 2](https://gist.github.com/hellerbarde/2843375)
* [Designs, lessons, and advice from building large distributed systems](http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf)
* [Software Engineering Advice from Building Large-Scale Distributed Systems](https://static.googleusercontent.com/media/research.google.com/en//people/jeff/stanford-295-talk.pdf)
* [Nilai latensi yang perlu diketahui oleh setiap pemrogram - 1](https://gist.github.com/jboner/2841832)
* [Nilai latensi yang perlu diketahui oleh setiap pemrogram - 2](https://gist.github.com/hellerbarde/2843375)
* [Rancangan, pelajaran, dan anjuran dari pembangunan sistem terdistribusi besar](http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf)
* [Anjuran rekayasa perangkat lunak dari pembangunan sisterm terdistribusi skala besar](https://static.googleusercontent.com/media/research.google.com/en//people/jeff/stanford-295-talk.pdf)
### Tambahan pertanyaan wawancara perancangan sistem
> Common system design interview questions, with links to resources on how to solve each.
> Pertanyaan umum wawancara perancangan sistem, dengan tautan ke sumber daya untuk menyelesaikannya.
| Question | Reference(s) |
| Pertanyaan | Referensi |
|---|---|
| Design a file sync service like Dropbox | [youtube.com](https://www.youtube.com/watch?v=PE4gwstWhmc) |
| Design a search engine like Google | [queue.acm.org](http://queue.acm.org/detail.cfm?id=988407)<br/>[stackexchange.com](http://programmers.stackexchange.com/questions/38324/interview-question-how-would-you-implement-google-search)<br/>[ardendertat.com](http://www.ardendertat.com/2012/01/11/implementing-search-engines/)<br/>[stanford.edu](http://infolab.stanford.edu/~backrub/google.html) |
| Design a scalable web crawler like Google | [quora.com](https://www.quora.com/How-can-I-build-a-web-crawler-from-scratch) |
| Design Google docs | [code.google.com](https://code.google.com/p/google-mobwrite/)<br/>[neil.fraser.name](https://neil.fraser.name/writing/sync/) |
| Design a key-value store like Redis | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) |
| Design a cache system like Memcached | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) |
| Design a recommendation system like Amazon's | [hulu.com](https://web.archive.org/web/20170406065247/http://tech.hulu.com/blog/2011/09/19/recommendation-system.html)<br/>[ijcai13.org](http://ijcai13.org/files/tutorial_slides/td3.pdf) |
| Design a tinyurl system like Bitly | [n00tc0d3r.blogspot.com](http://n00tc0d3r.blogspot.com/) |
| Design a chat app like WhatsApp | [highscalability.com](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html)
| Design a picture sharing system like Instagram | [highscalability.com](http://highscalability.com/flickr-architecture)<br/>[highscalability.com](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html) |
| Design the Facebook news feed function | [quora.com](http://www.quora.com/What-are-best-practices-for-building-something-like-a-News-Feed)<br/>[quora.com](http://www.quora.com/Activity-Streams/What-are-the-scaling-issues-to-keep-in-mind-while-developing-a-social-network-feed)<br/>[slideshare.net](http://www.slideshare.net/danmckinley/etsy-activity-feeds-architecture) |
| Design the Facebook timeline function | [facebook.com](https://www.facebook.com/note.php?note_id=10150468255628920)<br/>[highscalability.com](http://highscalability.com/blog/2012/1/23/facebook-timeline-brought-to-you-by-the-power-of-denormaliza.html) |
| Design the Facebook chat function | [erlang-factory.com](http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf)<br/>[facebook.com](https://www.facebook.com/note.php?note_id=14218138919&id=9445547199&index=0) |
| Design a graph search function like Facebook's | [facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-building-out-the-infrastructure-for-graph-search/10151347573598920)<br/>[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-indexing-and-ranking-in-graph-search/10151361720763920)<br/>[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-the-natural-language-interface-of-graph-search/10151432733048920) |
| Design a content delivery network like CloudFlare | [figshare.com](https://figshare.com/articles/Globally_distributed_content_delivery/6605972) |
| Design a trending topic system like Twitter's | [michael-noll.com](http://www.michael-noll.com/blog/2013/01/18/implementing-real-time-trending-topics-in-storm/)<br/>[snikolov .wordpress.com](http://snikolov.wordpress.com/2012/11/14/early-detection-of-twitter-trends/) |
| Design a random ID generation system | [blog.twitter.com](https://blog.twitter.com/2010/announcing-snowflake)<br/>[github.com](https://github.com/twitter/snowflake/) |
| Return the top k requests during a time interval | [cs.ucsb.edu](https://www.cs.ucsb.edu/sites/cs.ucsb.edu/files/docs/reports/2005-23.pdf)<br/>[wpi.edu](http://davis.wpi.edu/xmdv/docs/EDBT11-diyang.pdf) |
| Design a system that serves data from multiple data centers | [highscalability.com](http://highscalability.com/blog/2009/8/24/how-google-serves-data-from-multiple-datacenters.html) |
| Design an online multiplayer card game | [indieflashblog.com](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)<br/>[buildnewgames.com](http://buildnewgames.com/real-time-multiplayer/) |
| Design a garbage collection system | [stuffwithstuff.com](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/)<br/>[washington.edu](http://courses.cs.washington.edu/courses/csep521/07wi/prj/rick.pdf) |
| Design an API rate limiter | [https://stripe.com/blog/](https://stripe.com/blog/rate-limiters) |
| Add a system design question | [Contribute](#contributing) |
| Rancang layanan sinkronisasi file seperti Dropbox | [youtube.com](https://www.youtube.com/watch?v=PE4gwstWhmc) |
| Rancang mesin pencari seperti Google | [queue.acm.org](http://queue.acm.org/detail.cfm?id=988407)<br/>[stackexchange.com](http://programmers.stackexchange.com/questions/38324/interview-question-how-would-you-implement-google-search)<br/>[ardendertat.com](http://www.ardendertat.com/2012/01/11/implementing-search-engines/)<br/>[stanford.edu](http://infolab.stanford.edu/~backrub/google.html) |
| Rancang perayap web terskala seperti Google | [quora.com](https://www.quora.com/How-can-I-build-a-web-crawler-from-scratch) |
| Rancang docs | [code.google.com](https://code.google.com/p/google-mobwrite/)<br/>[neil.fraser.name](https://neil.fraser.name/writing/sync/) |
| Rancang gudang nilai-kunci seperti Redis | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) |
| Rancang sistem penyinggahan seperti Memcached | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) |
| Rancang sistem rekomendasi seperti Amazon | [hulu.com](https://web.archive.org/web/20170406065247/http://tech.hulu.com/blog/2011/09/19/recommendation-system.html)<br/>[ijcai13.org](http://ijcai13.org/files/tutorial_slides/td3.pdf) |
| Rancang sistem url kecil seperti Bitly | [n00tc0d3r.blogspot.com](http://n00tc0d3r.blogspot.com/) |
| Rancang aplikasi obrolan seperti WhatsApp | [highscalability.com](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html)
| Rancang sistem berbagi gambar seperti Instagram | [highscalability.com](http://highscalability.com/flickr-architecture)<br/>[highscalability.com](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html) |
| Rancang fungsi umpan berita Facebook | [quora.com](http://www.quora.com/What-are-best-practices-for-building-something-like-a-News-Feed)<br/>[quora.com](http://www.quora.com/Activity-Streams/What-are-the-scaling-issues-to-keep-in-mind-while-developing-a-social-network-feed)<br/>[slideshare.net](http://www.slideshare.net/danmckinley/etsy-activity-feeds-architecture) |
| Rancang fungsi linimasa Facebook | [facebook.com](https://www.facebook.com/note.php?note_id=10150468255628920)<br/>[highscalability.com](http://highscalability.com/blog/2012/1/23/facebook-timeline-brought-to-you-by-the-power-of-denormaliza.html) |
| Rancang fungsi obrolan Facebook | [erlang-factory.com](http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf)<br/>[facebook.com](https://www.facebook.com/note.php?note_id=14218138919&id=9445547199&index=0) |
| Rancang fungsi pencarian graf seperti Facebook | [facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-building-out-the-infrastructure-for-graph-search/10151347573598920)<br/>[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-indexing-and-ranking-in-graph-search/10151361720763920)<br/>[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-the-natural-language-interface-of-graph-search/10151432733048920) |
| Rancang jaringan pengiriman konten seperti CloudFlare | [figshare.com](https://figshare.com/articles/Globally_distributed_content_delivery/6605972) |
| Rancang sistem topik terkini seperti Twitter | [michael-noll.com](http://www.michael-noll.com/blog/2013/01/18/implementing-real-time-trending-topics-in-storm/)<br/>[snikolov .wordpress.com](http://snikolov.wordpress.com/2012/11/14/early-detection-of-twitter-trends/) |
| Rancang sistem penghasilan ID acak | [blog.twitter.com](https://blog.twitter.com/2010/announcing-snowflake)<br/>[github.com](https://github.com/twitter/snowflake/) |
| Kembalikan permintaan k teratas selama interval tertentu | [cs.ucsb.edu](https://www.cs.ucsb.edu/sites/cs.ucsb.edu/files/docs/reports/2005-23.pdf)<br/>[wpi.edu](http://davis.wpi.edu/xmdv/docs/EDBT11-diyang.pdf) |
| Rancang sistem yang menyajikan data dari berbagai pusat data | [highscalability.com](http://highscalability.com/blog/2009/8/24/how-google-serves-data-from-multiple-datacenters.html) |
| Rancang permainan kartu banyak pemain daring | [indieflashblog.com](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)<br/>[buildnewgames.com](http://buildnewgames.com/real-time-multiplayer/) |
| Rancang sistem pemungut sampah | [stuffwithstuff.com](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/)<br/>[washington.edu](http://courses.cs.washington.edu/courses/csep521/07wi/prj/rick.pdf) |
| Rancang pembatas laju API | [https://stripe.com/blog/](https://stripe.com/blog/rate-limiters) |
| Tambahkan pertanyaan perancangan sistem | [Kontribusi](#kontribusi) |
### Arsitektu dunia nyata
> Articles on how real world systems are designed.
> Artikel tentang bagaiman sistem dirancang pada dunia nyata.
<p align="center">
<img src="http://i.imgur.com/TcUo2fw.png"/>
<br/>
<i><a href=https://www.infoq.com/presentations/Twitter-Timeline-Scalability>Source: Twitter timelines at scale</a></i>
<i><a href=https://www.infoq.com/presentations/Twitter-Timeline-Scalability>Sumber: Lini masa Twitter terskala</a></i>
</p>
**Don't focus on nitty gritty details for the following articles, instead:**
**Jangan fokus pada detail seluk beluk artikel berikut, fokus lah pada:**
* Identify shared principles, common technologies, and patterns within these articles
* Study what problems are solved by each component, where it works, where it doesn't
* Review the lessons learned
* Kenali prinsip bersama, teknologi umum, dan pola dalam artikel
* Pelajari masalah yang diselesaikan oleh setiap komponen, dimana komponen dapat dan tidak dapat bekerja
* Ulas pelajaran yang dipetik
|Type | System | Reference(s) |
|Tipe | Sistem | Referensi |
|---|---|---|
| Data processing | **MapReduce** - Distributed data processing from Google | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/mapreduce-osdi04.pdf) |
| Data processing | **Spark** - Distributed data processing from Databricks | [slideshare.net](http://www.slideshare.net/AGrishchenko/apache-spark-architecture) |
| Data processing | **Storm** - Distributed data processing from Twitter | [slideshare.net](http://www.slideshare.net/previa/storm-16094009) |
| Pemrosesan data | **MapReduce** - Pemrosesan data terdistribusi dari Google | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/mapreduce-osdi04.pdf) |
| Pemrosesan data | **Spark** - Pemrosesan data terdistribusi dari Databricks | [slideshare.net](http://www.slideshare.net/AGrishchenko/apache-spark-architecture) |
| Pemrosesan data | **Storm** - Pemrosesan data terdistribusi dari Twitter | [slideshare.net](http://www.slideshare.net/previa/storm-16094009) |
| | | |
| Data store | **Bigtable** - Distributed column-oriented database from Google | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/chang06bigtable.pdf) |
| Data store | **HBase** - Open source implementation of Bigtable | [slideshare.net](http://www.slideshare.net/alexbaranau/intro-to-hbase) |
| Data store | **Cassandra** - Distributed column-oriented database from Facebook | [slideshare.net](http://www.slideshare.net/planetcassandra/cassandra-introduction-features-30103666)
| Data store | **DynamoDB** - Document-oriented database from Amazon | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/decandia07dynamo.pdf) |
| Data store | **MongoDB** - Document-oriented database | [slideshare.net](http://www.slideshare.net/mdirolf/introduction-to-mongodb) |
| Data store | **Spanner** - Globally-distributed database from Google | [research.google.com](http://research.google.com/archive/spanner-osdi2012.pdf) |
| Data store | **Memcached** - Distributed memory caching system | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) |
| Data store | **Redis** - Distributed memory caching system with persistence and value types | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) |
| Gudang data | **Bigtable** - Basis data berorintasi kolom terdistribusi dari Google | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/chang06bigtable.pdf) |
| Gudang data | **HBase** - Implementasi sumber terbuka dari Bigtable | [slideshare.net](http://www.slideshare.net/alexbaranau/intro-to-hbase) |
| Gudang data | **Cassandra** - Basis data berorientasi kolom terdistribusi dari Facebook | [slideshare.net](http://www.slideshare.net/planetcassandra/cassandra-introduction-features-30103666)
| Gudang data | **DynamoDB** - Basis data berorientasi dokumen dari Amazon | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/decandia07dynamo.pdf) |
| Gudang data | **MongoDB** - Basis data berorientasi dokumen | [slideshare.net](http://www.slideshare.net/mdirolf/introduction-to-mongodb) |
| Gudang data | **Spanner** - Basis data terdistribusi secara global dari Google | [research.google.com](http://research.google.com/archive/spanner-osdi2012.pdf) |
| Gudang data | **Memcached** - Sistem persinggahan memori terdistribusi | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) |
| Gudang data | **Redis** - Sistem persinggahan memori terdistribusi dengan persistensi dan tipe nilai | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) |
| | | |
| File system | **Google File System (GFS)** - Distributed file system | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/gfs-sosp2003.pdf) |
| File system | **Hadoop File System (HDFS)** - Open source implementation of GFS | [apache.org](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html) |
| Sistem berkas | **Google File System (GFS)** - Sistem berkas terdistribusi | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/gfs-sosp2003.pdf) |
| Sistem berkas | **Hadoop File System (HDFS)** - Implementasi sumber terbuka dari GFS | [apache.org](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html) |
| | | |
| Misc | **Chubby** - Lock service for loosely-coupled distributed systems from Google | [research.google.com](http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/chubby-osdi06.pdf) |
| Misc | **Dapper** - Distributed systems tracing infrastructure | [research.google.com](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36356.pdf)
| Misc | **Kafka** - Pub/sub message queue from LinkedIn | [slideshare.net](http://www.slideshare.net/mumrah/kafka-talk-tri-hug) |
| Misc | **Zookeeper** - Centralized infrastructure and services enabling synchronization | [slideshare.net](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper) |
| | Add an architecture | [Contribute](#contributing) |
| Tambahan | **Chubby** - Layanan penguncian untuk sistem terdistribusi hubungan renggang dari Google | [research.google.com](http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/chubby-osdi06.pdf) |
| Tambahan | **Dapper** - Infrastruktur telusuran sistem terdistribusi | [research.google.com](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36356.pdf)
| Tambahan | **Kafka** - Antrian pesan pub/sub dari LinkedIn | [slideshare.net](http://www.slideshare.net/mumrah/kafka-talk-tri-hug) |
| Tambahan | **Zookeeper** - Infrastruktur dan layanan terpusat untuk sinkronisasi | [slideshare.net](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper) |
| | Tambahkan arsitektur | [Kontribusi](#kontribusi) |
### Company architectures
### Arsitektur perusahaan
| Company | Reference(s) |
| Perusahaan | Referensi |
|---|---|
| Amazon | [Amazon architecture](http://highscalability.com/amazon-architecture) |
| Cinchcast | [Producing 1,500 hours of audio every day](http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html) |
| DataSift | [Realtime datamining At 120,000 tweets per second](http://highscalability.com/blog/2011/11/29/datasift-architecture-realtime-datamining-at-120000-tweets-p.html) |
| DropBox | [How we've scaled Dropbox](https://www.youtube.com/watch?v=PE4gwstWhmc) |
| ESPN | [Operating At 100,000 duh nuh nuhs per second](http://highscalability.com/blog/2013/11/4/espns-architecture-at-scale-operating-at-100000-duh-nuh-nuhs.html) |
| Google | [Google architecture](http://highscalability.com/google-architecture) |
| Instagram | [14 million users, terabytes of photos](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html)<br/>[What powers Instagram](http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances) |
| Justin.tv | [Justin.Tv's live video broadcasting architecture](http://highscalability.com/blog/2010/3/16/justintvs-live-video-broadcasting-architecture.html) |
| Facebook | [Scaling memcached at Facebook](https://cs.uwaterloo.ca/~brecht/courses/854-Emerging-2014/readings/key-value/fb-memcached-nsdi-2013.pdf)<br/>[TAO: Facebooks distributed data store for the social graph](https://cs.uwaterloo.ca/~brecht/courses/854-Emerging-2014/readings/data-store/tao-facebook-distributed-datastore-atc-2013.pdf)<br/>[Facebooks photo storage](https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Beaver.pdf)<br/>[How Facebook Live Streams To 800,000 Simultaneous Viewers](http://highscalability.com/blog/2016/6/27/how-facebook-live-streams-to-800000-simultaneous-viewers.html) |
| Flickr | [Flickr architecture](http://highscalability.com/flickr-architecture) |
| Mailbox | [From 0 to one million users in 6 weeks](http://highscalability.com/blog/2013/6/18/scaling-mailbox-from-0-to-one-million-users-in-6-weeks-and-1.html) |
| Netflix | [A 360 Degree View Of The Entire Netflix Stack](http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html)<br/>[Netflix: What Happens When You Press Play?](http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html) |
| Pinterest | [From 0 To 10s of billions of page views a month](http://highscalability.com/blog/2013/4/15/scaling-pinterest-from-0-to-10s-of-billions-of-page-views-a.html)<br/>[18 million visitors, 10x growth, 12 employees](http://highscalability.com/blog/2012/5/21/pinterest-architecture-update-18-million-visitors-10x-growth.html) |
| Playfish | [50 million monthly users and growing](http://highscalability.com/blog/2010/9/21/playfishs-social-gaming-architecture-50-million-monthly-user.html) |
| PlentyOfFish | [PlentyOfFish architecture](http://highscalability.com/plentyoffish-architecture) |
| Salesforce | [How they handle 1.3 billion transactions a day](http://highscalability.com/blog/2013/9/23/salesforce-architecture-how-they-handle-13-billion-transacti.html) |
| Stack Overflow | [Stack Overflow architecture](http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html) |
| TripAdvisor | [40M visitors, 200M dynamic page views, 30TB data](http://highscalability.com/blog/2011/6/27/tripadvisor-architecture-40m-visitors-200m-dynamic-page-view.html) |
| Tumblr | [15 billion page views a month](http://highscalability.com/blog/2012/2/13/tumblr-architecture-15-billion-page-views-a-month-and-harder.html) |
| Twitter | [Making Twitter 10000 percent faster](http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster)<br/>[Storing 250 million tweets a day using MySQL](http://highscalability.com/blog/2011/12/19/how-twitter-stores-250-million-tweets-a-day-using-mysql.html)<br/>[150M active users, 300K QPS, a 22 MB/S firehose](http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active-users.html)<br/>[Timelines at scale](https://www.infoq.com/presentations/Twitter-Timeline-Scalability)<br/>[Big and small data at Twitter](https://www.youtube.com/watch?v=5cKTP36HVgI)<br/>[Operations at Twitter: scaling beyond 100 million users](https://www.youtube.com/watch?v=z8LU0Cj6BOU)<br/>[How Twitter Handles 3,000 Images Per Second](http://highscalability.com/blog/2016/4/20/how-twitter-handles-3000-images-per-second.html) |
| Uber | [How Uber scales their real-time market platform](http://highscalability.com/blog/2015/9/14/how-uber-scales-their-real-time-market-platform.html)<br/>[Lessons Learned From Scaling Uber To 2000 Engineers, 1000 Services, And 8000 Git Repositories](http://highscalability.com/blog/2016/10/12/lessons-learned-from-scaling-uber-to-2000-engineers-1000-ser.html) |
| WhatsApp | [The WhatsApp architecture Facebook bought for $19 billion](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html) |
| YouTube | [YouTube scalability](https://www.youtube.com/watch?v=w5WVu624fY8)<br/>[YouTube architecture](http://highscalability.com/youtube-architecture) |
| Amazon | [Arsitektur Amazon](http://highscalability.com/amazon-architecture) |
| Cinchcast | [Penghasilan 1.500 jam suara setiap hari](http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html) |
| DataSift | [Penambangan data secara waktu nyata dengan 120.000 kicauan setiap detik](http://highscalability.com/blog/2011/11/29/datasift-architecture-realtime-datamining-at-120000-tweets-p.html) |
| DropBox | [Bagaimana kami menyekala Dropbox](https://www.youtube.com/watch?v=PE4gwstWhmc) |
| ESPN | [Pengoperasi 100.000 duh nuh nuhs per detik](http://highscalability.com/blog/2013/11/4/espns-architecture-at-scale-operating-at-100000-duh-nuh-nuhs.html) |
| Google | [Arsitektur Google](http://highscalability.com/google-architecture) |
| Instagram | [14 juta pengguna, terabyte foto](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html)<br/>[Apa kekuatan Instagram](http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances) |
| Justin.tv | [Arsitektur penyiaran video langsung Justin.Tv](http://highscalability.com/blog/2010/3/16/justintvs-live-video-broadcasting-architecture.html) |
| Facebook | [Penyekalaan Memcached di Facebook](https://cs.uwaterloo.ca/~brecht/courses/854-Emerging-2014/readings/key-value/fb-memcached-nsdi-2013.pdf)<br/>[TAO: Gudang data terdistribusi Facebook untuk graf sosial](https://cs.uwaterloo.ca/~brecht/courses/854-Emerging-2014/readings/data-store/tao-facebook-distributed-datastore-atc-2013.pdf)<br/>[Penyimpanan foto Facebook](https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Beaver.pdf)<br/>[Cara Facebook siaran langsung ke 800.0000 penonton serentak](http://highscalability.com/blog/2016/6/27/how-facebook-live-streams-to-800000-simultaneous-viewers.html) |
| Flickr | [Arsitektur Flickr](http://highscalability.com/flickr-architecture) |
| Mailbox | [Drai 0 sampai 1 juta pengguna dalam 6 minggu](http://highscalability.com/blog/2013/6/18/scaling-mailbox-from-0-to-one-million-users-in-6-weeks-and-1.html) |
| Netflix | [Pandangan 360 derajat dari seluruh tumpukan teknologi Netflix](http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html)<br/>[Netflix: Apa yang terjadi ketika kita menekan tombol mulai?](http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html) |
| Pinterest | [Dari 0 sampai puluhan miliar tampilan halaman sebulan](http://highscalability.com/blog/2013/4/15/scaling-pinterest-from-0-to-10s-of-billions-of-page-views-a.html)<br/>[18 juta pengunjung, 10x pertumbuhan, 12 karyawan](http://highscalability.com/blog/2012/5/21/pinterest-architecture-update-18-million-visitors-10x-growth.html) |
| Playfish | [50 juta pengguna bulanan dan semakin bertumbuh](http://highscalability.com/blog/2010/9/21/playfishs-social-gaming-architecture-50-million-monthly-user.html) |
| PlentyOfFish | [Arsitektur PlentyOfFish](http://highscalability.com/plentyoffish-architecture) |
| Salesforce | [Cara mereka menangani 1,3 miliar transaksi sehari](http://highscalability.com/blog/2013/9/23/salesforce-architecture-how-they-handle-13-billion-transacti.html) |
| Stack Overflow | [Arsitektur Stack Overflow](http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html) |
| TripAdvisor | [40 juta pengunjung, 200 juta tampilan halaman dinamis, 30TB data](http://highscalability.com/blog/2011/6/27/tripadvisor-architecture-40m-visitors-200m-dynamic-page-view.html) |
| Tumblr | [15 miliar tampilan halaman sebulan](http://highscalability.com/blog/2012/2/13/tumblr-architecture-15-billion-page-views-a-month-and-harder.html) |
| Twitter | [Mempercepat Twitter 10000 persen kali](http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster)<br/>[Penyimpanan 250 juta cuitan sehari menggunakan MySQL](http://highscalability.com/blog/2011/12/19/how-twitter-stores-250-million-tweets-a-day-using-mysql.html)<br/>[150 juta pengguna aktif, 300 ribu kueri per detik, a 22 MB/S firehose](http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active-users.html)<br/>[Skalabilitas lini masa](https://www.infoq.com/presentations/Twitter-Timeline-Scalability)<br/>[Data besar dan kecil di Twitter](https://www.youtube.com/watch?v=5cKTP36HVgI)<br/>[Operasional di Twitter: penyekalaan di atas 100 juta pengguna](https://www.youtube.com/watch?v=z8LU0Cj6BOU)<br/>[Cara Twitter menangani 30000 gambar per detik](http://highscalability.com/blog/2016/4/20/how-twitter-handles-3000-images-per-second.html) |
| Uber | [Cara Uber menyekala platform pasar waktu nyata mereka](http://highscalability.com/blog/2015/9/14/how-uber-scales-their-real-time-market-platform.html)<br/>[Pelajaran yang dipetik dari menyekala Uber menjadi 2000 perekayasa, 1000 layanan, dan 8000 repositori Git](http://highscalability.com/blog/2016/10/12/lessons-learned-from-scaling-uber-to-2000-engineers-1000-ser.html) |
| WhatsApp | [Arsitektur WhatsApp yang dibeli Facebook senilai $19 milliar](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html) |
| YouTube | [Skalabilitas YouTube](https://www.youtube.com/watch?v=w5WVu624fY8)<br/>[Arsitektur YouTube](http://highscalability.com/youtube-architecture) |
### Blog teknik perusahaan
> Architectures for companies you are interviewing with.
> Arsitektur perusahaan tempat Anda wawancara.
>
> Questions you encounter might be from the same domain.
> Pertanyaan yang mungkin ditanyakan dari domain yang sama.
* [Airbnb Engineering](http://nerds.airbnb.com/)
* [Atlassian Developers](https://developer.atlassian.com/blog/)
* [AWS Blog](https://aws.amazon.com/blogs/aws/)
* [Bitly Engineering Blog](http://word.bitly.com/)
* [Box Blogs](https://blog.box.com/blog/category/engineering)
* [Cloudera Developer Blog](http://blog.cloudera.com/)
* [Dropbox Tech Blog](https://tech.dropbox.com/)
* [Engineering at Quora](http://engineering.quora.com/)
* [Ebay Tech Blog](http://www.ebaytechblog.com/)
* [Evernote Tech Blog](https://blog.evernote.com/tech/)
* [Rekayasa Airbnb](http://nerds.airbnb.com/)
* [Pengembang Atlassian](https://developer.atlassian.com/blog/)
* [Blog AWS](https://aws.amazon.com/blogs/aws/)
* [Blog Rekayawa Bitly](http://word.bitly.com/)
* [Blog Box](https://blog.box.com/blog/category/engineering)
* [Blog Pengembang Cloudera](http://blog.cloudera.com/)
* [Blog Teknik Dropbox](https://tech.dropbox.com/)
* [Rekayasa di Quora](http://engineering.quora.com/)
* [Blog Teknik Ebay](http://www.ebaytechblog.com/)
* [Blog Teknik Evernote](https://blog.evernote.com/tech/)
* [Etsy Code as Craft](http://codeascraft.com/)
* [Facebook Engineering](https://www.facebook.com/Engineering)
* [Flickr Code](http://code.flickr.net/)
* [Foursquare Engineering Blog](http://engineering.foursquare.com/)
* [GitHub Engineering Blog](http://githubengineering.com/)
* [Google Research Blog](http://googleresearch.blogspot.com/)
* [Groupon Engineering Blog](https://engineering.groupon.com/)
* [Heroku Engineering Blog](https://engineering.heroku.com/)
* [Hubspot Engineering Blog](http://product.hubspot.com/blog/topic/engineering)
* [Rekayasa Facebook](https://www.facebook.com/Engineering)
* [Kode Flickr](http://code.flickr.net/)
* [Blog Rekayasa Foursquare](http://engineering.foursquare.com/)
* [Blog Rekayasa GitHub Engineering Blog](http://githubengineering.com/)
* [Blog Penelitian Google](http://googleresearch.blogspot.com/)
* [Blog Rekayasa Groupon](https://engineering.groupon.com/)
* [Blog Rekayasa Heroku](https://engineering.heroku.com/)
* [Blog Rekayasa Hubspot](http://product.hubspot.com/blog/topic/engineering)
* [High Scalability](http://highscalability.com/)
* [Instagram Engineering](http://instagram-engineering.tumblr.com/)
* [Intel Software Blog](https://software.intel.com/en-us/blogs/)
* [Jane Street Tech Blog](https://blogs.janestreet.com/category/ocaml/)
* [LinkedIn Engineering](http://engineering.linkedin.com/blog)
* [Microsoft Engineering](https://engineering.microsoft.com/)
* [Microsoft Python Engineering](https://blogs.msdn.microsoft.com/pythonengineering/)
* [Netflix Tech Blog](http://techblog.netflix.com/)
* [Paypal Developer Blog](https://devblog.paypal.com/category/engineering/)
* [Pinterest Engineering Blog](https://medium.com/@Pinterest_Engineering)
* [Quora Engineering](https://engineering.quora.com/)
* [Reddit Blog](http://www.redditblog.com/)
* [Salesforce Engineering Blog](https://developer.salesforce.com/blogs/engineering/)
* [Slack Engineering Blog](https://slack.engineering/)
* [Spotify Labs](https://labs.spotify.com/)
* [Twilio Engineering Blog](http://www.twilio.com/engineering)
* [Twitter Engineering](https://blog.twitter.com/engineering/)
* [Uber Engineering Blog](http://eng.uber.com/)
* [Yahoo Engineering Blog](http://yahooeng.tumblr.com/)
* [Yelp Engineering Blog](http://engineeringblog.yelp.com/)
* [Zynga Engineering Blog](https://www.zynga.com/blogs/engineering)
* [Rekayasa Instagram](http://instagram-engineering.tumblr.com/)
* [Blog Perangkat Lunak Intel](https://software.intel.com/en-us/blogs/)
* [Blog Teknik Jane Street](https://blogs.janestreet.com/category/ocaml/)
* [Rekayasa LinkedIn](http://engineering.linkedin.com/blog)
* [Rekayasa Microsoft](https://engineering.microsoft.com/)
* [Rekayasa Python Microsoft](https://blogs.msdn.microsoft.com/pythonengineering/)
* [Blog Teknik Netflix](http://techblog.netflix.com/)
* [Blog Pengembang Paypal](https://devblog.paypal.com/category/engineering/)
* [Blog Rekayasa Pinterest](https://medium.com/@Pinterest_Engineering)
* [Blog Reddit](http://www.redditblog.com/)
* [Blog Rekayasa Salesforce](https://developer.salesforce.com/blogs/engineering/)
* [Blog Rekayasa Slack](https://slack.engineering/)
* [Lab Spotify](https://labs.spotify.com/)
* [Blog Rekayasa Twilio](http://www.twilio.com/engineering)
* [Rekayasa Twitter](https://blog.twitter.com/engineering/)
* [Blog Rekayasa Uber](http://eng.uber.com/)
* [Blog Rekayasa Yahoo](http://yahooeng.tumblr.com/)
* [Blog Rekayasa Yelp](http://engineeringblog.yelp.com/)
* [Blog Rekayasa Zynga](https://www.zynga.com/blogs/engineering)
#### Source(s) and further reading
#### Sumber dan bacaan lanjutan
Looking to add a blog? To avoid duplicating work, consider adding your company blog to the following repo:
Ingin menambahkan blog? Untuk menghindari duplikasi kerjaan, pertimbangkan untuk menambahkan blog perusahaan ke repo berikut:
* [kilimchoi/engineering-blogs](https://github.com/kilimchoi/engineering-blogs)