เบชเบฐเบเบฒเบเบเบต, Habr! เบเปเบญเบเบเบทเป Maxim Vasiliev, เบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเปเบเบฑเบเบเบฑเบเบงเบดเปเบเบฒเบฐเปเบฅเบฐเบเบนเปเบเบฑเบเบเบฒเบเปเบเบเบเบฒเบเบขเบนเป FINCH. เบกเบทเปเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบขเบฒเบเบเบญเบเบเปเบฒเบเบงเปเบฒ, เบเบฒเบเบเปเบฒเปเบเป ElasticSearch, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ 15 เบฅเปเบฒเบเบเปเบฒเบเบฒเบกเปเบ 6 เบเบฒเบเบตเปเบฅเบฐเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฒเบเปเบซเบผเบเบเบฐเบเปเบฒเบงเบฑเบเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเปเบเบญเบเบฅเบนเบเบเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบญเบเปเบฎเบฑเบเปเบเบเบเปเปเบกเบตเบเบทเป, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบต NDA, เบเบงเบเปเบฎเบปเบฒเบซเบงเบฑเบเบงเปเบฒเปเบเบทเปเบญเปเบเบเบญเบเบเบปเบเบเบงเบฒเบกเบเบฐเบเปเปเบเบปเบเบเบธเบเบเบฒเบเบเบตเป. เปเบโเบเบฑเบโเปเบฅเบตเบ.
เปเบเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเบงเปเบ
เปเบ backend เบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเปเบงเบฑเบเปเบเบเปเบเบญเบเบฅเบนเบเบเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบฅเบฐเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบกเบทเบเบท. เปเบเบเบชเปเบฒเบเบเบปเปเบงเปเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเปเบเปเบเบเบงเบฒเบ:
เปเบเบเบฐเบเบงเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบธเบฅเบฐเบเปเบฒเบเปเบฒเบเบงเบเบซเบฅเบฒเบ: เบเบฒเบเบเบทเป, เบเบฒเบเบเปเบฒเบเปเบเบดเบ, เบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบฑเบเบเบญเบเปเบเบดเบเบเบญเบเบเบนเปเปเบเป, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฑเบเบเบถเบเบเปเบฒเบเบงเบเบซเบฅเบฒเบ, เปเบฅเบฐเบเบฑเบเบเปเบฒเปเบเบปเปเบฒเปเบฅเบฐเบชเบปเปเบเบญเบญเบเบเปเปเบกเบนเบเบเบตเปเบเบฑเบเบฅเบฐเบเบปเบเบเบฒเบเบเบญเบ.
เบเบฑเบเบกเบตเบเบฐเบเบงเบเบเบฒเบเบเบตเปเบเบเบฑเบเบเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบเบฒเบเบฅเบนเบเบเปเบฒเปเบฅเบฐเบชเบปเปเบเบกเบฑเบเปเบเบซเบฒเบเบนเปเปเบเป. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบฑเบเบกเบตเบเบฐเบเบงเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฒเบเบเปเบฒเบเปเบเบดเบเปเบฅเบฐเปเบเบเบเบฒเบเปเบเบเบฑเบ.
เบเบฐเบซเบงเบฑเบเบซเบเปเป
เปเบเปเบเบทเปเบญเบเบเบปเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเป PostgreSQL เปเบเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบฝเบงเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเปเปเบเบตเบเบญเบเบกเบฑเบเปเบกเปเบเบกเบฒเบเบเบฐเบเบฒเบเบชเปเบฒเบฅเบฑเบ DBMS: เบเบฒเบเบเบฐเบเบปเบเบเบปเบงเบเบญเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ, เบเบฒเบชเบฒเบเบฒเบเบเบถเบเบเปเปเบกเบนเบเบเบตเปเบเบฑเบเบเบฐเบเบฒ, เปเบเบทเปเบญเบเบกเบทเบเบตเปเบซเบฅเบฒเบเบซเบฅเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ; เบเบงเบโเบเบฑเบโเบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบเบตเปโเบเบตโเบเปโเปเบโเบเบงเบฒเบกโเบเปเบญเบโเบเบฒเบโเบเบญเบโเบเบงเบโเปเบฎเบปเบฒโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเปเบเปโเปเบงโเบฅเบฒโเบเบปเบโเบเบฒเบโเบเบตเปโเบเปเบญเบโเบเปเบฒเบโ.
เบเบงเบเปเบฎเบปเบฒเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเบขเปเบฒเบเปเบเปเบเบดเบเปเบ Postgres: เบเบฒเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบเบซเบฒเบเปเบฒเบง. เปเบเปเบเปเบฒเบเบงเบเบเบนเปเปเบเปเปเบเบตเปเบกเบเบถเปเบ, เปเบฅเบฐเบเปเบงเบเบกเบฑเบเบเปเบฒเบเบงเบเบเปเบฒเบฎเปเบญเบเบเป.
เปเบเบทเปเบญเปเบเบปเปเบฒเปเบ, เบเปเบฒเบเบงเบเบเบญเบเบเบฐเบเบธเบกเบเบฐเบเปเบฒเบเบต 2017 เบขเบนเปเปเบเปเบงเบฑเบเปเบเบเป desktop เบเบฝเบงเปเบกเปเบ 131 เบฅเปเบฒเบ. เปเบเบเบต 2018 - 125 เบฅเปเบฒเบ. เปเบเบเบต 2019 เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ 130 เบฅเปเบฒเบ. เปเบเบตเปเบกเบญเบตเบ 100-200 เบฅเปเบฒเบเบเบฒเบเบชเบฐเบเบฑเบเบกเบทเบเบทเบเบญเบเปเบงเบฑเบเปเบเบเปเปเบฅเบฐเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบกเบทเบเบท, เปเบฅเบฐเบเปเบฒเบ. เบเบฐโเปเบเปโเบฎเบฑเบโเบเปเบฒโเบเบงเบโเบซเบผเบงเบโเบซเบผเบฒเบโเบเบญเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโ.
เปเบกเบทเปเบญเปเบเบเบเบฒเบเปเบเบตเบเปเบซเบเปเบเบถเปเบ, Postgres เบเปเปเบชเบฒเบกเบฒเบเบฎเบฑเบเบกเบทเบเบฑเบเบเบฒเบเปเบซเบผเบเปเบเปเบญเบตเบเบเปเปเปเบ; เบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบกเปเบเป - เบเปเบฒเบเบงเบเบเบฒเบเบชเบญเบเบเบฒเบกเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบฒเบเบปเบ, เปเบเบดเปเบเบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเปเบฒเบเบงเบเบเบฑเบเบชเบฐเบเบตเบเบฝเบเบเป.
เบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบฎเบฑเบโเบฎเบนเปโเบงเปเบฒโเบกเบตโเบเบงเบฒเบกโเบเปเบญเบโเบเบฒเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเปเบเบฑเบโเบฎเบฑเบโเบชเบฒโเบเปเปโเบกเบนเบโเบญเบทเปเบเปโเบเบตเปโเบเบฐโเบเบญเบโเบชเบฐโเบซเบเบญเบโเบเบงเบฒเบกโเบเปเบญเบโเบเบฒเบโเบเบญเบโเบเบงเบโเปเบฎเบปเบฒโเปเบฅเบฐโเปเบญเบปเบฒโเบเบฒเบโเปเบซเบผเบโเบญเบญเบ PostgreSQLโ. Elasticsearch เปเบฅเบฐ MongoDB เบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒเปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเปเบเบฑเบเปเบเปเบเป. เบชเบธเบเบเปเบฒเบเปเบเปเบชเบนเบเปเบชเบเปเบเบเบธเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
- เบเบงเบฒเบกเปเบงเบเบฑเบเบชเบฐเบเบตเบเปเบฒเบเปเบญเบเบงเปเบฒเบเบฐเบฅเบดเบกเบฒเบเบเปเปเบกเบนเบเปเบเบเบฑเบเบเบฐเบเบตเปเบเบตเบเปเบ. เบเปเบงเบ Elastic, เบเบงเบฒเบกเปเบงเบเปเปเบเบถเปเบเบเบฑเบเบเบฐเบฅเบดเบกเบฒเบเบเปเปเบกเบนเบ.
- เบเปเปเบกเบตเบเบฒเบเบเบญเบเบซเบฒเบเปเปเบเบงเบฒเบกเปเบเบฑเบก
เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบฅเบทเบญเบ Elastic เบชเปเบฒเบฅเบฑเบเบเบปเบงเปเบฎเบปเบฒเปเบญเบเปเบฅเบฐเบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบซเบฑเบเบเปเบฝเบ.
เบเปเบฝเบเปเบเบฑเบ Elastic
1. เบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบเปเบฝเบเปเบเบเบเปเบงเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบปเปเบเบซเบฒเบเบธเบเบเบฒเบ. เบฅเบนเบเบเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบธเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบฐเบกเบฒเบ 70 เบเบธเบ, เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเบซเบผเบฒเบเบเบฐเปเบเบเบเบญเบเบเบฒเบเบเบปเปเบเบซเบฒเปเบกเปเบเบเปเบญเบเบเบฒเบเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเปเปเบฅเบฐเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ:
- เบเบปเปเบเบซเบฒเบเปเปเบเบงเบฒเบกเบเบฒเบกเบเบทเปเบเปเบญเบเบเบดเปเบ
- Geosearch เบเบฒเบเปเบเบฅเบฑเบเบชเบฐเปเบตเบเบตเปเปเบซเปเบเบฒเบเบเบธเบเปเบเปเบถเปเบ. เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเบนเปเปเบเปเบเปเบญเบเบเบฒเบเปเบเบดเปเบเบงเปเบฒเบเบธเบเบเบฒเบเปเบเบขเบนเปเปเบเปเบเบฑเบเปเบฎเบทเบญเบเบเบญเบเบฅเบฒเบงเบเบตเปเบชเบธเบ.
- เบเบปเปเบเบซเบฒเบเบฒเบกเบชเบตเปเบซเบผเปเบฝเบกเบเบตเปเปเบซเปเปเบงเป - เบเบนเปเปเบเปเบชเบฐเปเบเบเบฎเบนเบเบชเบตเปเบซเบผเปเบฝเบกเบกเบปเบเปเบเบดเบเปเบเบเบเบตเป, เปเบฅเบฐเบเบธเบเบเบฑเบเปเบปเบเปเบเบฅเบฑเบเบชเบฐเปเบตเบเบตเปเบเบฐเบชเบฐเปเบเบเปเบซเปเบฅเบฒเบงเปเบซเบฑเบ.
- เบเบปเปเบเบซเบฒเปเบเบเบเบฒเบเบเบฑเปเบเบเบญเบเปเบเบตเปเบกเปเบเบตเบก. เบเบธเบเบเบฒเบเบเบฒเบเปเบเบเบเปเบฒเบเบเบฒเบเบเบฑเบเปเบฅเบฐเบเบฑเบเปเบเบเบฒเบเปเบเปเบเบเบฐเปเบเบ
เปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบญเบปเบเบเบฒเบเบเบฑเบเบเบฑเปเบ, เปเบ Postgres เบเบงเบเปเบฎเบปเบฒเบกเบตเปเบซเบผเปเบเบเปเปเบกเบนเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเปเบเบเบเบตเปเปเบฅเบฐเบเปเบฒเบง, เปเบฅเบฐเปเบ Elastic เบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบ Snapshots เบเบฒเบเบเปเปเบกเบนเบเบเบปเปเบเบชเบฐเบเบฑเบ. เบเบงเบฒเบกเบเบดเบเปเบฅเปเบงเปเบกเปเบเบงเปเบฒเปเบเปเบเบทเปเบญเบเบเบปเปเบ Postgres เบเปเปเบชเบฒเบกเบฒเบเบฎเบฑเบเบกเบทเบเบฑเบเบเบฒเบเบเบญเบเบซเบฒเปเบเบทเปเบญเบเปเบเบเบฑเบเบซเบกเบปเบ. เบเปเปเบเบฝเบเปเบเปเบกเบตเบเบฑเบเบชเบฐเบเบตเบซเบผเบฒเบ, เบเบงเบเปเบเบปเบฒเบเบฑเบเบชเบฒเบกเบฒเบเบเบฑเบเบเปเบญเบเบเบฑเบเปเบเป, เบเบฑเปเบเบเบฑเปเบเบเบปเบงเบเปเบฒเบเบปเบเปเบงเบฅเบฒ Postgres เปเบเปเบชเบนเบเปเบชเบเปเบฅเบฐเบเปเปเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบฑเบเบชเบฐเบเบตเปเบเบเบตเปเบเบฐเปเบเป.
2. เบเปเปเปเบเปเบเปเบเบงเปเบกเปเบเบเบฒเบเบเปเบฒเบง. เบชเบดเปเบเบเบดเบกเบเบฒเบเบปเบเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเปเบเบธเบเปเบกเบทเปเปเบเบทเปเบญเบเปเปเปเบซเปเบเบนเปเปเบเปเบชเบนเบเปเบชเบเบเบฒเบเปเบซเบผเปเบเบปเปเบฒเบเบญเบเบเปเปเบกเบนเบ, เบเปเปเบกเบนเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบฎเบฝเบเบเปเบญเบเบเบตเปเบเบฐเบญเบญเบ. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบปเปเบเบซเบฒเบชเปเบฒเบฅเบฑเบ: เบขเบนเปเปเบเปเบงเบฑเบเปเบเบเปเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบปเปเบเบซเบฒเปเบเบเบเบฒเบเบเบฑเบเบเบนเปเบเปเปเบเบงเบฒเบก, เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเปเบเบทเปเบญเบกเบเปเปเบเบปเบงเบเบญเบเปเบเบตเปเบกเปเบเบตเบก, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบงเบเบกเบฑเบเบเบฑเบเปเบฎเบฑเบเบเปเบฒเบ Elastic.
3. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบธเบฅเบฐเบเปเบฒ. เบเบนเปเปเบเปเบชเบฒเบกเบฒเบเบเบทเปเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบชเบฐเปเบเบฒเบฐเบขเบนเปเปเบเปเบงเบฑเบเปเบเปเบฅเบฐเปเบเบปเปเบฒเบฎเปเบงเบกเปเบเบเบฒเบเบเบฑเบเบฅเบฒเบเบงเบฑเบ. เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบทเปเบเบฑเปเบเบเปเบฒเบง, เบเบงเบเปเบฎเบปเบฒเบเบฐเบกเบงเบเบเบปเบเบเปเปเบกเบนเบเบเปเบฒเบเบงเบเบซเบฅเบฒเบ, เปเบเบเบชเบฐเปเบเบฒเบฐเปเบเบเปเบฒเบเบญเบฒเบเบดเบเปเบฅเบฐเบงเบฑเบเบเบฑเบ. เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบเบเบฝเบ, เบเปเบฒเบซเบฒเบเบงเปเบฒเปเบเบกเบทเปเบเบปเบเบเบฐเบเบดเบเปเบฒเบเบงเบเบเบญเบเบเบฒเบเบเบทเปเปเบกเปเบเบเบฒเบเบเปเบญเบเบเบฐเบกเบฒเบ 1,5-2 เบฅเปเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบงเบฑเบเบเบฑเบเบเบปเบงเปเบฅเบเบชเบฒเบกเบฒเบเบเบฑเบเบฅเบธ 53 เบฅเปเบฒเบ.
เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบเปเปเบกเบนเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเปเบเบเปเบฒเบเบงเบเปเบงเบฅเบฒเบเปเบฒเปเบชเบธเบเบเบตเปเบเบนเปเปเบเปเบเปเปเบกเบฑเบเบฅเปเบเปเบฒเบซเบผเบฒเบเบกเบทเปเบชเปเบฒเบฅเบฑเบเบเบปเบเปเบเปเบฎเบฑเบ. เบเปเปเบกเบตเบเบฒเบเบเบตเปเบเบฐเบเบฑเบเบฅเบธเบเปเบฒเบเบปเบเปเบงเบฅเบฒเบเบฑเปเบเบเปเบฒเบงเบเปเบฒเบ Postgres - เบเบงเบเปเบฎเบปเบฒเบกเบฑเบเบเบฐเปเบเปเบฎเบฑเบเบเบฑเบ, เปเบฅเบฐเปเบเบเบฐเบเบฐเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฑเบเบซเบกเบปเบ, เบเบนเปเปเบเปเบเปเปเบชเบฒเบกเบฒเบเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเปเบเปเบฎเบฑเบเบฅเบฒเบเบงเบฑเบเบซเบผเบทเบเปเป. เบเบตเปเบเปเปเปเบกเปเบเปเบฅเบทเปเบญเบเบเบตเปเบซเบเปเบฒเบเปเปเบเบชเปเบฒเบฅเบฑเบเบเบธเบฅเบฐเบเบดเบ, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเบเบเบฒเบเบเบธเบเปเบเปเบเปเบ Elasticsearch.
เปเบฅเบเบฐเปเบงเบฅเบฒ
เบเบฝเบงเบเบตเปเบเบฒเบเบญเบฑเบเปเบเบเบเบทเบเบเบฑเปเบเบเปเบฒเบเบฒเบกเปเบซเบเบเบฒเบ, เบญเบตเบเบเบฒเบกเปเบเบทเปเบญเบเปเบเบเปเปเปเบเบเบตเป:
- เบเบธเบเบเบฒเบ. เบเบฑเบเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบเบฒเบเปเบซเบผเปเบเบเบฒเบเบเบญเบ, เบเบงเบเปเบฎเบปเบฒเปเบเบตเบเบเบปเบงเบเบฒเบเบญเบฑเบเปเบเบเบเบฑเบเบเบต.
- เบเปเบฒเบง. เบเบฑเบเบเบตเบเบตเปเบเปเบฒเบงเปเบเบเบทเบเบเบฑเบเปเบเปเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเป, เบกเบฑเบเบเบฐเบเบทเบเบชเบปเปเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบซเบฒ Elastic.
เบญเบตเบเปเบเบทเปเบญ เปเบถเปเบ เบกเบฑเบเบเบธเปเบกเบเปเบฒเบเบตเปเบเบฐเบเปเบฒเบงเปเบเบดเบเบเปเปเบเบตเบเบญเบ Elastic. เปเบ Postgres, เปเบกเบทเปเบญเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบฅเปเบเปเบฒเบเบปเบเบเปเบงเบฒเบกเบฑเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบเบถเบเบเบฑเบเบซเบกเบปเบเบเปเบงเบเบเบงเบฒเบกเบเบทเปเบชเบฑเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบปเปเบ 10 เบเบฑเบเบเบฑเบเบเบถเบเปเบเบซเบฒ Elastic เปเบฅเบฐเปเบฅเบตเปเบกเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบต, เปเบเบเบเปเปเบเปเบญเบเบฅเปเบเปเบฒเบเบฒเบเบเบฑเบเบเบถเบเบเบตเปเบเบฐเปเบเบเบขเบฒเบเปเบซเป Shards เบเบฑเบเบซเบกเบปเบ. เปเบเปเบเบญเบ, เบเบฒเบ Shard เบซเบผเบท Replica เบญเบฒเบเบเบฐเบเปเปเปเบซเบฑเบเบเปเปเบกเบนเบเบเบฑเบเบเบต, เปเบเปเปเบงเปเบเบตเปเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐเบชเบฒเบกเบฒเบเปเบเปเปเบเป.
เบงเบดเบเบตเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ
เบกเบต 2 เบงเบดเบเบตเบเบตเปเบเบฐเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฑเบ Elastic:
- เบเปเบฒเบเบฅเบนเบเบเปเบฒเบเบทเปเบเปเบกเบทเบญเบเบเปเบฒเบ TCP. เบเบปเบเบเบฑเบเบเบทเปเบเปเบกเบทเบญเบเปเบกเปเบเบเปเบญเบเปเบเบฒเบเปเบ: เบกเบฑเบเบเปเปเปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบญเบตเบเบเปเปเปเบ, เปเบฅเบฐ syntax เบเบญเบเบกเบฑเบเบเปเปเบชเบฐเบเบงเบเบซเบผเบฒเบ. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบเบเปเปเปเบเปเปเบเปเบกเบฑเบเปเบฅเบฐเบเบฐเบเบฒเบเบฒเบกเบเบฐเบเบดเปเบกเบกเบฑเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ.
- เบเปเบฒเบเบญเบดเบเปเบเบตเปเบเบ HTTP เบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบฑเบเบเปเบฒเบฎเปเบญเบเบเป JSON เปเบฅเบฐ syntax Lucene. เบญเบฑเบเบชเบธเบเบเปเบฒเบเปเบกเปเบเปเบเบทเปเบญเบเบเบฑเบเบเปเปเบเบงเบฒเบกเบเบตเป Elastic เปเบเป. เปเบเบเบปเบงเปเบฅเบทเบญเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบ Batch เบเปเบฒเบเบเปเบฒเบฎเปเบญเบเบเป JSON เบเปเบฒเบ HTTP. เบเบตเปเปเบกเปเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเบฐเบเบฒเบเบฒเบกเปเบเป.
เบเปเบเบญเบเปเบเบเบฑเบเบเบฒเบเปเบเปเบเบญเบ HTTP, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบตเปเบชเบฐเบซเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ asynchronous เบเบญเบเบฅเบนเบเบเปเบฒ HTTP. เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเบเบฐเปเบซเบเบเบเบฒเบ batch เปเบฅเบฐ asynchronous API, เปเบเบดเปเบเปเบเบเบตเปเบชเบธเบเบเปเปเปเบซเปเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเบนเบ, เปเบเบดเปเบเปเบเปเบเปเบงเบเบซเบผเบฒเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบกเบทเปเบเบญเบเบเบฒเบเบชเบปเปเบเปเบชเบตเบกเบเบฒเบเบเบฐเบซเบเบฒเบเปเบซเบเป (เปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเบเปเบฒเบเบฅเบธเปเบกเบเบตเป)
เบเบฒเบเบเบปเบงเปเบฅเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบเบเบฝเบ:
- เบเบฐเบขเบฑเบเบเบนเปเปเบเปเบเบตเปเปเบเปเบฎเบฑเบเบฅเบฒเบเบงเบฑเบเปเบ Postgres เปเบ 20 เบเบฐเบเบนเปเปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฑเบเบเบธเปเบก: 460713 เบเบฑเบเบเบถเบเปเบ 42 เบงเบดเบเบฒเบเบต
- Elastic + reactive client เบชเปเบฒเบฅเบฑเบ 10 threads + batch เบชเปเบฒเบฅเบฑเบ 1000 เบญเบปเบเบเบฐเบเบญเบ: 596749 เบเบฑเบเบเบถเบเปเบ 11 เบงเบดเบเบฒเบเบต
- Elastic + reactive client เบชเปเบฒเบฅเบฑเบ 10 threads + batch เบชเปเบฒเบฅเบฑเบ 1000 เบญเบปเบเบเบฐเบเบญเบ: 23801684 เบเบฑเบเบเบถเบเปเบ 4 เบเบฒเบเบต
เบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฝเบเบเบปเบงเบเบฑเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเป HTTP เบเบตเปเบชเปเบฒเบ JSON เปเบเบฑเบ Batch/non-Batch เปเบฅเบฐเบชเบปเปเบเบเปเบฒเบเบฅเบนเบเบเปเบฒ HTTP เปเบเบเปเปเบเบฒเบก, เบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ. เบเบญเบเบเบฑเปเบเบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเบฐเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเป synchronously เบซเบผเบท asynchronously.
เปเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบเปเบเปเบฅเบนเบเบเปเบฒเบเบฒเบเบเบปเบเบชเบปเปเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ, เปเบเปเบเบตเปเปเบกเปเบเบเบฝเบเปเบเปเบเบฒเบ refactoring เบเบฑเบเบเบตเบเบฑเบเปเบ. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบฅเบนเบเบเปเบฒเบเบญเบเบเบปเบเปเบญเบ, เบชเปเบฒเบเบเบถเปเบเบเบปเบเบเบทเปเบเบเบฒเบเบเบญเบ Spring WebClient, เบเบทเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบธเบเปเบเปเบ.
เบเบฒเบเบชเบปเปเบเปเบชเบตเบกเบเบฒเบเปเบซเบเป
เบซเบเบถเปเบเบเบฑเปเบเบเปเปเบเบต, เปเบเบเบเบฒเบเปเบเบฑเบเปเบเบปเปเบฒเบเบฒเบเบเบฒเบเบชเบปเปเบเปเบชเบตเบกเบเบฒเบเปเบซเบเปเบชเปเบฒเบฅเบฑเบเบเบนเปเปเบเป - เบเบตเปเปเบกเปเบ Highload เบเบฝเบงเบเบฑเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบนเปเปเบเปเบซเบผเบฒเบเบชเบดเบเบฅเปเบฒเบเบเบปเบเบเปเบญเบกเปเบเบฑเบ.
เปเบเบเบเบปเบเบเบฐเบเบด, เบเบฒเบเปเบซเบผเบเบชเบนเบเบชเบธเบเปเบเบตเบเบเบถเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบงเบฑเบเบเบฑเบ, เปเบเปเบเบฒเบเบชเบปเปเบเปเบชเบตเบกเบเบตเปเปเบกเปเบเบขเบนเปเปเบเบฅเบฐเบเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบซเบกเบปเบ. เบเบตเบเบตเปเบเปเบฒเบเบกเบฒ, เปเบเบกเบทเปเบชเบปเปเบเปเบชเบตเบกเบเบฒเบเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเบฒเบ 27 เบซเบเปเบงเบ. เบเปเปเบกเบนเบเบเบฑเปเบเบเปเบฒเบงเปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเบเบงเปเบฒเปเบเบดเปเบเบเบปเปเบงเปเบกเบเปเบเบทเปเบญเบเบฐเบกเบงเบเบเบปเบ, เปเบเบดเปเบเบเปเปเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบเปเปเบชเบฐเบเบงเบเบเปเปเบเบนเปเปเบเป. เบเบนเปเปเบเปเปเบเปเบฎเบฑเบเบฅเบฒเบเบงเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบกเบตเบชเปเบงเบเบฎเปเบงเบก, เปเบเปเบงเปเบฒเบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบงเปเบฒเบเบฐเบเบงเบเบเบฒเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบฅเบฑเปเบ.
เปเบเบเบญเบเบเบปเปเบเบเบญเบ 2019, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบงเปเบฒ ElasticSearch เปเบกเปเบเบเปเบฒเปเบเบฑเบ. เบชเปเบฒเบฅเบฑเบเบเบตเบเบฑเบเบซเบกเบปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฑเบเบเบฑเปเบเบเบฒเบเบเบธเบเปเบเปเบเบเปเปเบกเบนเบเบเบตเปเปเบเปเบฎเบฑเบเปเบ Elastic เปเบฅเบฐเบเบปเบเบเบฐเบฅเบดเบเบเบญเบเบกเบฑเบเปเบซเปเบเบฑเบ API เบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบกเบทเบเบทเปเบฅเบฐเปเบงเบฑเบเปเบเบเป. เบเบฑเปเบเบเบฑเปเบ, เปเบเบเบตเบเปเปเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบชเบปเปเบเปเบชเบตเบกเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบ 15 เบฅเบฒเบเบเบฒเบเบเบฒเบเปเบ 131 เบเบฒเบเบต.
เปเบเบทเปเบญเบเบเบฒเบเบเบงเบเปเบฎเบปเบฒเบกเบตเบซเบผเบฒเบเบเบปเบเบเบตเปเบเปเบญเบเบเบฒเบเบเบทเปเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเปเบฅเบฐเปเบเบปเปเบฒเบฎเปเบงเบกเบเบฒเบเบเบฑเบเบฅเบฒเบเบงเบฑเบเปเบเปเบเปเบกเบเบฑเปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบตเปเปเบกเปเบเบกเบฒเบเบเบฐเบเบฒเบเบเบปเปเบงเบเบฒเบง. เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเบเปเปเบกเบนเบเปเบเบเบฐเบเบธเบเบฑเบเปเบเบซเบฒ Elastic, เปเบเปเปเบเบญเบฐเบเบฒเบเบปเบเบเบงเบเปเบฎเบปเบฒเบงเบฒเบเปเบเบเบเบตเปเบเบฐเปเบญเบเบเปเปเบกเบนเบเบเบตเปเปเบเบฑเบเปเบงเปเบชเปเบฒเบฅเบฑเบเปเบเบทเบญเบเบเบตเปเบเปเบฒเบเบกเบฒเปเบเบซเบฒ Postgres เปเบเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฒเบงเบญเบ. เปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเบเปเปเบญเบธเบเบเบฑเบเบเบฑเบเบเบฐเบเบต Elastic, เปเบเบดเปเบเบเบฑเบเบกเบตเบเปเปเบเปเบฒเบเบฑเบเบเบญเบเบกเบฑเบ.
เบเบปเบเบชเบฐเบซเบผเบธเบ/เบเบปเบเบชเบฐเบซเบผเบธเบ
เปเบโเบเบฑเบโเบเบธโเบเบฑเบโ, เบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบเบปเบโเบเปเบฒเบโเบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโเบเบฑเบโเบซเบกเบปเบโเบเบตเปโเบเบงเบโเปเบฎเบปเบฒโเบเปเบญเบโเบเบฒเบ Elastic เปเบฅเบฐโเปเบเปโเบขเบธเบโเปเบเบปเบฒโเบชเปเบฒโเบฅเบฑเบโเบเบฑเบโเบเบธโเบเบฑเบโ. เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบชเปเบฒเบเบเบฑเบเบชเบฐเบเบตเปเบ Elastic เบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบปเบเบเบตเปเบเบปเปเบเบเปเปเบ Postgres, เปเบเบดเปเบเปเบเปเปเบงเบฅเบฒเปเบเบเบฒเบเปเบซเบผเบเบเบญเบเบเบนเปเปเบเป.
เปเบเบญเบฐเบเบฒเบเบปเบ, เบเบงเบเปเบฎเบปเบฒเบงเบฒเบเปเบเบเบเบตเปเบเบฐเปเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบฒเบเบฎเปเบญเบเบเปเบเปเปเบกเบนเบเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบผเบฒเบเบซเบผเบฒเบเปเบเบตเบเปเบเปเบฅเบฐเบเบทเบเบเบปเปเบเบซเบฒเบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบงเบเบเปเบฅเปเบฒเบเบตเปเบเปเปเบเปเบฒเบเบฑเบ. เบเบตเปเบเปเปเปเบกเปเบเบงเบฝเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ Postgres เบญเบตเบเบเปเปเปเบ.
เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบฒเบเบเบญเบเบซเบฒเบเปเปเบเบงเบฒเบกเปเบเบฑเบกเปเบเบซเบเปเบฒเบเบตเปเบซเบผเบทเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบตเปเบเบทเปเบญเบเปเบเบเบฒเบเบเบญเบเบซเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบซเบผเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบฎเบนเปเปเบฅเปเบงเบงเปเบฒเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเปเบเบฑเบ Elastic.
โโโ
เบเบญเบเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบญเปเบฒเบ. เบเปเบฒเบเปเบฅเบดเบชเบฑเบเบเบญเบเบเปเบฒเบเบเบฑเบเปเบเป ElasticSearch เปเบฅเบฐเบกเบตเบเปเบฅเบฐเบเบตเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเปเบฒเบเปเบญเบ, เบเบฐเบฅเบธเบเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบกเบฑเบเบเบฐเปเบเบฑเบเบซเบเปเบฒเบชเบปเบเปเบเบเบตเปเบเบฐเบฎเบนเปเบงเปเบฒเบเบปเบเบญเบทเปเบเปเบฎเบฑเบเปเบเบงเปเบ :)
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com