← All posts tagged PostgreSQL

1. А почему никто не додумался прикрутить JIT-компиляцию к PL/pgSQL? Вообще, кажется, стрейтфорварднейшая задача, бери LLVM и переводи один язык в другой, почти эквивалентный.
2. Логично вытекающий из предыдущего пункта вопрос: а почему к PostgreSQL в качестве языка для хранимых процедур никто не прикрутил чего-нибудь функционального? Функциональный язык для хранимых процедур кажется намного более подобающим выбором, чем императивный.

instagram-engineering.tumblr.com — рассказ про архитектуру Instagram.

Краткое резюме:

1. Amazon EC2 — для хостинга.
2. Ubuntu 11.04 — основная OS.
3. PostgreSQL (12 Quadruple Extra-Large High-Memory nodes + 12 replicas) — для основной части данных. Pgbouncer для пулинга.
4. Redis (several Quadruple Extra-Large Memory nodes) — для фидов и сессий.
5. PostGIS → Apache Solr — для гео-поиска.
6. Memcached (6 instances) — для... ни за что не угадаете. Не используют Amazon Elastic Cache, потому что невыгодно экономически.
7. Django (>25 High-CPU Extra Large nodes) over Gunicorn — для динамики.
8. Nginx (3 nodes) позади Amazon Elastic Load Balancer (проверяющим их доступность) — для балансировки загрузки. ELB также и терминирует SSL.
9. Amazon Route 53 — для DNS.
10. Fabric — для автоматизации деплоймента.
11. Gearman — для очереди задач. PyAPNS — PUSH-нотификации.
12. Munin — метрики. Sentry — error reporting. Pingdom — внешний мониторинг доступности. PagerDuty — информация о инцидентах.