зеркало из
https://github.com/iharh/notes.git
synced 2025-10-29 12:46:06 +02:00
m
Этот коммит содержится в:
родитель
ae2c8b1eec
Коммит
935a44eb74
@ -7,6 +7,10 @@ https://duckdb.org/docs/
|
||||
|
||||
https://duckdb.org/news/
|
||||
|
||||
books
|
||||
AuburyLetcher - Getting Started with DuckDB
|
||||
1227CFF0C4277383D6AA6D71976ABCA3
|
||||
|
||||
2024
|
||||
https://www.pgrs.net/2024/03/21/duckdb-as-the-new-jq/
|
||||
https://www.postgresql.org/docs/current/functions-json.html
|
||||
|
||||
@ -1,6 +1,26 @@
|
||||
Если мы хотим, чтобы наша база данных работала эффективно и производительно, то за ней нужно следить, выявлять неоптимальные запросы и различные аномалии. В этом нам и поможет представление pg_stat_all_tables.
|
||||
*********************************************************************************************
|
||||
Например, с помощью вот такого запроса мы можем найти топ 5 таблиц, по которым чаще всего происходило последовательное сканирование:
|
||||
|
||||
pg_stat_all_tables покажет нам статистику по всем таблицам базы данных (системным и пользовательским), покажет кол-во последовательных и индексных сканирований, операций по удалению, обновлению и вставки строк, а также кол-во "мертвых" строк и статус операций VACUUM и ANALYZE. Короче очень полезно представление 🤓
|
||||
SELECT
|
||||
schemaname, relname,
|
||||
seq_scan, seq_tup_read,
|
||||
seq_tup_read / seq_scan as avg_seq_tup_read
|
||||
FROM pg_stat_all_tables
|
||||
WHERE seq_scan > 0
|
||||
ORDER BY 5 DESC LIMIT 5;
|
||||
|
||||
Зная, какие запросы выполняются к таким таблицам, можно вычислить неоптимальный запрос.
|
||||
|
||||
Если предыдущие запросы не дали ни каких результатов и у вас все хорошо оптимизированно,
|
||||
то подсказу может дать колонка calls в представлении pg_stat_statements.
|
||||
Эта колонка покажет как часто вызывался запрос.
|
||||
Может случится так, что запрос вызывается слишком часто из-за каких-то сбоев в приложении или неоптимального кода, что приводит к сильной загрузке CPU
|
||||
*********************************************************************************************
|
||||
Если мы хотим, чтобы наша база данных работала эффективно и производительно, то за ней нужно следить, выявлять неоптимальные запросы и различные аномалии.
|
||||
В этом нам и поможет представление pg_stat_all_tables.
|
||||
|
||||
pg_stat_all_tables покажет нам статистику по всем таблицам базы данных (системным и пользовательским), покажет кол-во последовательных и индексных сканирований,
|
||||
операций по удалению, обновлению и вставки строк, а также кол-во "мертвых" строк и статус операций VACUUM и ANALYZE. Короче очень полезно представление 🤓
|
||||
|
||||
Давайте рассмотрим несколько полезных запросов к этому представлению.
|
||||
|
||||
@ -80,4 +100,6 @@ n_dead_tup DESC;
|
||||
|
||||
Запрос покажет кол-во "мертвых" строк на таблицах, а также время последнего прихода AUTOVACUUM в таблицу.
|
||||
|
||||
Как видите представление pg_stat_all_tables очень полезно для анализа статистики таблиц баз данных PostgreSQL. Конечно это не все возможные полезные запросы к этому представлению, в будущих постах будем публиковать и другие запросы, которые смогут на помочь в деле оптимизации производительности PostgreSQL 🧐
|
||||
Как видите представление pg_stat_all_tables очень полезно для анализа статистики таблиц баз данных PostgreSQL.
|
||||
Конечно это не все возможные полезные запросы к этому представлению, в будущих постах будем публиковать и другие запросы,
|
||||
которые смогут на помочь в деле оптимизации производительности PostgreSQL 🧐
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
2024
|
||||
OTUSOnlineEdu - Lavlinskiy - Linux Network Diagnostics Utilities 10:00 of 1:48:33
|
||||
https://www.youtube.com/watch?v=o5aEP_9VYm8
|
||||
2022
|
||||
ByteByteGo - What is OSI Model | Real World Examples of 4:44
|
||||
https://www.youtube.com/watch?v=0y6FtKsg6J4
|
||||
|
||||
8
pl/cpp/libfws/math/geometry/cgal.txt
Обычный файл
8
pl/cpp/libfws/math/geometry/cgal.txt
Обычный файл
@ -0,0 +1,8 @@
|
||||
https://www.cgal.org/
|
||||
https://github.com/CGAL/cgal
|
||||
|
||||
https://doc.cgal.org/latest/Manual/index.html
|
||||
https://cgal.geometryfactory.com/CGAL/doc/master/Manual/index.html
|
||||
https://cgal.geometryfactory.com/CGAL/testsuite/
|
||||
|
||||
https://github.com/CGAL/cgal/wiki/Guidelines
|
||||
@ -1,5 +1,5 @@
|
||||
2024
|
||||
JPoint - Volyhin - System Design Interview ru 38:00 of 49:46
|
||||
JPoint - Volyhin - System Design Interview ru of 49:46
|
||||
https://www.youtube.com/watch?v=RAMWRgt-3G0
|
||||
! functional req - answer q "what"
|
||||
! non-functional req - answer q "how much"
|
||||
@ -8,6 +8,8 @@ JPoint - Volyhin - System Design Interview ru 38:00 of 49:46
|
||||
! snowflake-param, ? id-generator
|
||||
! uuid approach bad: it is not long, big, random, not ordered
|
||||
! snowflake: 64b, 41b timestamp, 10b workder_id, 12b counter
|
||||
! 41:00 - bucket4j - token bucket algo
|
||||
! 43:00 - geohash, quadtree
|
||||
2023
|
||||
JPoint - Maslov - System Design of 46:38
|
||||
https://www.youtube.com/watch?v=popkBBjbAv8
|
||||
|
||||
@ -1,9 +1,23 @@
|
||||
https://github.com/heynickc/awesome-ddd
|
||||
|
||||
books
|
||||
2021
|
||||
Vlad Konovalov - Learning Domain-Driven Design
|
||||
4F6FC3E2CE3FB49FDA969A126A42C899
|
||||
7F73B4FDC4241131CD44C7DEE74272B3
|
||||
|
||||
2024
|
||||
SpringIO - Implementing Domain Driven Design with Spring by Maciej Walkowiak 37:00 of 50:17
|
||||
https://www.youtube.com/watch?v=VGhg6Tfxb60
|
||||
https://speakerdeck.com/maciejwalkowiak/implementing-domain-driven-design-with-spring
|
||||
https://github.com/maciejwalkowiak/implementing-ddd-with-spring-talk
|
||||
2023
|
||||
Devoxx - REST next level : Crafting domain driven web APIs By Julien Topçu 0:00 of 50:52
|
||||
https://www.youtube.com/watch?v=bHc8Gudrhdo
|
||||
2022
|
||||
SpringIO - Getting modules right with Domain-driven Design by Michael Plöd @ Spring I/O 2022 0:00 of 47:04
|
||||
https://www.youtube.com/watch?v=Q_0XW46IlHY
|
||||
https://speakerdeck.com/mploed/getting-modules-right-with-domain-driven-design?slide=89
|
||||
https://learn.microsoft.com/ru-ru/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/
|
||||
2020
|
||||
https://habr.com/ru/companies/dododev/articles/489352/
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
2024
|
||||
SpringIO - IntelliJ IDEA Tips and Tricks for Spring Developers by Anton Arhipov 15:00 of 56:15
|
||||
SpringIO - IntelliJ IDEA Tips and Tricks for Spring Developers by Anton Arhipov 29:00 of 56:15
|
||||
https://www.youtube.com/watch?v=1kum1N_-cb0
|
||||
https://www.jetbrains.com/idea/spring/
|
||||
C-E - Recent Files (with shortcuts)
|
||||
|
||||
@ -6,6 +6,9 @@ https://github.com/MarcGiffing/bucket4j-spring-boot-starter-examples
|
||||
|
||||
https://bucket4j.com/7.5.0/toc.html
|
||||
|
||||
2024
|
||||
https://medium.com/dandelion-tutorials/rate-limiting-with-bucket4j-for-spring-boot-web-1a42af2b8b80
|
||||
https://www.baeldung.com/spring-bucket4j
|
||||
2022
|
||||
JPointJokerAndJUGRu - Bartkov - Complex Rate-Limiting is Just a Bucket4j 0:00 of 48:25
|
||||
https://www.youtube.com/watch?v=OSNFNxgZZ3A
|
||||
@ -18,8 +21,6 @@ https://online-journals.org/index.php/i-joe/article/view/25641
|
||||
https://virendraoswal.com/rate-limit-apis-with-bucket4j-via-java
|
||||
https://github.com/cycorax12/basic-bucket4j-demo
|
||||
https://github.com/cycorax12/basic-bucket4j-demo/blob/main/server/src/main/java/in/virendra/oswal/server/ServerApplication.java
|
||||
2020
|
||||
https://www.baeldung.com/spring-bucket4j
|
||||
2019
|
||||
https://golb.hplar.ch/2019/08/rate-limit-bucket4j.html
|
||||
????
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
2024
|
||||
JPoint - Ilya and Fedor Sazonov - DB Tamer 22:00 of 48:02
|
||||
JPoint - Ilya and Fedor Sazonov - DB Tamer of 48:02
|
||||
https://www.youtube.com/watch?v=mIxr65ZGGFw
|
||||
https://www.youtube.com/watch?v=1T5LjQaWGhQ
|
||||
! 5:20 it is recommended to set hbm logs (vs show_sql=true)
|
||||
@ -23,6 +23,10 @@ JPoint - Ilya and Fedor Sazonov - DB Tamer 22:00 of 48:02
|
||||
! @Transactional
|
||||
! void deleteAllRows();
|
||||
! ... void deleteAllInBatch();
|
||||
! 36:20 - Valkov - PG for Java Developers
|
||||
! https://www.youtube.com/watch?v=mIxr65ZGGFw
|
||||
! hikari
|
||||
! 43:00 pgBouncer ?
|
||||
Amplicode - Lombok Problems with Spring Data JPA 0:00 of 12:00
|
||||
https://www.youtube.com/watch?v=7kdQTh4oOQM
|
||||
Build faster persistence layers with Spring Data JPA 3 by Thorben Janssen @ Spring I/O 2024 0:00 of 49:49
|
||||
|
||||
4
pl/java/libfws/spring/data/jpa/features/mapping/enums.txt
Обычный файл
4
pl/java/libfws/spring/data/jpa/features/mapping/enums.txt
Обычный файл
@ -0,0 +1,4 @@
|
||||
2024
|
||||
https://vladmihalcea.com/java-enum-custom-values/
|
||||
2023
|
||||
https://vladmihalcea.com/the-best-way-to-map-an-enum-type-with-jpa-and-hibernate/
|
||||
@ -5,6 +5,10 @@ https://micrometer.io/docs/observation
|
||||
https://github.com/eugenp/tutorials/tree/master/spring-boot-modules/spring-boot-3-observation
|
||||
|
||||
2024
|
||||
SpringIO - Micrometer Mastery: Unleash Advanced Observability in your JVM Apps by Tommy Ludwig & Jonatan Ivanov 0:00 of 44:38
|
||||
https://www.youtube.com/watch?v=Qyku6cR6ADY
|
||||
https://speakerdeck.com/jonatan_ivanov/2024-05-31-spring-io-micrometer-mastery-unleash-advanced-observability-in-your-jvm-apps
|
||||
https://github.com/jonatan-ivanov/teahouse/tree/2024-springio
|
||||
https://medium.com/javarevisited/tracing-in-spring-boot3-097205dc08f4
|
||||
2023
|
||||
https://www.baeldung.com/spring-boot-3-observability
|
||||
|
||||
Загрузка…
x
Ссылка в новой задаче
Block a user