ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому
ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€

πŸ”₯ Elasticsearch ΠΈΠ»ΠΈ PostgreSQL: Π·Π°Ρ‡Π΅ΠΌ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ?

πŸ”₯ Elasticsearch ΠΈΠ»ΠΈ PostgreSQL: Π·Π°Ρ‡Π΅ΠΌ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ? Π’ DevOps-сообщСствС Ρ‚Ρ€Π΅Π½Π΄ «просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ PostgresΒ» с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π³ΠΎΠ΄ΠΎΠΌ становится всё Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Команда TigerData Π²Ρ‹ΠΊΠ°Ρ‚ΠΈΠ»ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ 10 Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΠΎΠ»Π΅ΠΉ ΠΏΡ€ΠΈ эксплуатации Elasticsearch Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ ΠΈ объяснили, ΠΊΠ°ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° PostgreSQL ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ. Π‘ΠΏΠΎΠΉΠ»Π΅Ρ€: с Π²Π΅Π»ΠΈΠΊΠΎΠΉ силой (ES) ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ вСликая опСрационная боль. Π’ΠΎΡ‚ лишь нСсколько классичСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅: β˜• JVM Garbage Collection (GC). Elasticsearch Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Java, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Π½Π΅Π·Π°ΠΏΠ½Ρ‹Π΅ ΠΏΠ°ΡƒΠ·Ρ‹ "stop-the-world" ΠΏΡ€ΠΈ сборкС мусора - Ρ‡Π°ΡΡ‚ΡŒ вашСй ΠΆΠΈΠ·Π½ΠΈ. Если Π½ΠΎΠ΄Π° «подвисаСт» Π½Π°Π΄ΠΎΠ»Π³ΠΎ, кластСр считаСт Π΅Π΅ ΠΌΠ΅Ρ€Ρ‚Π²ΠΎΠΉ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ паничСски ΠΏΠ΅Ρ€Π΅Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π˜Ρ‚ΠΎΠ³: каскадный ΠΎΡ‚ΠΊΠ°Π· Π½Π° пустом мСстС. Postgres написан Π½Π° C, управляСт ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈ Π½Π΅ страдаСт ΠΎΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ„Ρ€ΠΈΠ·ΠΎΠ². 🧩 ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ сайзинг ΡˆΠ°Ρ€Π΄ΠΎΠ² Π² ES - это Π±ΠΎΠΌΠ±Π° Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ дСйствия. Блишком малСнькиС ΡˆΠ°Ρ€Π΄Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΠ²Π΅Ρ€Ρ…Π΅Π΄, слишком большиС приводят ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ с рСбалансировкой ΠΈ восстановлСниСм. πŸ”„ ETL-ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρ‹ ΠΈ синхронизация. Π”Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ основныС Π΄Π°Π½Π½Ρ‹Π΅ Π² рСляционной Π‘Π” ΠΈ постоянно ΠΏΠ΅Ρ€Π΅Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ES для поиска - это всСгда костыли, риск рассинхрона, Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ (lag) ΠΈ лишняя Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΡ‚ΠΊΠ°Π·Π°. πŸ“ˆ ΠžΠ²Π΅Ρ€Ρ…Π΅Π΄ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. ES Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·ΠΎΠΎΠΏΠ°Ρ€ΠΊΠ° инструмСнтов ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ ΡƒΠ·ΠΊΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ экспСртизы для поддСрТания кластСра Π² Π·Π΅Π»Π΅Π½ΠΎΠΌ статусС. Какой Π²Ρ‹Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π°Π²Ρ‚ΠΎΡ€Ρ‹? Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠ»Π½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹ΠΉ ES просто Π½Π΅ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ PostgreSQL (благодаря ΠΌΠΎΡ‰Π½Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌ Π²Ρ€ΠΎΠ΄Π΅ pg_textsearch с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ BM25 ΠΈ pgvector для Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска) ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ справляСтся с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ поиска. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ ACID-Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π΅Π΄ΠΈΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΏΡ€Π°Π²Π΄Ρ‹ ΠΈ прСдсказуСмоС ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ рСсурсов Π±Π΅Π· Π²ΠΎΠ·Π½ΠΈ с настройкой JVM. РСкомСндуСтся ΠΊ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΡŽ всСм, ΠΊΡ‚ΠΎ устал Π΄Π΅Π±Π°ΠΆΠΈΡ‚ΡŒ кластСры ES ΠΏΠΎ Π½ΠΎΡ‡Π°ΠΌ ΠΈ задумываСтся ΠΎ консолидации инфраструктуры. https://www.tigerdata.com/blog/10-elasticsearch-production-issues-how-postgres-avoids-them #devops #elasticsearch #postgresql #database #architecture #backend Подпишись πŸ‘‰ @i_DevOps

Канал Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠœΠ°ΠΊΡΠΈΠΌΠ΅Ρ‚Π΅Ρ€Π°

3Β 014 подписчиков Β· IT ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π°

Π•Ρ‰Ρ‘ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ Β«IT ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΒ»

Π§ΠΈΡ‚Π°Ρ‚ΡŒ дальшС

Π”Π²Π° Ρ€Π°Π·Π° Π² нСдСлю свСТиС посты этого ΠΊΠ°Π½Π°Π»Π° β€” Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈ Π² Π»ΠΈΡ‡Π½ΡƒΡŽ Π»Π΅Π½Ρ‚Ρƒ. Π‘Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска ΠΊΠ°Π½Π°Π»Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.